Trait TransactionsApi

Source
pub trait TransactionsApi: Send + Sync {
    // Required methods
    fn cancel_transaction<'life0, 'async_trait>(
        &'life0 self,
        params: CancelTransactionParams,
    ) -> Pin<Box<dyn Future<Output = Result<CancelTransactionResponse, Error<CancelTransactionError>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn create_transaction<'life0, 'async_trait>(
        &'life0 self,
        params: CreateTransactionParams,
    ) -> Pin<Box<dyn Future<Output = Result<CreateTransactionResponse, Error<CreateTransactionError>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn drop_transaction<'life0, 'async_trait>(
        &'life0 self,
        params: DropTransactionParams,
    ) -> Pin<Box<dyn Future<Output = Result<DropTransactionResponse, Error<DropTransactionError>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn estimate_transaction_fee<'life0, 'async_trait>(
        &'life0 self,
        params: EstimateTransactionFeeParams,
    ) -> Pin<Box<dyn Future<Output = Result<EstimatedTransactionFeeResponse, Error<EstimateTransactionFeeError>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn freeze_transaction<'life0, 'async_trait>(
        &'life0 self,
        params: FreezeTransactionParams,
    ) -> Pin<Box<dyn Future<Output = Result<FreezeTransactionResponse, Error<FreezeTransactionError>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_transaction<'life0, 'async_trait>(
        &'life0 self,
        params: GetTransactionParams,
    ) -> Pin<Box<dyn Future<Output = Result<TransactionResponse, Error<GetTransactionError>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_transaction_by_external_id<'life0, 'async_trait>(
        &'life0 self,
        params: GetTransactionByExternalIdParams,
    ) -> Pin<Box<dyn Future<Output = Result<TransactionResponse, Error<GetTransactionByExternalIdError>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_transactions<'life0, 'async_trait>(
        &'life0 self,
        params: GetTransactionsParams,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<TransactionResponse>, Error<GetTransactionsError>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn rescan_transactions_beta<'life0, 'async_trait>(
        &'life0 self,
        params: RescanTransactionsBetaParams,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<ValidatedTransactionsForRescan>, Error<RescanTransactionsBetaError>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn set_confirmation_threshold_by_transaction_hash<'life0, 'async_trait>(
        &'life0 self,
        params: SetConfirmationThresholdByTransactionHashParams,
    ) -> Pin<Box<dyn Future<Output = Result<SetConfirmationsThresholdResponse, Error<SetConfirmationThresholdByTransactionHashError>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn set_transaction_confirmation_threshold<'life0, 'async_trait>(
        &'life0 self,
        params: SetTransactionConfirmationThresholdParams,
    ) -> Pin<Box<dyn Future<Output = Result<SetConfirmationsThresholdResponse, Error<SetTransactionConfirmationThresholdError>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn unfreeze_transaction<'life0, 'async_trait>(
        &'life0 self,
        params: UnfreezeTransactionParams,
    ) -> Pin<Box<dyn Future<Output = Result<UnfreezeTransactionResponse, Error<UnfreezeTransactionError>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}

Required Methods§

Source

fn cancel_transaction<'life0, 'async_trait>( &'life0 self, params: CancelTransactionParams, ) -> Pin<Box<dyn Future<Output = Result<CancelTransactionResponse, Error<CancelTransactionError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

POST /transactions/{txId}/cancel

Cancels a transaction by Fireblocks Transaction ID. Can be used only for transactions that did not get to the BROADCASTING state.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.

Source

fn create_transaction<'life0, 'async_trait>( &'life0 self, params: CreateTransactionParams, ) -> Pin<Box<dyn Future<Output = Result<CreateTransactionResponse, Error<CreateTransactionError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

POST /transactions

Creates a new transaction. This endpoint can be used for regular Transfers, Contract Calls, Raw & Typed message signing. - For Transfers, the required parameters are: assetId, source, destination and amount. - For Contract Calls, the required parameters are: operation.CONTRACT_CALL, assetId (Base Asset), source, destination, amount (usually 0) and extraParameters object with contractCallData string. - For Solana Program Calls, the required parameters are: operation.PROGRAM_CALL, assetId (SOL/SOL_TEST), source, and extraParameters object with programCallData key while the value is a Base64 encoded unsigned serialized Solana transaction object. This feature is currently in beta and might be subject to changes - Please contact your CSM for any additional information. - Typed Message Signing is supported for the following asset IDs: ‘ETH’, ‘BTC’ and ‘TRX’. Typed Message Signing Guide. - To create ZEC transaction, please call Get unspent UTXO Input endpoint to get the amount and use it as an input under networkfee on this endpoint. Please use this formula (0.0001 + 0.00005*N) where N is the number of inputs to calculate the fee needed and use it as an input under networkFee field - When using maxFee and a boost is needed, the user should set a custom gasPrice to force the override. Learn more about Fireblocks Transactions management in the following guide.
Endpoint Permission: Admin, Signer, Editor.

Source

fn drop_transaction<'life0, 'async_trait>( &'life0 self, params: DropTransactionParams, ) -> Pin<Box<dyn Future<Output = Result<DropTransactionResponse, Error<DropTransactionError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

POST /transactions/{txId}/drop

Drops a stuck ETH (EVM) transaction and creates a replacement transaction with 0 amount.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.

Source

fn estimate_transaction_fee<'life0, 'async_trait>( &'life0 self, params: EstimateTransactionFeeParams, ) -> Pin<Box<dyn Future<Output = Result<EstimatedTransactionFeeResponse, Error<EstimateTransactionFeeError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

POST /transactions/estimate_fee

Estimates the transaction fee for a specific transaction request. This endpoint simulates a transaction which means that the system will expect to have the requested asset and balance in the specified wallet. Note: Supports all Fireblocks assets except ZCash (ZEC). Learn more about Fireblocks Fee Management in the following guide.
Endpoint Permission: Admin, Signer, Approver, Editor.

Source

fn freeze_transaction<'life0, 'async_trait>( &'life0 self, params: FreezeTransactionParams, ) -> Pin<Box<dyn Future<Output = Result<FreezeTransactionResponse, Error<FreezeTransactionError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

POST /transactions/{txId}/freeze

Freezes a transaction by ID. Usually used for AML integrations when the incoming funds should be quarantined. For account based assets - the entire amount of the transaction is frozen For UTXO based assets - all UTXOs of the specified transaction are frozen
Endpoint Permission: Admin, Non-Signing Admin.

Source

fn get_transaction<'life0, 'async_trait>( &'life0 self, params: GetTransactionParams, ) -> Pin<Box<dyn Future<Output = Result<TransactionResponse, Error<GetTransactionError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

GET /transactions/{txId}

Get a specific transaction data by Fireblocks Transaction ID
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.

Source

fn get_transaction_by_external_id<'life0, 'async_trait>( &'life0 self, params: GetTransactionByExternalIdParams, ) -> Pin<Box<dyn Future<Output = Result<TransactionResponse, Error<GetTransactionByExternalIdError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

GET /transactions/external_tx_id/{externalTxId}

Returns transaction by external transaction ID.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.

Source

fn get_transactions<'life0, 'async_trait>( &'life0 self, params: GetTransactionsParams, ) -> Pin<Box<dyn Future<Output = Result<Vec<TransactionResponse>, Error<GetTransactionsError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

GET /transactions

Get the transaction history for your workspace.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.

Source

fn rescan_transactions_beta<'life0, 'async_trait>( &'life0 self, params: RescanTransactionsBetaParams, ) -> Pin<Box<dyn Future<Output = Result<Vec<ValidatedTransactionsForRescan>, Error<RescanTransactionsBetaError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

POST /transactions/rescan

Rescan transaction by running an async job.
Note: - These endpoints are currently in beta and might be subject to changes. - We limit the amount of the transaction to 16 per request. - Please contact to CSM to get access to this endpoint. - This operation can only be enabled under BROADCASTING or CONFIRMING
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.

Source

fn set_confirmation_threshold_by_transaction_hash<'life0, 'async_trait>( &'life0 self, params: SetConfirmationThresholdByTransactionHashParams, ) -> Pin<Box<dyn Future<Output = Result<SetConfirmationsThresholdResponse, Error<SetConfirmationThresholdByTransactionHashError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

POST /txHash/{txHash}/set_confirmation_threshold

Overrides the required number of confirmations for transaction completion by transaction hash.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.

Source

fn set_transaction_confirmation_threshold<'life0, 'async_trait>( &'life0 self, params: SetTransactionConfirmationThresholdParams, ) -> Pin<Box<dyn Future<Output = Result<SetConfirmationsThresholdResponse, Error<SetTransactionConfirmationThresholdError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

POST /transactions/{txId}/set_confirmation_threshold

Overrides the required number of confirmations for transaction completion Fireblocks Transaction ID.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.

Source

fn unfreeze_transaction<'life0, 'async_trait>( &'life0 self, params: UnfreezeTransactionParams, ) -> Pin<Box<dyn Future<Output = Result<UnfreezeTransactionResponse, Error<UnfreezeTransactionError>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

POST /transactions/{txId}/unfreeze

Unfreezes a transaction by Fireblocks Transaction ID and makes the transaction available again.
Endpoint Permission: Admin, Non-Signing Admin.

Implementors§