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§
Sourcefn 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 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.
Sourcefn 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 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.
Sourcefn 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 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.
Sourcefn 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 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.
Sourcefn 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 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.
Sourcefn 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<'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.
Sourcefn 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_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.
Sourcefn 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 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.
Sourcefn 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 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.
Sourcefn 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_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.
Sourcefn 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 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.
Sourcefn 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,
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.