Skip to content

Commit 44c88f9

Browse files
committed
fix: add mutable payment spec
1 parent 557f065 commit 44c88f9

File tree

3 files changed

+26
-1
lines changed

3 files changed

+26
-1
lines changed

docs/config/dev.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ max_channels = 512
44
channels_find_limit = 200
55
wait_time = 500
66

7-
aggr_throttle = 0
7+
aggr_throttle = 400
88
events_find_limit = 100
99
msgs_find_limit = 10
1010

primitives/src/channel.rs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ use serde::{Deserialize, Deserializer, Serialize};
77
use serde_hex::{SerHex, StrictPfx};
88

99
use crate::big_num::BigNum;
10+
use crate::sentry::Event;
1011
use crate::{AdUnit, EventSubmission, TargetingTag, ValidatorDesc, ValidatorId};
1112
use hex::{FromHex, FromHexError};
1213
use std::ops::Deref;
@@ -145,6 +146,26 @@ pub struct ChannelSpec {
145146
/// An array of AdUnit (optional)
146147
#[serde(default, skip_serializing_if = "Vec::is_empty")]
147148
pub ad_units: Vec<AdUnit>,
149+
#[serde(default, skip_serializing_if = "Vec::is_empty")]
150+
pub price_multiplication_rules: Vec<PriceMultiplicationRules>,
151+
pub price_dynamic_adjustment: bool,
152+
}
153+
154+
#[derive(Serialize, Deserialize, Debug, Clone)]
155+
#[serde(rename_all = "camelCase")]
156+
pub struct PriceMultiplicationRules {
157+
#[serde(default, skip_serializing_if = "Option::is_none")]
158+
multiplier: Option<f64>,
159+
#[serde(default, skip_serializing_if = "Option::is_none")]
160+
amount: Option<BigNum>,
161+
#[serde(default, skip_serializing_if = "Vec::is_empty")]
162+
ev_type: Vec<Event>,
163+
#[serde(default, skip_serializing_if = "Vec::is_empty")]
164+
publisher: Vec<ValidatorId>,
165+
#[serde(default, skip_serializing_if = "Vec::is_empty")]
166+
os_type: Vec<String>,
167+
#[serde(default, skip_serializing_if = "Vec::is_empty")]
168+
country: Vec<String>,
148169
}
149170

150171
#[derive(Serialize, Deserialize, Debug, Clone)]
@@ -362,3 +383,5 @@ pub mod postgres {
362383
to_sql_checked!();
363384
}
364385
}
386+
387+
pub fn match_price() {}

primitives/src/util/tests/prep_db.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@ lazy_static! {
8181
withdraw_period_start: Utc.timestamp_millis(4_073_414_400_000),
8282
ad_units: vec![],
8383
pricing_bounds: Some(PricingBounds {impression: None, click: Some(Pricing { max: 0.into(), min: 0.into()})}),
84+
price_multiplication_rules: Default::default(),
85+
price_dynamic_adjustment: false,
8486
},
8587
}
8688
};

0 commit comments

Comments
 (0)