1use std::borrow::Cow;
2
3pub use defuse_fees::{Pips, PipsOutOfRange};
4use near_sdk::{AccountId, AccountIdRef, near};
5
6#[near(serializers = [borsh, json])]
7#[derive(Debug, Clone)]
8pub struct FeesConfig {
9 pub fee: Pips,
10 pub fee_collector: AccountId,
11}
12
13#[must_use = "make sure to `.emit()` this event"]
14#[near(serializers = [json])]
15#[derive(Debug, Clone)]
16pub struct FeeChangedEvent {
17 pub old_fee: Pips,
18 pub new_fee: Pips,
19}
20
21#[must_use = "make sure to `.emit()` this event"]
22#[near(serializers = [json])]
23#[derive(Debug, Clone)]
24pub struct FeeCollectorChangedEvent<'a> {
25 pub old_fee_collector: Cow<'a, AccountIdRef>,
26 pub new_fee_collector: Cow<'a, AccountIdRef>,
27}