Cosmo Wallet Tool
function for multi platform
import cosmo from 'cosmo-wallet-tool';
// get user allowed permissions
(window as any).getPermission = async function () {
const result = await cosmo.getPermission(); // ['accountAddress', 'accountAddressType', 'tokenTransferSend', 'contractCall', 'contractSend'] || null
};
// apply for permission
(window as any).applyPermission = async function applyPermission() {
const res = await cosmo.applyPermission(); // ['accountAddress', 'accountAddressType', 'tokenTransferSend', 'contractCall', 'contractSend'] || null
};
// account address
(window as any).onGetAccount = async function () {
const data = await cosmo.getAccount(); // gx1j5a8tagpcf4aqx6vmvxh7ac2s6uwfw29e7ulf4 || null
};
// account type
(window as any).onGetAccountType = async function () {
const data = await cosmo.getAccountType(); // PRC10 || PRC20 || null
};
function only chrome extension
import cosmo from 'cosmo-wallet-tool';
(window as any).onCheckExtension = async function () {
const data = await cosmo.isChrome; // true || false
};
(window as any).applyPermission = async function () {
const result = await cosmo.chromeTool.getPermission(['*']); // ['accountAddress', 'accountAddressType', 'tokenTransferSend', 'contractCall', 'contractSend'] || [] || null
};
(window as any).transfer = async function () {
const result = await cosmo.chromeTool.sendTransferBaseCoin(toAddress, volume, memo);
}
(window as any).contractCall = async function () {
const result = await cosmo.chromeTool.contractCall(
'0x184Ef1A29fDD6d109F5788Db59983D6084DDaDFf',
'balanceOf(address)',
['gx1gjxs8ygvlur2cekxajdnhkl4tkf2vl478w3ew0'],
);
}
(window as any).contractSend = async function () {
const result = await cosmo.chromeTool.contractSend(
'0x184Ef1A29fDD6d109F5788Db59983D6084DDaDFf',
'transfer(address,uint256)',
[
'gx1gjxs8ygvlur2cekxajdnhkl4tkf2vl478w3ew0',
'1'
],
);
}
(window as any).contractDeploy = async function () {
const result = await cosmo.chromeTool.contractDeploy(
'PRC20Token',
'0x........................'
);
}
(window as any).contractCallRaw = async function () {
const result = await cosmo.chromeTool.contractCallRaw(
'0x184Ef1A29fDD6d109F5788Db59983D6084DDaDFf',
'0x........................',
1000000 // 1 plugcn
);
}
(window as any).contractSendRaw = async function () {
const result = await cosmo.chromeTool.contractSendRaw(
'0x184Ef1A29fDD6d109F5788Db59983D6084DDaDFf',
'0x........................',
1000000 // 1 plugcn
);
}
function only application
// in wallet dapp
import cosmo from 'cosmo-wallet-tool';
(window as any).onCheckWallet = async function checkExtension () {
const data = await cosmo.isWallet; // true || false
};
(window as any).applyAllPermission = async function applyPermission() {
const result = await cosmo.chromeTool.getPermission(['*']); // ['accountAddress', 'accountAddressType', 'tokenTransferSend', 'contractCall', 'contractSend'] || [] || null
};
(window as any).applySomePermission = async function applyPermission() {
const result = await cosmo.chromeTool.getPermission(['accountAddress', ['accountAddressType']]); // ['accountAddress', 'accountAddressType'] || [] || null
};
(window as any).transferData = async function () {
const result = await cosmo.sendTransferBaseCoin({
toAddress: 'gx........',
volume: '100',
fee: '0.0002',
scale: 6, // coin scale
denom: 'plug', // coin minUnit
});
}
(window as any).contractCall = async function () {
const result = await cosmo.walletTool.contractCall(
'0x184Ef1A29fDD6d109F5788Db59983D6084DDaDFf,
'balanceOf(address)',
[
cosmo.addressForBech32ToHex(
'gx1gjxs8ygvlur2cekxajdnhkl4tkf2vl478w3ew0'
)
],
);
}
(window as any).contractCallRaw = async function () {
const result = await cosmo.walletTool.contractCall(
'0x184Ef1A29fDD6d109F5788Db59983D6084DDaDFf,
undefined, undefined,
'0x70a08231000000000000000000000000448d03910cff06ac66c6ec9b3bdbf55d92a67ebe,
'1000000' // 1 plugcn
);
}
(window as any).contractSend = async function () {
const result = await cosmo.walletTool.contractSend(
'0x184Ef1A29fDD6d109F5788Db59983D6084DDaDFf',
'transfer(address,uint256)',
[
cosmo.addressForBech32ToHex(
'gx1gjxs8ygvlur2cekxajdnhkl4tkf2vl478w3ew0'
),
'1'
],
undefined,
'1000000' // 1 plugcn
);
}