Interface: WalletAdapter
Base interface for wallet adapters. Wallet adapters provide a unified interface for different wallet types (Cosmos, EVM).
Defined in: packages/bitbadgesjs-sdk/src/signing/adapters/WalletAdapter.ts:13
Base interface for wallet adapters. Wallet adapters provide a unified interface for different wallet types (Cosmos, EVM).
Implementations must support either Cosmos signing (signDirect) or EVM transactions (sendEvmTransaction).
Properties
address
readonlyaddress:string
Defined in: packages/bitbadgesjs-sdk/src/signing/adapters/WalletAdapter.ts:18
The address managed by this adapter (BitBadges bb-prefixed for Cosmos, 0x for EVM)
chainType
readonlychainType:"evm"|"cosmos"
Defined in: packages/bitbadgesjs-sdk/src/signing/adapters/WalletAdapter.ts:15
The chain type this adapter supports
Methods
estimateEvmGas()?
optionalestimateEvmGas(tx):Promise<bigint>
Defined in: packages/bitbadgesjs-sdk/src/signing/adapters/WalletAdapter.ts:52
Estimate gas for an EVM transaction. Only implemented by EVM wallet adapters with a provider connection.
Parameters
tx
Returns
Promise<bigint>
getPublicKey()
getPublicKey():
Promise<string>
Defined in: packages/bitbadgesjs-sdk/src/signing/adapters/WalletAdapter.ts:25
Get the public key in base64 format. Required for Cosmos transactions (used to build the auth info). Returns empty string for EVM-only adapters.
Returns
Promise<string>
sendEvmTransaction()?
optionalsendEvmTransaction(tx):Promise<string>
Defined in: packages/bitbadgesjs-sdk/src/signing/adapters/WalletAdapter.ts:46
Send an EVM transaction. Only implemented by EVM wallet adapters.
Parameters
tx
The EVM transaction to send
Returns
Promise<string>
The transaction hash
signDirect()?
optionalsignDirect(payload,accountNumber):Promise<SigningResult>
Defined in: packages/bitbadgesjs-sdk/src/signing/adapters/WalletAdapter.ts:37
Sign a transaction using Cosmos SignDirect format. Only implemented by Cosmos wallet adapters.
Parameters
payload
The transaction payload containing signBytes
accountNumber
string | number | bigint
The account number on the blockchain. Post-v34 accounts get hash-derived numbers above 2^53 — pass the chain's string value or a bigint; never Number() it.
Returns
Promise<SigningResult>
The signature and public key
signTypedData()?
optionalsignTypedData(typed):Promise<string>
Defined in: packages/bitbadgesjs-sdk/src/signing/adapters/WalletAdapter.ts:62
Sign EIP-712 typed-data with the wallet.
Only implemented by EVM wallet adapters; lets BitBadges Cosmos
messages be signed via the standard EVM signing flow
(eth_signTypedData_v4 / Signer.signTypedData) so any EVM
wallet can produce a valid Cosmos transaction signature.
Returns a 0x...-prefixed 65-byte hex signature (r || s || v).
Parameters
typed
Returns
Promise<string>
supportsEvmTransaction()
supportsEvmTransaction():
boolean
Defined in: packages/bitbadgesjs-sdk/src/signing/adapters/WalletAdapter.ts:71
Check if the adapter supports EVM transactions
Returns
boolean
supportsSignAmino()
supportsSignAmino():
boolean
Defined in: packages/bitbadgesjs-sdk/src/signing/adapters/WalletAdapter.ts:68
Check if the adapter supports Amino signing (legacy)
Returns
boolean
supportsSignDirect()
supportsSignDirect():
boolean
Defined in: packages/bitbadgesjs-sdk/src/signing/adapters/WalletAdapter.ts:65
Check if the adapter supports SignDirect signing
Returns
boolean
supportsSignTypedData()
supportsSignTypedData():
boolean
Defined in: packages/bitbadgesjs-sdk/src/signing/adapters/WalletAdapter.ts:74
Check if the adapter supports EIP-712 typed-data signing
Returns
boolean