Wallet Standard
Method | Parameters | Returns | Description |
---|---|---|---|
connect | None | Promise<{ publicKey: string; address: string }> | Connects to the wallet and returns account info |
account | None | Promise<string> | Retrieves the current wallet address |
isConnected | None | Promise<boolean> | Checks if the wallet is currently connected |
network | None | Promise<string> | Retrieves the current network name or ID |
onAccountChange | callback: (address: string) => void | void | Registers a callback for account changes |
onNetworkChange | callback: (network: string) => void | void | Registers a callback for network changes |
onDisconnect | callback: () => void | void | Registers a callback for disconnection |
signTransaction | transaction: object, options?: object | Promise<string> | Signs a transaction and returns the signature |
signMessage | msg: string | Promise<string> | Signs an arbitrary message with the wallet |
disconnect | None | Promise<void> | Disconnects the wallet |
Connect to Bitget Wallet
Provider
const provider = window.bitkeep.aptos
Connect
Return
interface ConnectResult {
publicKey: string; // your publicKey on aptos
address: string; // your address on aptos
}
Usage
// @return ConnectResult
const response = await provider.connect();
Try It
Loading live editor...
Get Account
Returns
interface AccountResult {
publicKey: string; // your publicKey on aptos
address: string; // your address on aptos
}
Usasge
// @return AccountResult
await provider.account();
Network
The user may change accounts while interacting with the DApp, and this can be monitored via onAccountChange.
Parameters
interface AptosAccountChangeCallback {
(newAccount: Account): void;
}
Usage
window.bitkeep.aptos.onAccountChange((newAccount) => {
console.log(newAccount)
});
Try It
Loading live editor...
OnNetworkChange
The DApp needs to ensure that the user is connected to the target network, so it needs to get the current network, switch networks, and listen for network changes.
Usage
// Current network
let network = await window.bitkeep.aptos.network();
// event listener for network changing
window.bitkeep.aptos.onNetworkChange((newNetwork) => {
network = newNetwork; // { networkName: 'Mainnet' }
})
Sign Message
SignArbitrary
Parameters
interface SignMessagePayload {
address?: boolean; // Should we include the address of the account in the message
application?: boolean; // Should we include the domain of the dapp
chainId?: boolean; // Should we include the current chain id the wallet is connected to
message: string; // The message to be signed and displayed to the user
nonce: string; // A nonce the dapp should generate
}
Return
interface AptosSignatureOutput {
chainId: number; // Aptos chain ID (1 = mainnet)
application: string; // App origin URL
address: string; // Wallet address (hex)
publicKey: string; // Wallet public key
message: string; // Message to be signed
nonce: number; // Unique number to prevent replay
prefix: string; // Message prefix (e.g., "APTOS")
fullMessage: string; // Full message that was signed
signature: string; // Signature of the full message
}
Usage
// @params AptosSignatureInput
// @return AptosSignatureOutput<Promise>
provider.signMessage({nonce: 1234034, message: "hello bitget wallet" })
Try It
Loading live editor...
Transaction
Sign Transaction
Sign a transaction but do not submit it to the Aptos blockchain. Returns the signed transaction, which the DApp then submits.
Parameters
interface TransactionInput {
arguments: (string | number)[]; // Parameters passed to the function
function: string; // Target function to call (module::function)
type: 'entry_function_payload'; // Payload type (fixed value)
type_arguments: string[]; // Generic type arguments (e.g., coin type)
}
Returns
interface TransactionOutput {
}
Usage
// Example Transaction
const transaction = {
arguments: [address, '717'],
function: '0x1::coin::transfer',
type: 'entry_function_payload',
type_arguments: ['0x1::aptos_coin::TestCoin'],
};
// @param TransactionInput
// @returns
const signTransaction = await provider.signTransaction(transaction)
Send Transaction
there are two ways to send transaction, send by wallet or by dapp
// send transaction by bitget wallet
const pendingTransaction = await window.bitkeep.aptos.signAndSubmitTransaction(transaction);
// or send transaction by dapp
const client = new AptosClient('https://testnet.aptoslabs.com');
client.waitForTransaction(pendingTransaction.hash);
Last updated on