mirror of
https://github.com/muerwre/muerwre.github.io.git
synced 2025-04-25 02:46:39 +07:00

Author: Fedor Katurov <gotham48@gmail.com> Date: Sun Jan 1 15:50:55 2023 +0600 vault backup: 2023-01-01 15:50:55
1 line
No EOL
98 KiB
JSON
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-ecbe36"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"Web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'web3'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"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-8d5ac8"},"children":[{"type":"text","value":"// URL of your node"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-688799"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3ff5a3"},"children":[{"type":"text","value":"PROVIDER_URL"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'https://...'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"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-ecbe36"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-688799"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3ff5a3"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"new"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"Web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"Web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"givenProvider"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"||"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3ff5a3"},"children":[{"type":"text","value":"PROVIDER_URL"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"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-1e78b0"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-3f2b20"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-551cde"},"children":[{"type":"text","value":"getBalance"}]},{"type":"element","tag":"span","props":{"class":"ct-3f2b20"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-284e4e"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-3f2b20"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-1e78b0"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"class":"ct-3f2b20"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-eebc4f"},"children":[{"type":"text","value":"address"}]},{"type":"element","tag":"span","props":{"class":"ct-284e4e"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"class":"ct-3f2b20"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-58b177"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"class":"ct-3f2b20"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"class":"ct-1e78b0"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-3f2b20"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"eth"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"getBalance"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"address"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"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-8d5ac8"},"children":[{"type":"text","value":"// first we need to authorize"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-688799"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"authorize"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-688799"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"class":"ct-688799"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"currentProvider"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"request"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"({ method: "}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'eth_requestAccounts'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" });"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"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-8d5ac8"},"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-688799"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"getCurrentAddressUser"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"class":"ct-688799"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"currentProvider"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"selectedAddress"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"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-688799"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"transfer"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-688799"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" ({ "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":", "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"to"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":", "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":", "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"memo"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":", "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"privateKey"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":", "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"gasLimit"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"}) "}]},{"type":"element","tag":"span","props":{"class":"ct-688799"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-688799"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3ff5a3"},"children":[{"type":"text","value":"nonce"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"eth"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"getTransactionCount"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-688799"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3ff5a3"},"children":[{"type":"text","value":"gasPrice"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"eth"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"getGasPrice"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"();"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-688799"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3ff5a3"},"children":[{"type":"text","value":"rawTx"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"to"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" value: "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"utils"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"toHex"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"Web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"utils"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"toWei"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'ether'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":")),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" gasLimit: "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"utils"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"toHex"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"gasLimit"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" gasPrice: "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"utils"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"toHex"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"gasPrice"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" nonce: "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"utils"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"toHex"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"nonce"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" data: "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"memo"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" };"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-688799"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3ff5a3"},"children":[{"type":"text","value":"privateKeyBuffer"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"EthUtil"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"toBuffer"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"privateKey"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-688799"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3ff5a3"},"children":[{"type":"text","value":"tx"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"new"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"Transaction"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"rawTx"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"tx"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"sign"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"privateKeyBuffer"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":");"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-688799"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3ff5a3"},"children":[{"type":"text","value":"serializedTx"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"tx"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"serialize"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"();"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3ff5a3"},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"eth"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"sendSignedTransaction"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"`0x${"}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"serializedTx"}]},{"type":"element","tag":"span","props":{"class":"ct-22013b"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"toString"}]},{"type":"element","tag":"span","props":{"class":"ct-22013b"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'hex'"}]},{"type":"element","tag":"span","props":{"class":"ct-22013b"},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"}`"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" );"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"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-ecbe36"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'.'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"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-688799"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"estimateFee"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-688799"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" ({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"to"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"memo"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"}) "}]},{"type":"element","tag":"span","props":{"class":"ct-688799"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-688799"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3ff5a3"},"children":[{"type":"text","value":"gasPrice"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"eth"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"getGasPrice"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"();"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-688799"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3ff5a3"},"children":[{"type":"text","value":"gasLimit"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"eth"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"estimateGas"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"to"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" value: "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"utils"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"toHex"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"utils"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"toWei"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'ether'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":")),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" data: "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"utils"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"asciiToHex"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"memo"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" })."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"call"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"();"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"utils"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"fromWei"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-11980a"},"children":[{"type":"text","value":"BigInt"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"gasPrice"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"toString"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"())"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"multiply"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-11980a"},"children":[{"type":"text","value":"BigInt"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"gasLimit"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"toString"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"()))"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"toString"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" );"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"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-ecbe36"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'.'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"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-9da9a5"},"children":[{"type":"text","value":"web3"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"currentProvider"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'accountsChanged'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"callback"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"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-9da9a5"},"children":[{"type":"text","value":"ethereum"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'chainChanged'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"handler"}]},{"type":"element","tag":"span","props":{"class":"ct-8a3ec7"},"children":[{"type":"text","value":":"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"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-9da9a5"},"children":[{"type":"text","value":"window"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"ethereum"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"request"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" method: "}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'wallet_watchAsset'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" params: {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" type: "}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'ERC20'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" options: {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" address: "}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'0xb60e8dd61c5d32be8058bb8eb970870f07233155'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" symbol: "}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'FOO'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" decimals: "}]},{"type":"element","tag":"span","props":{"class":"ct-372dd9"},"children":[{"type":"text","value":"18"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" image: "}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'https://foo.io/token-image.svg'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-3f2b20"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-551cde"},"children":[{"type":"text","value":"then"}]},{"type":"element","tag":"span","props":{"class":"ct-3f2b20"},"children":[{"type":"text","value":"(("}]},{"type":"element","tag":"span","props":{"class":"ct-eebc4f"},"children":[{"type":"text","value":"success"}]},{"type":"element","tag":"span","props":{"class":"ct-3f2b20"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"class":"ct-1e78b0"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-3f2b20"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"if"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"success"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":") {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'FOO successfully added to wallet!'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"else"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"throw"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"new"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-11980a"},"children":[{"type":"text","value":"Error"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'Something went wrong.'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"catch"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"error"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"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-688799"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"getChainID"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-688799"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"class":"ct-688799"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"ethereum"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"request"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"({ method: "}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'eth_chainId'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"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-ecbe36"},"children":[{"type":"text","value":"try"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"window"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"ethereum"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"request"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" method: "}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'wallet_switchEthereumChain'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" params: [{ chainId: "}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'0x03'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" }], "}]},{"type":"element","tag":"span","props":{"class":"ct-8d5ac8"},"children":[{"type":"text","value":"// ropsten chainID (3) in hex"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" });"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"} "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"catch"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"switchError"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":") {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d5ac8"},"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-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"if"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"error"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"code"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"==="}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-372dd9"},"children":[{"type":"text","value":"4902"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":") {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"try"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"window"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"ethereum"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-4ebdb6"},"children":[{"type":"text","value":"request"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" method: "}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'wallet_addEthereumChain'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" params: [{ "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" chainId: "}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'0x03'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-8d5ac8"},"children":[{"type":"text","value":"// ropsten chainID (3) in hex"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" chainName: "}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'Ropsten Test Network'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":", "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" nativeCurrency: { "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" name: "}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'ETH'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" symbol: "}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'ETH'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" decimals: "}]},{"type":"element","tag":"span","props":{"class":"ct-372dd9"},"children":[{"type":"text","value":"18"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" }, "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" rpcUrls: ["}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'https://ropsten.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"], "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" blockExplorerUrls: ["}]},{"type":"element","tag":"span","props":{"class":"ct-32dbb6"},"children":[{"type":"text","value":"'https://ropsten.etherscan.io'"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"] "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" }] ,"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" });"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-ecbe36"},"children":[{"type":"text","value":"catch"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-9da9a5"},"children":[{"type":"text","value":"addError"}]},{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":") {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d5ac8"},"children":[{"type":"text","value":"// handle \"add\" error"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d5ac8"},"children":[{"type":"text","value":"// handle other \"switch\" errors"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-9f060e"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-372dd9{color:#79C0FF}.ct-8a3ec7{color:#C9D1D9}.ct-11980a{color:#79C0FF}.ct-22013b{color:#A5D6FF}.ct-58b177{color:#79C0FF}.ct-eebc4f{color:#FFA657}.ct-284e4e{color:#FF7B72}.ct-551cde{color:#D2A8FF}.ct-3f2b20{color:#C9D1D9}.ct-1e78b0{color:#FF7B72}.ct-4ebdb6{color:#D2A8FF}.ct-3ff5a3{color:#79C0FF}.ct-688799{color:#FF7B72}.ct-8d5ac8{color:#8B949E}.ct-32dbb6{color:#A5D6FF}.ct-9da9a5{color:#C9D1D9}.ct-9f060e{color:#C9D1D9}.ct-ecbe36{color:#FF7B72}.light .ct-ecbe36{color:#859900}.light .ct-9f060e{color:#657B83}.light .ct-9da9a5{color:#268BD2}.light .ct-32dbb6{color:#2AA198}.light .ct-8d5ac8{color:#93A1A1}.light .ct-688799{color:#073642}.light .ct-3ff5a3{color:#268BD2}.light .ct-4ebdb6{color:#268BD2}.light .ct-1e78b0{color:#073642}.light .ct-3f2b20{color:#657B83}.light .ct-551cde{color:#268BD2}.light .ct-284e4e{color:#859900}.light .ct-eebc4f{color:#657B83}.light .ct-58b177{color:#859900}.light .ct-22013b{color:#657B83}.light .ct-11980a{color:#859900}.light .ct-8a3ec7{color:#859900}.light .ct-372dd9{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"} |