Skip to content

Commit

Permalink
Remove Pair proxy code
Browse files Browse the repository at this point in the history
  • Loading branch information
CostinCarabas committed Sep 27, 2023
1 parent 6e30711 commit 71b89a7
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 85 deletions.
79 changes: 0 additions & 79 deletions contracts/paymaster/src/fees.rs

This file was deleted.

29 changes: 23 additions & 6 deletions contracts/paymaster/src/paymaster.rs
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
#![no_std]

use forward_call::PaymentsVec;

multiversx_sc::imports!();

pub mod fees;
pub mod forward_call;
const FEE_PAYMENT: usize = 0;

/// An empty contract. To be used as a template when starting a new contract from scratch.
#[multiversx_sc::contract]
pub trait PaymasterContract: fees::FeesModule + forward_call::ForwardCall {
pub trait PaymasterContract: forward_call::ForwardCall {
#[init]
fn init(&self, price_query_address: ManagedAddress) {
self.price_query_address().set(price_query_address);
}
fn init(&self) {}

#[endpoint(forwardExecution)]
#[payable("*")]
Expand All @@ -25,8 +25,25 @@ pub trait PaymasterContract: fees::FeesModule + forward_call::ForwardCall {
let payments = self.call_value().all_esdt_transfers();

self.pay_fee_to_relayer(relayer_addr, payments.clone_value());

let mut payments_without_fee = payments.clone_value();
payments_without_fee.remove(0);
payments_without_fee.remove(FEE_PAYMENT);

self.forward_call(dest, endpoint_name, endpoint_args, payments_without_fee);
}

fn pay_fee_to_relayer(&self, relayer_addr: ManagedAddress, payments: PaymentsVec<Self::Api>) {
let mut payments_iter = payments.iter();
let fee_payment = match payments_iter.next() {
Some(fee) => fee,
None => sc_panic!("Fee payment is missing!"),
};

self.send().direct_esdt(
&relayer_addr,
&fee_payment.token_identifier,
0,
&fee_payment.amount,
);
}
}

0 comments on commit 71b89a7

Please sign in to comment.