Comment on page
🪐
Secret DApps Integration
Welcome to MapNode Extension Wallet Developer Guide. This documentation contains guides for developers to get started developing on MapNode Extension Wallet.
To detect whether your browser is running MapNode Extension, please use:
if (window.MapNode) {
console.log('MapNode Extension is installed!');
}
To connect MapNode Extension means to access the user's [blockchain - like Secret Network] account(s).
// Connect only
const connection = window.MapNode.cosmos('<chain: String>');
// Connect & get accounts
connection.request({ method: 'cosmos_accounts' });
// Check whether dapp connected or not
connection.isConnected();
Currently chains support: ['terra','secret']
To disconnect MapNode Extension, please use:
connection.disconnect();
Once your account is connected, let's start experiencing more functions.
return
Promise<Array[String]>
- If wallet can not be found, return
[]
instead ofthrow Error
connection.request({ method: 'cosmos_accounts' }).then((accounts) => {
if (accounts[0]) {
// Do something with accounts
} else {
// Wallet not found
}
});
return
Promise<{data: Boolean}>
const hasWallet = connection.request({ method: 'has_wallet', params: ['<chain>'] });
return:
Promise<Hash>
const signature = connection.request({
method: 'cosmos_execute',
params: ['<contractAddres: string>', '<executeMsg: string>'],
});
// Example Execute Contract
let cw20Contract =
'juno10rktvmllvgctcmhl5vv8kl3mdksukyqf2tdveh8drpn0sppugwwqjzz30z';
let execMsg =
'{"transfer":{"amount":"1","recipient":"juno1cx4nq77x3unvl2xsa9fmm9drxkexzkjnzwt2y7"}}';
const response = await connection.request({
method: 'cosmos_execute',
params: [cw20Contract, execMsg],
});
Currently we only support some action event from wallet extension
connection.on('event_name', callback);
//Example
connection.on('close', () => window.location.reload());
connection.on('accountsChanged', () => window.location.reload());
Events | Trigger |
---|---|
accountsChanged | Receive when active account changed in Extension |
networkChanged | Receive when active network changed in Extension |
chainChanged | Receive when active chain changed in Extension |
disconnect | Receive when disconnect from Extension |
close | Alias for disconnect event |
Method | Description |
---|---|
on(event, callback) | Add event listener |
off(event, callback) | Remove event listener |