Skip to content

Commit 621bee3

Browse files
chore(payments): add fees to trade event (#21)
1 parent 37b07f8 commit 621bee3

File tree

3 files changed

+16
-10
lines changed

3 files changed

+16
-10
lines changed

src/events.cairo

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ pub struct TradeExecuted {
5050
pub buy_token: ContractAddress,
5151
pub order_a_sell_amount: u128,
5252
pub order_a_buy_amount: u128,
53+
pub fee_a: u128,
54+
pub fee_b: u128,
5355
}
5456

5557
#[derive(Debug, Drop, PartialEq, starknet::Event)]

src/payments.cairo

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -211,43 +211,43 @@ pub mod payments {
211211

212212
// Take fees.
213213
let fee_recipient = self.fee_recipient.read();
214-
let fee_1 = self._calculate_fee(order_a_actual_sell_amount);
214+
let fee_a = self._calculate_fee(order_a_actual_sell_amount);
215215
// For `order_b`, the actual sold amount is `order_a_actual_buy_amount`.
216-
let fee_2 = self._calculate_fee(order_a_actual_buy_amount);
216+
let fee_b = self._calculate_fee(order_a_actual_buy_amount);
217217
assert_with_byte_array(
218-
sell_token.transfer_from(order_a.user, fee_recipient, fee_1.into()),
218+
sell_token.transfer_from(order_a.user, fee_recipient, fee_a.into()),
219219
transfer_failed_error(
220-
token: order_a.sell_token, sender: order_a.user, amount: fee_1,
220+
token: order_a.sell_token, sender: order_a.user, amount: fee_a,
221221
),
222222
);
223223
assert_with_byte_array(
224-
buy_token.transfer_from(order_b.user, fee_recipient, fee_2.into()),
224+
buy_token.transfer_from(order_b.user, fee_recipient, fee_b.into()),
225225
transfer_failed_error(
226-
token: order_a.buy_token, sender: order_b.user, amount: fee_2,
226+
token: order_a.buy_token, sender: order_b.user, amount: fee_b,
227227
),
228228
);
229229

230230
// Transfer the actual amounts.
231231
assert_with_byte_array(
232232
sell_token
233233
.transfer_from(
234-
order_a.user, order_b.user, (order_a_actual_sell_amount - fee_1).into(),
234+
order_a.user, order_b.user, (order_a_actual_sell_amount - fee_a).into(),
235235
),
236236
transfer_failed_error(
237237
token: order_a.sell_token,
238238
sender: order_a.user,
239-
amount: order_a_actual_sell_amount - fee_1,
239+
amount: order_a_actual_sell_amount - fee_a,
240240
),
241241
);
242242
assert_with_byte_array(
243243
buy_token
244244
.transfer_from(
245-
order_b.user, order_a.user, (order_a_actual_buy_amount - fee_2).into(),
245+
order_b.user, order_a.user, (order_a_actual_buy_amount - fee_b).into(),
246246
),
247247
transfer_failed_error(
248248
token: order_a.buy_token,
249249
sender: order_b.user,
250-
amount: order_a_actual_buy_amount - fee_2,
250+
amount: order_a_actual_buy_amount - fee_b,
251251
),
252252
);
253253

@@ -261,6 +261,8 @@ pub mod payments {
261261
buy_token: order_a.buy_token,
262262
order_a_sell_amount: order_a_actual_sell_amount,
263263
order_a_buy_amount: order_a_actual_buy_amount,
264+
fee_a,
265+
fee_b,
264266
},
265267
);
266268
}

src/tests/test_payments.cairo

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -843,6 +843,8 @@ fn test_successful_trade() {
843843
buy_token: token_b,
844844
order_a_sell_amount: 7560,
845845
order_a_buy_amount: 850,
846+
fee_a: 76,
847+
fee_b: 9,
846848
};
847849
assert_expected_event_emitted(
848850
spied_event: events[4],

0 commit comments

Comments
 (0)