NEAR
Develop NEAR dApps
XDEFI is a provider available in NEAR wallet-selector project. This allows dApp developer to allow XDEFI Wallet users to connect to their dApp with a single click.
XDEFI Wallet provides a z object that dApp developers can use to interact with the XDEFI Wallet. The
window.xfi.near
object is available after the window.onLoad event is fired.It is recommended to use the NEAR wallet-selector project to integrate XDEFI Wallet with your dApp. The wallet-selector project will take care of the
window.xfi.near
object for you.Here is a sample code to request XDEFI Wallet to connect to a dApp.
window.xfi.near.request({
method: 'connect',
});
Methods
There are 4 methods available in
window.xfi.near.request
object.connect
Returns a promise that resolves to a
address[]
object.const addresses = await window.xfi.near.request({
method: 'connect',
});
disconnect
Disconnects the dApp from XDEFI Wallet.
await window.xfi.near.request({
method: 'disconnect',
});
signAndSendTransaction
Signs and sends a transaction to the blockchain. Returns the transaction hash.
type Transaction = {
signerId: string;
publicKey: PublicKey;
nonce: BN;
receiverId: string;
actions: Action[];
blockHash: Uint8Array;
};
const transaction : Transaction = {...};
const txHash: string = await window.xfi.near.request({
method: 'signAndSendTransaction',
params: {
transaction
},
})
signAndSendTransactions
Signs and sends multiple transactions to the blockchain. Returns the transaction hashes.
type Transaction = {
signerId: string;
publicKey: PublicKey;
nonce: BN;
receiverId: string;
actions: Action[];
blockHash: Uint8Array;
};
const transactions: Transaction[] = [{...}];
const txHashes: string[] = await window.xfi.near.request({
method: 'signAndSendTransactions',
params: {
transactions
},
})
Other function signatures
The previous functions are the most commonly used functions. However, there are other functions available in
window.xfi.near
object. See below the full list of functions. connect: (network?: NETWORKS) => Promise<INearAccount[]>
disconnect: () => Promise<void>
signAndSendTransaction: (
transaction: NearTransaction
) => Promise<NearFinalExecutionOutcome>
signAndSendTransactions: (
transactions: Array<NearTransaction>
) => Promise<Array<NearFinalExecutionOutcome>>
Last modified 2mo ago