pub trait FeePaymentMethod: Send + Sync {
// Required methods
fn get_asset<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<AztecAddress, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
fn get_fee_payer<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<AztecAddress, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
fn get_fee_execution_payload<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<ExecutionPayload, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
}Expand description
Trait that all fee payment strategies implement.
Each implementation produces an ExecutionPayload containing the
function calls needed to set up fee payment. This payload is merged
with the user’s transaction payload before submission.
Required Methods§
Sourcefn get_asset<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<AztecAddress, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_asset<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<AztecAddress, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Returns the address of the asset used for fee payment. For fee juice methods, this is the FeeJuice protocol contract address.
Sourcefn get_fee_payer<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<AztecAddress, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_fee_payer<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<AztecAddress, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Returns the address of the entity paying the fee.
Sourcefn get_fee_execution_payload<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<ExecutionPayload, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_fee_execution_payload<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<ExecutionPayload, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Builds an ExecutionPayload containing the function calls and
auth witnesses needed to pay the transaction fee.