wallet_getCapabilities
, wallet_sendCalls
, and wallet_getCallsStatus
. It shows how to check if atomic batch transactions are supported and how to use them.
atomic
capability from wallet_getCapabilities
of the wallet in order to know if a wallet required to handle the batch of calls atomically or not.
Wallets should include the EIP-5792 capabilities in CAIP-25.
atomic
capability, AppKit will trigger the wallet_sendCalls
:
supported
means that the wallet supports atomic batch transactions for the account and chain ID. The wallet executes calls atomically and contiguouslyready
means that the wallet can upgrade to support atomic execution, pending user approval.unsupported
means that the wallet does not provide any atomicity or contiguity guarantees, and it will not suggest an upgrade to the user. The dApp should fallback to eth_sendTransaction
instead of wallet_sendCalls
, and eth_getTransactionReceipt
instead of wallet_getCallsStatus
atomicRequired
- can be set to either true
or false
.
atomic
capability is not supported set to false
atomic
capability is supported set to true
batchId
field, returned from the wallet_sendCalls
will be used to identify the batch call.
atomic
field specifies how the wallet handled the batch of calls, which affects the structure of the receipts
field.
atomic
is true, the batch was executed atomically by a wallet
atomic
is false, the batch was executed non-atomically by a wallet