Skip to content

Commit

Permalink
feat(exchange): Update IntentionResolvedDirectTradeFees event
Browse files Browse the repository at this point in the history
Add intention_id to the IntentionResolvedDirectTradeFees event.
This commit resolves galacticcouncil#248.
  • Loading branch information
unordered-set committed May 26, 2021
1 parent 694cce6 commit 35d8ba4
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 38 deletions.
6 changes: 4 additions & 2 deletions pallets/exchange/src/direct.rs
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,8 @@ impl<'a, T: Config> DirectTradeData<'a, T> {
.expect("Cannot fail. Checks should have been done prior to this.");

if transfer.fee_transfer {
Self::send_trade_fee_event(transfer.from, transfer.to, transfer.asset, transfer.amount);
let intention = if transfer.from == &self.intention_a.who { self.intention_a } else { self.intention_b };
Self::send_trade_fee_event(transfer.from, intention, transfer.to, transfer.asset, transfer.amount);
}
}
true
Expand All @@ -260,9 +261,10 @@ impl<'a, T: Config> DirectTradeData<'a, T> {
}

/// Send pallet event after a fee is transferred.
fn send_trade_fee_event(from: &T::AccountId, to: &T::AccountId, asset: AssetId, amount: Balance) {
fn send_trade_fee_event(from: &T::AccountId, intention: &Intention<T>, to: &T::AccountId, asset: AssetId, amount: Balance) {
Pallet::<T>::deposit_event(Event::IntentionResolvedDirectTradeFees(
from.clone(),
intention.intention_id,
to.clone(),
asset,
amount,
Expand Down
6 changes: 4 additions & 2 deletions pallets/exchange/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -147,8 +147,10 @@ pub mod pallet {
),

/// Paid fees event
/// who, account paid to, asset, amount
IntentionResolvedDirectTradeFees(T::AccountId, T::AccountId, AssetId, Balance),
/// who - account which paid feed
/// intention id - intention which was resolved
/// account paid to, asset, amount
IntentionResolvedDirectTradeFees(T::AccountId, IntentionId<T>, T::AccountId, AssetId, Balance),

/// Error event - insuficient balance of specified asset
/// who, asset, intention type, intention id, error detail
Expand Down
68 changes: 34 additions & 34 deletions pallets/exchange/src/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -191,8 +191,8 @@ fn sell_test_pool_finalization_states() {
2000000000000,
)
.into(),
Event::IntentionResolvedDirectTradeFees(user_2, pair_account, asset_b, 2000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_3, pair_account, asset_b, 4000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_2, user_2_sell_intention_id, pair_account, asset_b, 2000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_3, user_3_sell_intention_id, pair_account, asset_b, 4000000000).into(),
xyk::Event::SellExecuted(user_2, 3000, 2000, 1000000000000, 1976336046259).into(),
Event::IntentionResolvedAMMTrade(
user_2,
Expand Down Expand Up @@ -307,8 +307,8 @@ fn sell_test_standard() {
2000000000000,
)
.into(),
Event::IntentionResolvedDirectTradeFees(user_2, pair_account, asset_b, 2000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_3, pair_account, asset_b, 4000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_2, user_2_sell_intention_id, pair_account, asset_b, 2000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_3, user_3_sell_intention_id, pair_account, asset_b, 4000000000).into(),
xyk::Event::SellExecuted(user_2, 3000, 2000, 1000000000000, 1976336046259).into(),
Event::IntentionResolvedAMMTrade(
user_2,
Expand Down Expand Up @@ -420,8 +420,8 @@ fn sell_test_inverse_standard() {
2000000000000,
)
.into(),
Event::IntentionResolvedDirectTradeFees(user_2, pair_account, asset_b, 4000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_3, pair_account, asset_a, 2000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_2, user_2_sell_intention_id, pair_account, asset_b, 4000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_3, user_3_sell_intention_id, pair_account, asset_a, 2000000000).into(),
]);
});
}
Expand Down Expand Up @@ -512,8 +512,8 @@ fn sell_test_exact_match() {
2000000000000,
)
.into(),
Event::IntentionResolvedDirectTradeFees(user_2, pair_account, asset_b, 4000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_3, pair_account, asset_a, 2000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_2, user_2_sell_intention_id, pair_account, asset_b, 4000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_3, user_3_sell_intention_id, pair_account, asset_a, 2000000000).into(),
]);
});
}
Expand Down Expand Up @@ -941,8 +941,8 @@ fn sell_test_single_multiple_sells() {
2000000000000,
)
.into(),
Event::IntentionResolvedDirectTradeFees(user_2, pair_account, asset_b, 4000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_6, pair_account, asset_a, 2000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_2, user_2_sell_intention_id, pair_account, asset_b, 4000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_6, user_6_sell_intention_id, pair_account, asset_a, 2000000000).into(),
Event::IntentionResolvedDirectTrade(
user_4,
user_3,
Expand All @@ -952,8 +952,8 @@ fn sell_test_single_multiple_sells() {
1000000000000,
)
.into(),
Event::IntentionResolvedDirectTradeFees(user_4, pair_account, asset_b, 2000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_3, pair_account, asset_a, 1000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_4, user_4_sell_intention_id, pair_account, asset_b, 2000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_3, user_3_sell_intention_id, pair_account, asset_a, 1000000000).into(),
xyk::Event::SellExecuted(user_4, asset_a, asset_b, 500000000000, 993044854829).into(),
Event::IntentionResolvedAMMTrade(
user_4,
Expand Down Expand Up @@ -1082,8 +1082,8 @@ fn sell_test_group_sells() {
5000000000000,
)
.into(),
Event::IntentionResolvedDirectTradeFees(user_4, pair_account, asset_b, 10000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_2, pair_account, asset_a, 5000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_4, user_4_sell_intention_id, pair_account, asset_b, 10000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_2, user_2_sell_intention_id, pair_account, asset_a, 5000000000).into(),
Event::IntentionResolvedDirectTrade(
user_4,
user_3,
Expand All @@ -1093,8 +1093,8 @@ fn sell_test_group_sells() {
3000000000000,
)
.into(),
Event::IntentionResolvedDirectTradeFees(user_4, pair_account, asset_b, 6000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_3, pair_account, asset_a, 3000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_4, user_4_sell_intention_id, pair_account, asset_b, 6000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_3, user_3_sell_intention_id, pair_account, asset_a, 3000000000).into(),
xyk::Event::SellExecuted(user_4, asset_a, asset_b, 6000000000000, 11299443450697).into(),
Event::IntentionResolvedAMMTrade(
user_4,
Expand Down Expand Up @@ -1269,8 +1269,8 @@ fn sell_test_mixed_buy_sells() {
3000000000000,
)
.into(),
Event::IntentionResolvedDirectTradeFees(user_4, pair_account, asset_b, 6000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_3, pair_account, asset_a, 3000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_4, user_4_sell_intention_id, pair_account, asset_b, 6000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_3, user_3_sell_intention_id, pair_account, asset_a, 3000000000).into(),
xyk::Event::SellExecuted(user_4, asset_a, asset_b, 8500000000000, 15639353446528).into(),
Event::IntentionResolvedAMMTrade(
user_4,
Expand Down Expand Up @@ -1399,8 +1399,8 @@ fn discount_tests_no_discount() {
3000000000000,
)
.into(),
Event::IntentionResolvedDirectTradeFees(user_4, pair_account, asset_b, 6000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_3, pair_account, asset_a, 3000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_4, user_4_sell_intention_id, pair_account, asset_b, 6000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_3, user_3_sell_intention_id, pair_account, asset_a, 3000000000).into(),
xyk::Event::SellExecuted(user_4, asset_a, asset_b, 8500000000000, 15639353446528).into(),
Event::IntentionResolvedAMMTrade(
user_4,
Expand Down Expand Up @@ -1535,8 +1535,8 @@ fn discount_tests_with_discount() {
3000000000000,
)
.into(),
Event::IntentionResolvedDirectTradeFees(user_4, pair_account, asset_b, 6000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_3, pair_account, asset_a, 3000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_4, user_4_sell_intention_id, pair_account, asset_b, 6000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_3, user_3_sell_intention_id, pair_account, asset_a, 3000000000).into(),
xyk::Event::SellExecuted(user_4, asset_a, asset_b, 8500000000000, 15658130468064).into(),
Event::IntentionResolvedAMMTrade(
user_4,
Expand Down Expand Up @@ -1642,8 +1642,8 @@ fn buy_test_exact_match() {
2000000000000,
)
.into(),
Event::IntentionResolvedDirectTradeFees(user_3, pair_account, asset_a, 2000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_2, pair_account, asset_b, 4000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_3, user_3_sell_intention_id, pair_account, asset_a, 2000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_2, user_2_sell_intention_id, pair_account, asset_b, 4000000000).into(),
]);
});
}
Expand Down Expand Up @@ -1763,8 +1763,8 @@ fn buy_test_group_buys() {
5000000000000,
)
.into(),
Event::IntentionResolvedDirectTradeFees(user_2, pair_account, asset_a, 5000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_4, pair_account, asset_b, 10000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_2, user_2_sell_intention_id, pair_account, asset_a, 5000000000).into(),
Event::IntentionResolvedDirectTradeFees(user_4, user_4_sell_intention_id, pair_account, asset_b, 10000000000).into(),
xyk::Event::BuyExecuted(user_3, asset_b, asset_a, 3000000000000, 1303930316730).into(),
Event::IntentionResolvedAMMTrade(
user_3,
Expand Down Expand Up @@ -2007,8 +2007,8 @@ fn simple_sell_sell() {
1000,
)
.into(),
Event::IntentionResolvedDirectTradeFees(user_2, pair_account, asset_b, 2).into(),
Event::IntentionResolvedDirectTradeFees(user_3, pair_account, asset_a, 1).into(),
Event::IntentionResolvedDirectTradeFees(user_2, user_2_sell_intention_id, pair_account, asset_b, 2).into(),
Event::IntentionResolvedDirectTradeFees(user_3, user_3_sell_intention_id, pair_account, asset_a, 1).into(),
xyk::Event::SellExecuted(2, 3000, 2000, 1500, 2994).into(),
Event::IntentionResolvedAMMTrade(user_2, IntentionType::SELL, user_2_sell_intention_id, 1500, 2994).into(),
]);
Expand Down Expand Up @@ -2096,8 +2096,8 @@ fn simple_buy_buy() {
1000,
)
.into(),
Event::IntentionResolvedDirectTradeFees(user_3, pair_account, asset_a, 1).into(),
Event::IntentionResolvedDirectTradeFees(user_2, pair_account, asset_b, 2).into(),
Event::IntentionResolvedDirectTradeFees(user_3, user_3_sell_intention_id, pair_account, asset_a, 1).into(),
Event::IntentionResolvedDirectTradeFees(user_2, user_2_sell_intention_id, pair_account, asset_b, 2).into(),
]);
});
}
Expand Down Expand Up @@ -2182,8 +2182,8 @@ fn simple_sell_buy() {
2000,
)
.into(),
Event::IntentionResolvedDirectTradeFees(user_2, pair_account, asset_b, 2).into(),
Event::IntentionResolvedDirectTradeFees(user_3, pair_account, asset_b, 4).into(),
Event::IntentionResolvedDirectTradeFees(user_2, user_2_sell_intention_id, pair_account, asset_b, 2).into(),
Event::IntentionResolvedDirectTradeFees(user_3, user_3_sell_intention_id, pair_account, asset_b, 4).into(),
xyk::Event::SellExecuted(2, 3000, 2000, 1000, 1996).into(),
Event::IntentionResolvedAMMTrade(user_2, IntentionType::SELL, user_2_sell_intention_id, 1000, 1996).into(),
]);
Expand Down Expand Up @@ -2272,8 +2272,8 @@ fn simple_buy_sell() {
2000,
)
.into(),
Event::IntentionResolvedDirectTradeFees(user_3, pair_account, asset_b, 2).into(),
Event::IntentionResolvedDirectTradeFees(user_2, pair_account, asset_b, 4).into(),
Event::IntentionResolvedDirectTradeFees(user_3, user_3_sell_intention_id, pair_account, asset_b, 2).into(),
Event::IntentionResolvedDirectTradeFees(user_2, user_2_sell_intention_id, pair_account, asset_b, 4).into(),
]);
});
}
Expand Down

0 comments on commit 35d8ba4

Please sign in to comment.