muerwre.github.io/docs/api/_content/query/8cFyiEqgoq.json
2024-03-21 11:20:30 +00:00

1 line
No EOL
98 KiB
JSON

{"_path":"/blockchain/common-typescript-examples","_dir":"blockchain","_draft":false,"_partial":false,"_locale":"en","_empty":false,"title":"Common Typescript Examples","description":"","excerpt":{"type":"root","children":[{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Simple #dapp example for tests: "},{"type":"element","tag":"a","props":{"href":"https://metamask.github.io/test-dapp/","rel":["nofollow"]},"children":[{"type":"text","value":"https://metamask.github.io/test-dapp/"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Interaction with smart contracts described in "},{"type":"element","tag":"a","props":{"href":"Smart%20contracts"},"children":[{"type":"text","value":"Smart contracts"}]}]}]},{"type":"element","tag":"h2","props":{"id":"connecting-to-node"},"children":[{"type":"text","value":"Connecting to node"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If #Metamask extension installed, "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"Web3.givenProvider"}]},{"type":"text","value":" is available in global window. You can use "},{"type":"element","tag":"a","props":{"href":"https://infura.io","rel":["nofollow"]},"children":[{"type":"text","value":"Infura"}]},{"type":"text","value":" or your node instead:"}]},{"type":"element","tag":"code","props":{"code":"import Web3 from 'web3';\n\n// URL of your node\nconst PROVIDER_URL = 'https://...';\n\nexport const web3 = new Web3(Web3.givenProvider || PROVIDER_URL);\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import Web3 from 'web3';\n\n// URL of your node\nconst PROVIDER_URL = 'https://...';\n\nexport const web3 = new Web3(Web3.givenProvider || PROVIDER_URL);\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"getting-wallet-balance"},"children":[{"type":"text","value":"Getting wallet balance"}]},{"type":"element","tag":"code","props":{"code":"const getBalance = async (address: string) => {\n return await web3.eth.getBalance(address);\n}\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"const getBalance = async (address: string) => {\n return await web3.eth.getBalance(address);\n}\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"getting-wallet-address"},"children":[{"type":"text","value":"Getting wallet address"}]},{"type":"element","tag":"code","props":{"code":"// first we need to authorize\nconst authorize = async () => {\n await web3.currentProvider.request({ method: 'eth_requestAccounts' });\n}\n\n// then we can get wallet address\nconst getCurrentAddressUser = () => {\n return web3.currentProvider.selectedAddress;\n}\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"// first we need to authorize\nconst authorize = async () => {\n await web3.currentProvider.request({ method: 'eth_requestAccounts' });\n}\n\n// then we can get wallet address\nconst getCurrentAddressUser = () => {\n return web3.currentProvider.selectedAddress;\n}\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"sending-transaction"},"children":[{"type":"text","value":"Sending transaction"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Sending "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"value"}]},{"type":"text","value":" tokens with "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"memo"}]},{"type":"text","value":" as value:"}]},{"type":"element","tag":"code","props":{"code":"\nconst transfer = async ({ \n from, \n to, \n value, \n memo, \n privateKey, \n gasLimit = 44000 \n}) => {\n const nonce = await web3.eth.getTransactionCount(from);\n const gasPrice = await web3.eth.getGasPrice();\n \n const rawTx = {\n from,\n to,\n value: web3.utils.toHex(Web3.utils.toWei(value, 'ether')),\n gasLimit: web3.utils.toHex(gasLimit),\n gasPrice: web3.utils.toHex(gasPrice),\n nonce: web3.utils.toHex(nonce),\n data: memo,\n };\n \n const privateKeyBuffer = EthUtil.toBuffer(privateKey);\n \n const tx = new Transaction(rawTx);\n \n tx.sign(privateKeyBuffer);\n const serializedTx = tx.serialize();\n \n return this.web3.eth.sendSignedTransaction(\n `0x${serializedTx.toString('hex')}`\n );\n}\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"\nconst transfer = async ({ \n from, \n to, \n value, \n memo, \n privateKey, \n gasLimit = 44000 \n}) => {\n const nonce = await web3.eth.getTransactionCount(from);\n const gasPrice = await web3.eth.getGasPrice();\n \n const rawTx = {\n from,\n to,\n value: web3.utils.toHex(Web3.utils.toWei(value, 'ether')),\n gasLimit: web3.utils.toHex(gasLimit),\n gasPrice: web3.utils.toHex(gasPrice),\n nonce: web3.utils.toHex(nonce),\n data: memo,\n };\n \n const privateKeyBuffer = EthUtil.toBuffer(privateKey);\n \n const tx = new Transaction(rawTx);\n \n tx.sign(privateKeyBuffer);\n const serializedTx = tx.serialize();\n \n return this.web3.eth.sendSignedTransaction(\n `0x${serializedTx.toString('hex')}`\n );\n}\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"estimating-transaction-fee"},"children":[{"type":"text","value":"Estimating transaction FEE"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Useful to get fixed amount of tokens from user with pre-estimated fee."}]},{"type":"element","tag":"code","props":{"code":"import { web3 } from '.';\n\nconst estimateFee = async ({\n from,\n to,\n value,\n memo,\n}) => {\n const gasPrice = await web3.eth.getGasPrice();\n const gasLimit = await web3.eth.estimateGas({\n from,\n to,\n value: web3.utils.toHex(web3.utils.toWei(value, 'ether')),\n data: web3.utils.asciiToHex(memo),\n }).call();\n \n return web3.utils.fromWei(\n BigInt(gasPrice.toString())\n .multiply(BigInt(gasLimit.toString()))\n .toString()\n );\n}\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { web3 } from '.';\n\nconst estimateFee = async ({\n from,\n to,\n value,\n memo,\n}) => {\n const gasPrice = await web3.eth.getGasPrice();\n const gasLimit = await web3.eth.estimateGas({\n from,\n to,\n value: web3.utils.toHex(web3.utils.toWei(value, 'ether')),\n data: web3.utils.asciiToHex(memo),\n }).call();\n \n return web3.utils.fromWei(\n BigInt(gasPrice.toString())\n .multiply(BigInt(gasLimit.toString()))\n .toString()\n );\n}\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"subscribing-to-wallet-address-change"},"children":[{"type":"text","value":"Subscribing to wallet address change"}]},{"type":"element","tag":"code","props":{"code":"import { web3 } from '.';\n\nweb3.currentProvider.on('accountsChanged', callback);\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { web3 } from '.';\n\nweb3.currentProvider.on('accountsChanged', callback);\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"watching-network-change"},"children":[{"type":"text","value":"Watching network change"}]},{"type":"element","tag":"code","props":{"code":"ethereum.on('chainChanged', handler: (chainId: string) => void);\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"ethereum.on('chainChanged', handler: (chainId: string) => void);\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"adding-custom-token-to-wallet"},"children":[{"type":"text","value":"Adding custom token to wallet"}]},{"type":"element","tag":"code","props":{"code":"window.ethereum\n .request({\n method: 'wallet_watchAsset',\n params: {\n type: 'ERC20',\n options: {\n address: '0xb60e8dd61c5d32be8058bb8eb970870f07233155',\n symbol: 'FOO',\n decimals: 18,\n image: 'https://foo.io/token-image.svg',\n },\n },\n })\n .then((success) => {\n if (success) {\n console.log('FOO successfully added to wallet!')\n } else {\n throw new Error('Something went wrong.')\n }\n })\n .catch(console.error)\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"window.ethereum\n .request({\n method: 'wallet_watchAsset',\n params: {\n type: 'ERC20',\n options: {\n address: '0xb60e8dd61c5d32be8058bb8eb970870f07233155',\n symbol: 'FOO',\n decimals: 18,\n image: 'https://foo.io/token-image.svg',\n },\n },\n })\n .then((success) => {\n if (success) {\n console.log('FOO successfully added to wallet!')\n } else {\n throw new Error('Something went wrong.')\n }\n })\n .catch(console.error)\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"changing-network-to-custom"},"children":[{"type":"text","value":"Changing network to custom"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Checking current chainId:"}]},{"type":"element","tag":"code","props":{"code":"const getChainID = async () => {\n return ethereum.request({ method: 'eth_chainId' })\n}\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"const getChainID = async () => {\n return ethereum.request({ method: 'eth_chainId' })\n}\n"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Asking wallet to change current network:"}]},{"type":"element","tag":"code","props":{"code":"try {\n await window.ethereum.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: '0x03' }], // ropsten chainID (3) in hex\n });\n} catch (switchError) {\n // This error code indicates that the chain has not been added to MetaMask.\n if (error.code === 4902) {\n try {\n await window.ethereum.request({\n method: 'wallet_addEthereumChain',\n params: [{ \n chainId: '0x03', // ropsten chainID (3) in hex\n chainName: 'Ropsten Test Network', \n nativeCurrency: { \n name: 'ETH',\n symbol: 'ETH',\n decimals: 18\n }, \n rpcUrls: ['https://ropsten.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161'], \n blockExplorerUrls: ['https://ropsten.etherscan.io'] \n }] ,\n });\n } catch (addError) {\n // handle \"add\" error\n }\n }\n // handle other \"switch\" errors\n}\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"try {\n await window.ethereum.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: '0x03' }], // ropsten chainID (3) in hex\n });\n} catch (switchError) {\n // This error code indicates that the chain has not been added to MetaMask.\n if (error.code === 4902) {\n try {\n await window.ethereum.request({\n method: 'wallet_addEthereumChain',\n params: [{ \n chainId: '0x03', // ropsten chainID (3) in hex\n chainName: 'Ropsten Test Network', \n nativeCurrency: { \n name: 'ETH',\n symbol: 'ETH',\n decimals: 18\n }, \n rpcUrls: ['https://ropsten.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161'], \n blockExplorerUrls: ['https://ropsten.etherscan.io'] \n }] ,\n });\n } catch (addError) {\n // handle \"add\" error\n }\n }\n // handle other \"switch\" errors\n}\n"}]}]}]}]},"body":{"type":"root","children":[{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Simple #dapp example for tests: "},{"type":"element","tag":"a","props":{"href":"https://metamask.github.io/test-dapp/","rel":["nofollow"]},"children":[{"type":"text","value":"https://metamask.github.io/test-dapp/"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Interaction with smart contracts described in "},{"type":"element","tag":"a","props":{"href":"Smart%20contracts"},"children":[{"type":"text","value":"Smart contracts"}]}]}]},{"type":"element","tag":"h2","props":{"id":"connecting-to-node"},"children":[{"type":"text","value":"Connecting to node"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If #Metamask extension installed, "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"Web3.givenProvider"}]},{"type":"text","value":" is available in global window. You can use "},{"type":"element","tag":"a","props":{"href":"https://infura.io","rel":["nofollow"]},"children":[{"type":"text","value":"Infura"}]},{"type":"text","value":" or your node instead:"}]},{"type":"element","tag":"code","props":{"code":"import Web3 from 'web3';\n\n// URL of your node\nconst PROVIDER_URL = 'https://...';\n\nexport const web3 = new Web3(Web3.givenProvider || PROVIDER_URL);\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"Web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'web3'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-41a6ec"},"children":[{"type":"text","value":"// URL of your node"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ed33ff"},"children":[{"type":"text","value":"PROVIDER_URL"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'https://...'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ed33ff"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"new"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"Web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"Web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"givenProvider"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"||"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ed33ff"},"children":[{"type":"text","value":"PROVIDER_URL"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":");"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"getting-wallet-balance"},"children":[{"type":"text","value":"Getting wallet balance"}]},{"type":"element","tag":"code","props":{"code":"const getBalance = async (address: string) => {\n return await web3.eth.getBalance(address);\n}\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-940990"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-b083a6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a35ac1"},"children":[{"type":"text","value":"getBalance"}]},{"type":"element","tag":"span","props":{"class":"ct-b083a6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-446270"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-b083a6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-940990"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"class":"ct-b083a6"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-b0eabc"},"children":[{"type":"text","value":"address"}]},{"type":"element","tag":"span","props":{"class":"ct-446270"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"class":"ct-b083a6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4d811b"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"class":"ct-b083a6"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"class":"ct-940990"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-b083a6"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"eth"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"getBalance"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"address"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"getting-wallet-address"},"children":[{"type":"text","value":"Getting wallet address"}]},{"type":"element","tag":"code","props":{"code":"// first we need to authorize\nconst authorize = async () => {\n await web3.currentProvider.request({ method: 'eth_requestAccounts' });\n}\n\n// then we can get wallet address\nconst getCurrentAddressUser = () => {\n return web3.currentProvider.selectedAddress;\n}\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-41a6ec"},"children":[{"type":"text","value":"// first we need to authorize"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"authorize"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"currentProvider"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"request"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"({ method: "}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'eth_requestAccounts'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" });"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-41a6ec"},"children":[{"type":"text","value":"// then we can get wallet address"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"getCurrentAddressUser"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"currentProvider"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"selectedAddress"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"sending-transaction"},"children":[{"type":"text","value":"Sending transaction"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Sending "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"value"}]},{"type":"text","value":" tokens with "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"memo"}]},{"type":"text","value":" as value:"}]},{"type":"element","tag":"code","props":{"code":"\nconst transfer = async ({ \n from, \n to, \n value, \n memo, \n privateKey, \n gasLimit = 44000 \n}) => {\n const nonce = await web3.eth.getTransactionCount(from);\n const gasPrice = await web3.eth.getGasPrice();\n \n const rawTx = {\n from,\n to,\n value: web3.utils.toHex(Web3.utils.toWei(value, 'ether')),\n gasLimit: web3.utils.toHex(gasLimit),\n gasPrice: web3.utils.toHex(gasPrice),\n nonce: web3.utils.toHex(nonce),\n data: memo,\n };\n \n const privateKeyBuffer = EthUtil.toBuffer(privateKey);\n \n const tx = new Transaction(rawTx);\n \n tx.sign(privateKeyBuffer);\n const serializedTx = tx.serialize();\n \n return this.web3.eth.sendSignedTransaction(\n `0x${serializedTx.toString('hex')}`\n );\n}\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"transfer"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" ({ "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":", "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"to"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":", "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":", "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"memo"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":", "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"privateKey"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":", "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"gasLimit"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"}) "}]},{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ed33ff"},"children":[{"type":"text","value":"nonce"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"eth"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"getTransactionCount"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ed33ff"},"children":[{"type":"text","value":"gasPrice"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"eth"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"getGasPrice"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"();"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ed33ff"},"children":[{"type":"text","value":"rawTx"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"to"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" value: "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"utils"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"toHex"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"Web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"utils"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"toWei"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'ether'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":")),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" gasLimit: "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"utils"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"toHex"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"gasLimit"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" gasPrice: "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"utils"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"toHex"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"gasPrice"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" nonce: "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"utils"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"toHex"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"nonce"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" data: "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"memo"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" };"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ed33ff"},"children":[{"type":"text","value":"privateKeyBuffer"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"EthUtil"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"toBuffer"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"privateKey"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ed33ff"},"children":[{"type":"text","value":"tx"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"new"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"Transaction"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"rawTx"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"tx"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"sign"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"privateKeyBuffer"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ed33ff"},"children":[{"type":"text","value":"serializedTx"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"tx"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"serialize"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"();"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ed33ff"},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"eth"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"sendSignedTransaction"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"`0x${"}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"serializedTx"}]},{"type":"element","tag":"span","props":{"class":"ct-5ce9b7"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"toString"}]},{"type":"element","tag":"span","props":{"class":"ct-5ce9b7"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'hex'"}]},{"type":"element","tag":"span","props":{"class":"ct-5ce9b7"},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"}`"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" );"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"estimating-transaction-fee"},"children":[{"type":"text","value":"Estimating transaction FEE"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Useful to get fixed amount of tokens from user with pre-estimated fee."}]},{"type":"element","tag":"code","props":{"code":"import { web3 } from '.';\n\nconst estimateFee = async ({\n from,\n to,\n value,\n memo,\n}) => {\n const gasPrice = await web3.eth.getGasPrice();\n const gasLimit = await web3.eth.estimateGas({\n from,\n to,\n value: web3.utils.toHex(web3.utils.toWei(value, 'ether')),\n data: web3.utils.asciiToHex(memo),\n }).call();\n \n return web3.utils.fromWei(\n BigInt(gasPrice.toString())\n .multiply(BigInt(gasLimit.toString()))\n .toString()\n );\n}\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'.'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"estimateFee"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" ({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"to"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"memo"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"}) "}]},{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ed33ff"},"children":[{"type":"text","value":"gasPrice"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"eth"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"getGasPrice"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"();"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ed33ff"},"children":[{"type":"text","value":"gasLimit"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"eth"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"estimateGas"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"to"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" value: "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"utils"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"toHex"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"utils"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"toWei"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'ether'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":")),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" data: "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"utils"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"asciiToHex"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"memo"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" })."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"call"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"();"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"utils"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"fromWei"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f2dcb5"},"children":[{"type":"text","value":"BigInt"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"gasPrice"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"toString"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"())"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"multiply"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-f2dcb5"},"children":[{"type":"text","value":"BigInt"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"gasLimit"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"toString"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"()))"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"toString"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" );"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"subscribing-to-wallet-address-change"},"children":[{"type":"text","value":"Subscribing to wallet address change"}]},{"type":"element","tag":"code","props":{"code":"import { web3 } from '.';\n\nweb3.currentProvider.on('accountsChanged', callback);\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'.'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"currentProvider"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'accountsChanged'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"callback"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":");"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"watching-network-change"},"children":[{"type":"text","value":"Watching network change"}]},{"type":"element","tag":"code","props":{"code":"ethereum.on('chainChanged', handler: (chainId: string) => void);\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"ethereum"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'chainChanged'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"handler"}]},{"type":"element","tag":"span","props":{"class":"ct-dbcf14"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"adding-custom-token-to-wallet"},"children":[{"type":"text","value":"Adding custom token to wallet"}]},{"type":"element","tag":"code","props":{"code":"window.ethereum\n .request({\n method: 'wallet_watchAsset',\n params: {\n type: 'ERC20',\n options: {\n address: '0xb60e8dd61c5d32be8058bb8eb970870f07233155',\n symbol: 'FOO',\n decimals: 18,\n image: 'https://foo.io/token-image.svg',\n },\n },\n })\n .then((success) => {\n if (success) {\n console.log('FOO successfully added to wallet!')\n } else {\n throw new Error('Something went wrong.')\n }\n })\n .catch(console.error)\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"window"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"ethereum"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"request"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" method: "}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'wallet_watchAsset'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" params: {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" type: "}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'ERC20'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" options: {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" address: "}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'0xb60e8dd61c5d32be8058bb8eb970870f07233155'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" symbol: "}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'FOO'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" decimals: "}]},{"type":"element","tag":"span","props":{"class":"ct-d68aa3"},"children":[{"type":"text","value":"18"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" image: "}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'https://foo.io/token-image.svg'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-b083a6"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-a35ac1"},"children":[{"type":"text","value":"then"}]},{"type":"element","tag":"span","props":{"class":"ct-b083a6"},"children":[{"type":"text","value":"(("}]},{"type":"element","tag":"span","props":{"class":"ct-b0eabc"},"children":[{"type":"text","value":"success"}]},{"type":"element","tag":"span","props":{"class":"ct-b083a6"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"class":"ct-940990"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-b083a6"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"if"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"success"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":") {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'FOO successfully added to wallet!'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"else"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"throw"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"new"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f2dcb5"},"children":[{"type":"text","value":"Error"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'Something went wrong.'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"catch"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"error"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":")"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"changing-network-to-custom"},"children":[{"type":"text","value":"Changing network to custom"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Checking current chainId:"}]},{"type":"element","tag":"code","props":{"code":"const getChainID = async () => {\n return ethereum.request({ method: 'eth_chainId' })\n}\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"getChainID"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"class":"ct-123e61"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"ethereum"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"request"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"({ method: "}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'eth_chainId'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Asking wallet to change current network:"}]},{"type":"element","tag":"code","props":{"code":"try {\n await window.ethereum.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: '0x03' }], // ropsten chainID (3) in hex\n });\n} catch (switchError) {\n // This error code indicates that the chain has not been added to MetaMask.\n if (error.code === 4902) {\n try {\n await window.ethereum.request({\n method: 'wallet_addEthereumChain',\n params: [{ \n chainId: '0x03', // ropsten chainID (3) in hex\n chainName: 'Ropsten Test Network', \n nativeCurrency: { \n name: 'ETH',\n symbol: 'ETH',\n decimals: 18\n }, \n rpcUrls: ['https://ropsten.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161'], \n blockExplorerUrls: ['https://ropsten.etherscan.io'] \n }] ,\n });\n } catch (addError) {\n // handle \"add\" error\n }\n }\n // handle other \"switch\" errors\n}\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"try"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"window"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"ethereum"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"request"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" method: "}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'wallet_switchEthereumChain'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" params: [{ chainId: "}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'0x03'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" }], "}]},{"type":"element","tag":"span","props":{"class":"ct-41a6ec"},"children":[{"type":"text","value":"// ropsten chainID (3) in hex"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" });"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"} "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"catch"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"switchError"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":") {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-41a6ec"},"children":[{"type":"text","value":"// This error code indicates that the chain has not been added to MetaMask."}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"if"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"error"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"code"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"==="}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d68aa3"},"children":[{"type":"text","value":"4902"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":") {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"try"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"window"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"ethereum"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-06153f"},"children":[{"type":"text","value":"request"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" method: "}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'wallet_addEthereumChain'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" params: [{ "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" chainId: "}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'0x03'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-41a6ec"},"children":[{"type":"text","value":"// ropsten chainID (3) in hex"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" chainName: "}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'Ropsten Test Network'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":", "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" nativeCurrency: { "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" name: "}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'ETH'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" symbol: "}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'ETH'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" decimals: "}]},{"type":"element","tag":"span","props":{"class":"ct-d68aa3"},"children":[{"type":"text","value":"18"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" }, "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" rpcUrls: ["}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'https://ropsten.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"], "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" blockExplorerUrls: ["}]},{"type":"element","tag":"span","props":{"class":"ct-e623ce"},"children":[{"type":"text","value":"'https://ropsten.etherscan.io'"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"] "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" }] ,"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" });"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-226c8e"},"children":[{"type":"text","value":"catch"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-dde42d"},"children":[{"type":"text","value":"addError"}]},{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":") {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-41a6ec"},"children":[{"type":"text","value":"// handle \"add\" error"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-41a6ec"},"children":[{"type":"text","value":"// handle other \"switch\" errors"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-20fec6"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-d68aa3{color:#79C0FF}.ct-dbcf14{color:#C9D1D9}.ct-f2dcb5{color:#79C0FF}.ct-5ce9b7{color:#A5D6FF}.ct-4d811b{color:#79C0FF}.ct-b0eabc{color:#FFA657}.ct-446270{color:#FF7B72}.ct-a35ac1{color:#D2A8FF}.ct-b083a6{color:#C9D1D9}.ct-940990{color:#FF7B72}.ct-06153f{color:#D2A8FF}.ct-ed33ff{color:#79C0FF}.ct-123e61{color:#FF7B72}.ct-41a6ec{color:#8B949E}.ct-e623ce{color:#A5D6FF}.ct-dde42d{color:#C9D1D9}.ct-20fec6{color:#C9D1D9}.ct-226c8e{color:#FF7B72}.light .ct-226c8e{color:#859900}.light .ct-20fec6{color:#657B83}.light .ct-dde42d{color:#268BD2}.light .ct-e623ce{color:#2AA198}.light .ct-41a6ec{color:#93A1A1}.light .ct-123e61{color:#073642}.light .ct-ed33ff{color:#268BD2}.light .ct-06153f{color:#268BD2}.light .ct-940990{color:#073642}.light .ct-b083a6{color:#657B83}.light .ct-a35ac1{color:#268BD2}.light .ct-446270{color:#859900}.light .ct-b0eabc{color:#657B83}.light .ct-4d811b{color:#859900}.light .ct-5ce9b7{color:#657B83}.light .ct-f2dcb5{color:#859900}.light .ct-dbcf14{color:#859900}.light .ct-d68aa3{color:#D33682}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"connecting-to-node","depth":2,"text":"Connecting to node"},{"id":"getting-wallet-balance","depth":2,"text":"Getting wallet balance"},{"id":"getting-wallet-address","depth":2,"text":"Getting wallet address"},{"id":"sending-transaction","depth":2,"text":"Sending transaction"},{"id":"estimating-transaction-fee","depth":2,"text":"Estimating transaction FEE"},{"id":"subscribing-to-wallet-address-change","depth":2,"text":"Subscribing to wallet address change"},{"id":"watching-network-change","depth":2,"text":"Watching network change"},{"id":"adding-custom-token-to-wallet","depth":2,"text":"Adding custom token to wallet"},{"id":"changing-network-to-custom","depth":2,"text":"Changing network to custom"}]}},"_type":"markdown","_id":"content:Blockchain:Common typescript examples.md","_source":"content","_file":"Blockchain/Common typescript examples.md","_extension":"md"}