├── .gitignore ├── README.md ├── access-list ├── Contract.sol └── index.js ├── graphql └── index.js ├── package.json ├── state-override └── allowance-erc20.js ├── tracer └── trace.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | .pnpm-debug.log* 9 | 10 | # Diagnostic reports (https://nodejs.org/api/report.html) 11 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 12 | 13 | # Runtime data 14 | pids 15 | *.pid 16 | *.seed 17 | *.pid.lock 18 | 19 | # Directory for instrumented libs generated by jscoverage/JSCover 20 | lib-cov 21 | 22 | # Coverage directory used by tools like istanbul 23 | coverage 24 | *.lcov 25 | 26 | # nyc test coverage 27 | .nyc_output 28 | 29 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 30 | .grunt 31 | 32 | # Bower dependency directory (https://bower.io/) 33 | bower_components 34 | 35 | # node-waf configuration 36 | .lock-wscript 37 | 38 | # Compiled binary addons (https://nodejs.org/api/addons.html) 39 | build/Release 40 | 41 | # Dependency directories 42 | node_modules/ 43 | jspm_packages/ 44 | 45 | # Snowpack dependency directory (https://snowpack.dev/) 46 | web_modules/ 47 | 48 | # TypeScript cache 49 | *.tsbuildinfo 50 | 51 | # Optional npm cache directory 52 | .npm 53 | 54 | # Optional eslint cache 55 | .eslintcache 56 | 57 | # Optional stylelint cache 58 | .stylelintcache 59 | 60 | # Microbundle cache 61 | .rpt2_cache/ 62 | .rts2_cache_cjs/ 63 | .rts2_cache_es/ 64 | .rts2_cache_umd/ 65 | 66 | # Optional REPL history 67 | .node_repl_history 68 | 69 | # Output of 'npm pack' 70 | *.tgz 71 | 72 | # Yarn Integrity file 73 | .yarn-integrity 74 | 75 | # dotenv environment variable files 76 | .env 77 | .env.development.local 78 | .env.test.local 79 | .env.production.local 80 | .env.local 81 | 82 | # parcel-bundler cache (https://parceljs.org/) 83 | .cache 84 | .parcel-cache 85 | 86 | # Next.js build output 87 | .next 88 | out 89 | 90 | # Nuxt.js build / generate output 91 | .nuxt 92 | dist 93 | 94 | # Gatsby files 95 | .cache/ 96 | # Comment in the public line in if your project uses Gatsby and not Next.js 97 | # https://nextjs.org/blog/next-9-1#public-directory-support 98 | # public 99 | 100 | # vuepress build output 101 | .vuepress/dist 102 | 103 | # vuepress v2.x temp and cache directory 104 | .temp 105 | .cache 106 | 107 | # Serverless directories 108 | .serverless/ 109 | 110 | # FuseBox cache 111 | .fusebox/ 112 | 113 | # DynamoDB Local files 114 | .dynamodb/ 115 | 116 | # TernJS port file 117 | .tern-port 118 | 119 | # Stores VSCode versions used for testing VSCode extensions 120 | .vscode-test 121 | 122 | # yarn v2 123 | .yarn/cache 124 | .yarn/unplugged 125 | .yarn/build-state.yml 126 | .yarn/install-state.gz 127 | .pnp.* -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Geth Examples 2 | 3 | Examples of interacting with Geth -------------------------------------------------------------------------------- /access-list/Contract.sol: -------------------------------------------------------------------------------- 1 | pragma solidity ^0.8.0; 2 | 3 | contract Contract { 4 | // 0x0000000000000000000000000000000000000000000000000000000000000000 5 | uint256 slot0; 6 | uint256 slot1; 7 | uint256 slot2; 8 | uint256 slot3; 9 | uint256 slot4; 10 | uint256 slot5; 11 | uint256 slot6; 12 | uint256 slot7; 13 | uint256 slot8; 14 | uint256 slot9; 15 | 16 | uint256 dump; 17 | 18 | constructor() { 19 | slot0 = 10; 20 | slot1 = 10; 21 | slot2 = 10; 22 | slot3 = 10; 23 | slot4 = 10; 24 | slot5 = 10; 25 | slot6 = 10; 26 | slot7 = 10; 27 | slot8 = 10; 28 | slot9 = 10; 29 | } 30 | 31 | function blob() public { 32 | uint256 a = slot0; 33 | a = slot1; 34 | a = slot2; 35 | a = slot3; 36 | a = slot4; 37 | a = slot5; 38 | a = slot6; 39 | a = slot7; 40 | a = slot8; 41 | a = slot9; 42 | 43 | dump = block.number; 44 | } 45 | } -------------------------------------------------------------------------------- /access-list/index.js: -------------------------------------------------------------------------------- 1 | const { ethers } = require('ethers') 2 | 3 | // geth --dev 4 | const provider = new ethers.providers.JsonRpcProvider() 5 | 6 | // Raw bytecode and abi for 'contract' 7 | const deployBytecode = `0x6080604052348015600f57600080fd5b50600a600081905550600a600181905550600a600281905550600a600381905550600a600481905550600a600581905550600a600681905550600a600781905550600a600881905550600a60098190555060a88061006e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063fde0e7a814602d575b600080fd5b60336035565b005b600080549050600154905060025490506003549050600454905060055490506006549050600754905060085490506009549050600a80819055505056fea264697066735822122053b7439483072e9672f620b53980874131f65127d2929bc25a0889c4dfcc302664736f6c634300080a0033` 8 | const abi = `[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"blob","outputs":[],"stateMutability":"nonpayable","type":"function"}]` 9 | 10 | const main = async () => { 11 | // Lets go 12 | const signer = await provider.getSigner(0) 13 | const walletAddress = await signer.getAddress() 14 | 15 | // Address nonce 16 | const nonce = await signer.getTransactionCount() 17 | const contractAddress = ethers.utils.getContractAddress({ 18 | from: walletAddress, 19 | nonce 20 | }) 21 | 22 | // Deploy contract 23 | await signer.sendTransaction({ 24 | data: deployBytecode 25 | }) 26 | 27 | // Contract 28 | const contract = new ethers.Contract(contractAddress, abi, signer) 29 | 30 | // Default params 31 | const params = { 32 | from: walletAddress, 33 | to: contractAddress, 34 | data: contract.interface.encodeFunctionData('blob') 35 | } 36 | 37 | // Create transaction list 38 | const accessListDump = await provider.send('eth_createAccessList', [{ ...params, gas: '0x55730' }, "pending"]) 39 | const overrides = { 40 | type: 2, 41 | accessList: accessListDump.accessList 42 | } 43 | 44 | const tx0 = await signer.sendTransaction(params) 45 | const tx0Recp = await tx0.wait() 46 | 47 | const tx1 = await signer.sendTransaction({ ...params, ...overrides }) 48 | const tx1Recp = await tx1.wait() 49 | 50 | 51 | console.log('gasUsed (default)', tx0Recp.gasUsed.toString()) 52 | console.log('========') 53 | console.log('accessList', JSON.stringify(overrides, null, 4)) 54 | console.log('gasUsed (with access list)', tx1Recp.gasUsed.toString()) 55 | } 56 | 57 | main() -------------------------------------------------------------------------------- /graphql/index.js: -------------------------------------------------------------------------------- 1 | const { ethers } = require("ethers"); 2 | const { request } = require("graphql-request"); 3 | 4 | // Make sure you start geth with: 5 | // geth --graphql --http --http.api web3,net,eth,debug --http.addr "0.0.0.0" --http.port 8545 6 | 7 | // Pads bytes(0-32) to bytes 32 8 | const padToBytes32 = (x) => { 9 | return ethers.utils.hexlify( 10 | ethers.utils.zeroPad("0x" + x.replace("0x", ""), 32) 11 | ); 12 | }; 13 | 14 | const decodeReserve = (rRaw) => { 15 | rRaw = rRaw.replace("0x", ""); 16 | 17 | const decodeX = (x, t) => ethers.utils.defaultAbiCoder.decode([t], x)[0]; 18 | 19 | const blockTimestampRaw = padToBytes32(rRaw.slice(0, 8)); 20 | const reserve1Raw = padToBytes32(rRaw.slice(8, 36)); 21 | const reserve0Raw = padToBytes32(rRaw.slice(36, 64)); 22 | 23 | const blockTimestamp = decodeX(blockTimestampRaw, "uint32"); 24 | const reserve1 = decodeX(reserve1Raw, "uint112"); 25 | const reserve0 = decodeX(reserve0Raw, "uint112"); 26 | 27 | return { 28 | blockTimestamp, 29 | reserve1, 30 | reserve0, 31 | }; 32 | }; 33 | 34 | const main = async () => { 35 | const resp = await request( 36 | "http://localhost:8545/graphql", 37 | `{ block() { 38 | sushi_weth_usdc: account(address: "0xB4e16d0168e52d35CaCD2c6185b44281Ec28C9Dc") { 39 | reserve: storage(slot: "0x0000000000000000000000000000000000000000000000000000000000000008") 40 | } 41 | uni_weth_usdc: account(address: "0x397FF1542f962076d0BFE58eA045FfA2d347ACa0") { 42 | reserve: storage(slot: "0x0000000000000000000000000000000000000000000000000000000000000008") 43 | } 44 | } 45 | 46 | }` 47 | ); 48 | 49 | console.log(decodeReserve(resp.block.sushi_weth_usdc.reserve)) 50 | console.log(decodeReserve(resp.block.uni_weth_usdc.reserve)); 51 | }; 52 | 53 | main(); 54 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "ethers": "^5.5.2", 4 | "graphql-request": "^3.7.0" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /state-override/allowance-erc20.js: -------------------------------------------------------------------------------- 1 | const { ethers } = require("ethers"); 2 | const { parseUnits } = require("ethers/lib/utils"); 3 | 4 | const provider = new ethers.providers.JsonRpcProvider(); 5 | 6 | const dai = "0x6b175474e89094c44da98b954eedeac495271d0f"; 7 | const abi = 8 | '[{"inputs":[{"internalType":"uint256","name":"chainId_","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"src","type":"address"},{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":true,"inputs":[{"indexed":true,"internalType":"bytes4","name":"sig","type":"bytes4"},{"indexed":true,"internalType":"address","name":"usr","type":"address"},{"indexed":true,"internalType":"bytes32","name":"arg1","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"arg2","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"LogNote","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"src","type":"address"},{"indexed":true,"internalType":"address","name":"dst","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"guy","type":"address"}],"name":"deny","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"move","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"bool","name":"allowed","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"pull","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"push","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"guy","type":"address"}],"name":"rely","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]'; 9 | 10 | const Dai = new ethers.Contract(dai, abi, provider); 11 | 12 | const main = async () => { 13 | const fromAddr = "0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe"; 14 | const toAddr = "0x52bc44d5378309ee2abf1539bf71de1b7d7be3b5"; 15 | const slot = 3; // Allowance slot (differs from contract to contract) 16 | 17 | // Nested mappings 18 | // https://ethereum.stackexchange.com/questions/102037/storage-limit-of-2-level-mapping/102220 19 | const temp = ethers.utils.solidityKeccak256( 20 | ["uint256", "uint256"], 21 | [fromAddr, slot] 22 | ); 23 | const index = ethers.utils.solidityKeccak256( 24 | ["uint256", "uint256"], 25 | [toAddr, temp] 26 | ); 27 | 28 | // Get data 29 | const { data } = await Dai.populateTransaction.allowance(fromAddr, toAddr); 30 | 31 | // eth_call default params 32 | const callParams = [ 33 | { 34 | from: fromAddr, 35 | to: dai, 36 | data, 37 | }, 38 | "latest", 39 | ]; 40 | 41 | // State Diff example 42 | const stateDiff = { 43 | [dai]: { 44 | stateDiff: { 45 | [index]: ethers.constants.MaxUint256.toHexString(), 46 | }, 47 | }, 48 | }; 49 | 50 | // Call with no state overrides 51 | const call1 = await provider.send("eth_call", callParams); 52 | 53 | // Call with no state overrides 54 | const call2 = await provider.send("eth_call", [...callParams, stateDiff]); 55 | 56 | console.log("Allowance of from -> to without stateDiff", call1); 57 | console.log("Allowance of from -> to *with* stateDiff ", call2); 58 | }; 59 | 60 | main(); 61 | -------------------------------------------------------------------------------- /tracer/trace.js: -------------------------------------------------------------------------------- 1 | const { ethers } = require("ethers"); 2 | 3 | const provider = new ethers.providers.JsonRpcProvider(); 4 | 5 | export const toRpcHexString = (bn) => { 6 | let val = bn.toHexString(); 7 | val = "0x" + val.replace("0x", "").replace(/^0+/, ""); 8 | 9 | if (val == "0x") { 10 | val = "0x0"; 11 | } 12 | 13 | return val; 14 | }; 15 | 16 | const main = async () => { 17 | const txResp = await provider.getTransactionReceipt('0x818b700de19d807ff9fa23c52fd6afd9dad7a419e0b9e6124edeecb4f53cbca8'); 18 | 19 | await provider.send("debug_traceCall", [ 20 | { 21 | from: txResp.from, 22 | to: txResp.to, 23 | value: toRpcHexString(txResp.value), 24 | gas: toRpcHexString(txResp.gasLimit), 25 | data: txResp.data, 26 | }, 27 | "14586706", 28 | { 29 | tracer: `{ 30 | data: [], 31 | fault: function(log) {}, 32 | step: function(log) { 33 | var s = log.op.toString(); 34 | if(s == "LOG0" || s == "LOG1" || s == "LOG2" || s == "LOG3" || s == "LOG4") { 35 | var myStack = []; 36 | var stackLength = log.stack.length(); 37 | for (var i = 0; i < stackLength; i++) { 38 | myStack.unshift(log.stack.peek(i)); 39 | } 40 | 41 | var offset = parseInt(myStack[stackLength - 1]); 42 | var length = parseInt(myStack[stackLength - 2]); 43 | this.data.push({ 44 | op: s, 45 | address: log.contract.getAddress(), 46 | caller: log.contract.getCaller(), 47 | stack: myStack, 48 | memory: log.memory.slice(offset, offset + length), 49 | }); 50 | } 51 | }, 52 | result: function() { return this.data; }} 53 | `, 54 | }, 55 | ]); 56 | 57 | // {"tracer":"callTracer"} for gethtrace2 58 | } -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@ethersproject/abi@5.5.0", "@ethersproject/abi@^5.5.0": 6 | version "5.5.0" 7 | resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.5.0.tgz#fb52820e22e50b854ff15ce1647cc508d6660613" 8 | integrity sha512-loW7I4AohP5KycATvc0MgujU6JyCHPqHdeoo9z3Nr9xEiNioxa65ccdm1+fsoJhkuhdRtfcL8cfyGamz2AxZ5w== 9 | dependencies: 10 | "@ethersproject/address" "^5.5.0" 11 | "@ethersproject/bignumber" "^5.5.0" 12 | "@ethersproject/bytes" "^5.5.0" 13 | "@ethersproject/constants" "^5.5.0" 14 | "@ethersproject/hash" "^5.5.0" 15 | "@ethersproject/keccak256" "^5.5.0" 16 | "@ethersproject/logger" "^5.5.0" 17 | "@ethersproject/properties" "^5.5.0" 18 | "@ethersproject/strings" "^5.5.0" 19 | 20 | "@ethersproject/abstract-provider@5.5.1", "@ethersproject/abstract-provider@^5.5.0": 21 | version "5.5.1" 22 | resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.5.1.tgz#2f1f6e8a3ab7d378d8ad0b5718460f85649710c5" 23 | integrity sha512-m+MA/ful6eKbxpr99xUYeRvLkfnlqzrF8SZ46d/xFB1A7ZVknYc/sXJG0RcufF52Qn2jeFj1hhcoQ7IXjNKUqg== 24 | dependencies: 25 | "@ethersproject/bignumber" "^5.5.0" 26 | "@ethersproject/bytes" "^5.5.0" 27 | "@ethersproject/logger" "^5.5.0" 28 | "@ethersproject/networks" "^5.5.0" 29 | "@ethersproject/properties" "^5.5.0" 30 | "@ethersproject/transactions" "^5.5.0" 31 | "@ethersproject/web" "^5.5.0" 32 | 33 | "@ethersproject/abstract-signer@5.5.0", "@ethersproject/abstract-signer@^5.5.0": 34 | version "5.5.0" 35 | resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.5.0.tgz#590ff6693370c60ae376bf1c7ada59eb2a8dd08d" 36 | integrity sha512-lj//7r250MXVLKI7sVarXAbZXbv9P50lgmJQGr2/is82EwEb8r7HrxsmMqAjTsztMYy7ohrIhGMIml+Gx4D3mA== 37 | dependencies: 38 | "@ethersproject/abstract-provider" "^5.5.0" 39 | "@ethersproject/bignumber" "^5.5.0" 40 | "@ethersproject/bytes" "^5.5.0" 41 | "@ethersproject/logger" "^5.5.0" 42 | "@ethersproject/properties" "^5.5.0" 43 | 44 | "@ethersproject/address@5.5.0", "@ethersproject/address@^5.5.0": 45 | version "5.5.0" 46 | resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.5.0.tgz#bcc6f576a553f21f3dd7ba17248f81b473c9c78f" 47 | integrity sha512-l4Nj0eWlTUh6ro5IbPTgbpT4wRbdH5l8CQf7icF7sb/SI3Nhd9Y9HzhonTSTi6CefI0necIw7LJqQPopPLZyWw== 48 | dependencies: 49 | "@ethersproject/bignumber" "^5.5.0" 50 | "@ethersproject/bytes" "^5.5.0" 51 | "@ethersproject/keccak256" "^5.5.0" 52 | "@ethersproject/logger" "^5.5.0" 53 | "@ethersproject/rlp" "^5.5.0" 54 | 55 | "@ethersproject/base64@5.5.0", "@ethersproject/base64@^5.5.0": 56 | version "5.5.0" 57 | resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.5.0.tgz#881e8544e47ed976930836986e5eb8fab259c090" 58 | integrity sha512-tdayUKhU1ljrlHzEWbStXazDpsx4eg1dBXUSI6+mHlYklOXoXF6lZvw8tnD6oVaWfnMxAgRSKROg3cVKtCcppA== 59 | dependencies: 60 | "@ethersproject/bytes" "^5.5.0" 61 | 62 | "@ethersproject/basex@5.5.0", "@ethersproject/basex@^5.5.0": 63 | version "5.5.0" 64 | resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.5.0.tgz#e40a53ae6d6b09ab4d977bd037010d4bed21b4d3" 65 | integrity sha512-ZIodwhHpVJ0Y3hUCfUucmxKsWQA5TMnavp5j/UOuDdzZWzJlRmuOjcTMIGgHCYuZmHt36BfiSyQPSRskPxbfaQ== 66 | dependencies: 67 | "@ethersproject/bytes" "^5.5.0" 68 | "@ethersproject/properties" "^5.5.0" 69 | 70 | "@ethersproject/bignumber@5.5.0", "@ethersproject/bignumber@^5.5.0": 71 | version "5.5.0" 72 | resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.5.0.tgz#875b143f04a216f4f8b96245bde942d42d279527" 73 | integrity sha512-6Xytlwvy6Rn3U3gKEc1vP7nR92frHkv6wtVr95LFR3jREXiCPzdWxKQ1cx4JGQBXxcguAwjA8murlYN2TSiEbg== 74 | dependencies: 75 | "@ethersproject/bytes" "^5.5.0" 76 | "@ethersproject/logger" "^5.5.0" 77 | bn.js "^4.11.9" 78 | 79 | "@ethersproject/bytes@5.5.0", "@ethersproject/bytes@^5.5.0": 80 | version "5.5.0" 81 | resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.5.0.tgz#cb11c526de657e7b45d2e0f0246fb3b9d29a601c" 82 | integrity sha512-ABvc7BHWhZU9PNM/tANm/Qx4ostPGadAuQzWTr3doklZOhDlmcBqclrQe/ZXUIj3K8wC28oYeuRa+A37tX9kog== 83 | dependencies: 84 | "@ethersproject/logger" "^5.5.0" 85 | 86 | "@ethersproject/constants@5.5.0", "@ethersproject/constants@^5.5.0": 87 | version "5.5.0" 88 | resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.5.0.tgz#d2a2cd7d94bd1d58377d1d66c4f53c9be4d0a45e" 89 | integrity sha512-2MsRRVChkvMWR+GyMGY4N1sAX9Mt3J9KykCsgUFd/1mwS0UH1qw+Bv9k1UJb3X3YJYFco9H20pjSlOIfCG5HYQ== 90 | dependencies: 91 | "@ethersproject/bignumber" "^5.5.0" 92 | 93 | "@ethersproject/contracts@5.5.0": 94 | version "5.5.0" 95 | resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.5.0.tgz#b735260d4bd61283a670a82d5275e2a38892c197" 96 | integrity sha512-2viY7NzyvJkh+Ug17v7g3/IJC8HqZBDcOjYARZLdzRxrfGlRgmYgl6xPRKVbEzy1dWKw/iv7chDcS83pg6cLxg== 97 | dependencies: 98 | "@ethersproject/abi" "^5.5.0" 99 | "@ethersproject/abstract-provider" "^5.5.0" 100 | "@ethersproject/abstract-signer" "^5.5.0" 101 | "@ethersproject/address" "^5.5.0" 102 | "@ethersproject/bignumber" "^5.5.0" 103 | "@ethersproject/bytes" "^5.5.0" 104 | "@ethersproject/constants" "^5.5.0" 105 | "@ethersproject/logger" "^5.5.0" 106 | "@ethersproject/properties" "^5.5.0" 107 | "@ethersproject/transactions" "^5.5.0" 108 | 109 | "@ethersproject/hash@5.5.0", "@ethersproject/hash@^5.5.0": 110 | version "5.5.0" 111 | resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.5.0.tgz#7cee76d08f88d1873574c849e0207dcb32380cc9" 112 | integrity sha512-dnGVpK1WtBjmnp3mUT0PlU2MpapnwWI0PibldQEq1408tQBAbZpPidkWoVVuNMOl/lISO3+4hXZWCL3YV7qzfg== 113 | dependencies: 114 | "@ethersproject/abstract-signer" "^5.5.0" 115 | "@ethersproject/address" "^5.5.0" 116 | "@ethersproject/bignumber" "^5.5.0" 117 | "@ethersproject/bytes" "^5.5.0" 118 | "@ethersproject/keccak256" "^5.5.0" 119 | "@ethersproject/logger" "^5.5.0" 120 | "@ethersproject/properties" "^5.5.0" 121 | "@ethersproject/strings" "^5.5.0" 122 | 123 | "@ethersproject/hdnode@5.5.0", "@ethersproject/hdnode@^5.5.0": 124 | version "5.5.0" 125 | resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.5.0.tgz#4a04e28f41c546f7c978528ea1575206a200ddf6" 126 | integrity sha512-mcSOo9zeUg1L0CoJH7zmxwUG5ggQHU1UrRf8jyTYy6HxdZV+r0PBoL1bxr+JHIPXRzS6u/UW4mEn43y0tmyF8Q== 127 | dependencies: 128 | "@ethersproject/abstract-signer" "^5.5.0" 129 | "@ethersproject/basex" "^5.5.0" 130 | "@ethersproject/bignumber" "^5.5.0" 131 | "@ethersproject/bytes" "^5.5.0" 132 | "@ethersproject/logger" "^5.5.0" 133 | "@ethersproject/pbkdf2" "^5.5.0" 134 | "@ethersproject/properties" "^5.5.0" 135 | "@ethersproject/sha2" "^5.5.0" 136 | "@ethersproject/signing-key" "^5.5.0" 137 | "@ethersproject/strings" "^5.5.0" 138 | "@ethersproject/transactions" "^5.5.0" 139 | "@ethersproject/wordlists" "^5.5.0" 140 | 141 | "@ethersproject/json-wallets@5.5.0", "@ethersproject/json-wallets@^5.5.0": 142 | version "5.5.0" 143 | resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.5.0.tgz#dd522d4297e15bccc8e1427d247ec8376b60e325" 144 | integrity sha512-9lA21XQnCdcS72xlBn1jfQdj2A1VUxZzOzi9UkNdnokNKke/9Ya2xA9aIK1SC3PQyBDLt4C+dfps7ULpkvKikQ== 145 | dependencies: 146 | "@ethersproject/abstract-signer" "^5.5.0" 147 | "@ethersproject/address" "^5.5.0" 148 | "@ethersproject/bytes" "^5.5.0" 149 | "@ethersproject/hdnode" "^5.5.0" 150 | "@ethersproject/keccak256" "^5.5.0" 151 | "@ethersproject/logger" "^5.5.0" 152 | "@ethersproject/pbkdf2" "^5.5.0" 153 | "@ethersproject/properties" "^5.5.0" 154 | "@ethersproject/random" "^5.5.0" 155 | "@ethersproject/strings" "^5.5.0" 156 | "@ethersproject/transactions" "^5.5.0" 157 | aes-js "3.0.0" 158 | scrypt-js "3.0.1" 159 | 160 | "@ethersproject/keccak256@5.5.0", "@ethersproject/keccak256@^5.5.0": 161 | version "5.5.0" 162 | resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.5.0.tgz#e4b1f9d7701da87c564ffe336f86dcee82983492" 163 | integrity sha512-5VoFCTjo2rYbBe1l2f4mccaRFN/4VQEYFwwn04aJV2h7qf4ZvI2wFxUE1XOX+snbwCLRzIeikOqtAoPwMza9kg== 164 | dependencies: 165 | "@ethersproject/bytes" "^5.5.0" 166 | js-sha3 "0.8.0" 167 | 168 | "@ethersproject/logger@5.5.0", "@ethersproject/logger@^5.5.0": 169 | version "5.5.0" 170 | resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.5.0.tgz#0c2caebeff98e10aefa5aef27d7441c7fd18cf5d" 171 | integrity sha512-rIY/6WPm7T8n3qS2vuHTUBPdXHl+rGxWxW5okDfo9J4Z0+gRRZT0msvUdIJkE4/HS29GUMziwGaaKO2bWONBrg== 172 | 173 | "@ethersproject/networks@5.5.1", "@ethersproject/networks@^5.5.0": 174 | version "5.5.1" 175 | resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.5.1.tgz#b7f7b9fb88dec1ea48f739b7fb9621311aa8ce6c" 176 | integrity sha512-tYRDM4zZtSUcKnD4UMuAlj7SeXH/k5WC4SP2u1Pn57++JdXHkRu2zwNkgNogZoxHzhm9Q6qqurDBVptHOsW49Q== 177 | dependencies: 178 | "@ethersproject/logger" "^5.5.0" 179 | 180 | "@ethersproject/pbkdf2@5.5.0", "@ethersproject/pbkdf2@^5.5.0": 181 | version "5.5.0" 182 | resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.5.0.tgz#e25032cdf02f31505d47afbf9c3e000d95c4a050" 183 | integrity sha512-SaDvQFvXPnz1QGpzr6/HToLifftSXGoXrbpZ6BvoZhmx4bNLHrxDe8MZisuecyOziP1aVEwzC2Hasj+86TgWVg== 184 | dependencies: 185 | "@ethersproject/bytes" "^5.5.0" 186 | "@ethersproject/sha2" "^5.5.0" 187 | 188 | "@ethersproject/properties@5.5.0", "@ethersproject/properties@^5.5.0": 189 | version "5.5.0" 190 | resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.5.0.tgz#61f00f2bb83376d2071baab02245f92070c59995" 191 | integrity sha512-l3zRQg3JkD8EL3CPjNK5g7kMx4qSwiR60/uk5IVjd3oq1MZR5qUg40CNOoEJoX5wc3DyY5bt9EbMk86C7x0DNA== 192 | dependencies: 193 | "@ethersproject/logger" "^5.5.0" 194 | 195 | "@ethersproject/providers@5.5.1": 196 | version "5.5.1" 197 | resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.5.1.tgz#ba87e3c93219bbd2e2edf8b369873aee774abf04" 198 | integrity sha512-2zdD5sltACDWhjUE12Kucg2PcgM6V2q9JMyVvObtVGnzJu+QSmibbP+BHQyLWZUBfLApx2942+7DC5D+n4wBQQ== 199 | dependencies: 200 | "@ethersproject/abstract-provider" "^5.5.0" 201 | "@ethersproject/abstract-signer" "^5.5.0" 202 | "@ethersproject/address" "^5.5.0" 203 | "@ethersproject/basex" "^5.5.0" 204 | "@ethersproject/bignumber" "^5.5.0" 205 | "@ethersproject/bytes" "^5.5.0" 206 | "@ethersproject/constants" "^5.5.0" 207 | "@ethersproject/hash" "^5.5.0" 208 | "@ethersproject/logger" "^5.5.0" 209 | "@ethersproject/networks" "^5.5.0" 210 | "@ethersproject/properties" "^5.5.0" 211 | "@ethersproject/random" "^5.5.0" 212 | "@ethersproject/rlp" "^5.5.0" 213 | "@ethersproject/sha2" "^5.5.0" 214 | "@ethersproject/strings" "^5.5.0" 215 | "@ethersproject/transactions" "^5.5.0" 216 | "@ethersproject/web" "^5.5.0" 217 | bech32 "1.1.4" 218 | ws "7.4.6" 219 | 220 | "@ethersproject/random@5.5.0", "@ethersproject/random@^5.5.0": 221 | version "5.5.0" 222 | resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.5.0.tgz#305ed9e033ca537735365ac12eed88580b0f81f9" 223 | integrity sha512-egGYZwZ/YIFKMHcoBUo8t3a8Hb/TKYX8BCBoLjudVCZh892welR3jOxgOmb48xznc9bTcMm7Tpwc1gHC1PFNFQ== 224 | dependencies: 225 | "@ethersproject/bytes" "^5.5.0" 226 | "@ethersproject/logger" "^5.5.0" 227 | 228 | "@ethersproject/rlp@5.5.0", "@ethersproject/rlp@^5.5.0": 229 | version "5.5.0" 230 | resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.5.0.tgz#530f4f608f9ca9d4f89c24ab95db58ab56ab99a0" 231 | integrity sha512-hLv8XaQ8PTI9g2RHoQGf/WSxBfTB/NudRacbzdxmst5VHAqd1sMibWG7SENzT5Dj3yZ3kJYx+WiRYEcQTAkcYA== 232 | dependencies: 233 | "@ethersproject/bytes" "^5.5.0" 234 | "@ethersproject/logger" "^5.5.0" 235 | 236 | "@ethersproject/sha2@5.5.0", "@ethersproject/sha2@^5.5.0": 237 | version "5.5.0" 238 | resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.5.0.tgz#a40a054c61f98fd9eee99af2c3cc6ff57ec24db7" 239 | integrity sha512-B5UBoglbCiHamRVPLA110J+2uqsifpZaTmid2/7W5rbtYVz6gus6/hSDieIU/6gaKIDcOj12WnOdiymEUHIAOA== 240 | dependencies: 241 | "@ethersproject/bytes" "^5.5.0" 242 | "@ethersproject/logger" "^5.5.0" 243 | hash.js "1.1.7" 244 | 245 | "@ethersproject/signing-key@5.5.0", "@ethersproject/signing-key@^5.5.0": 246 | version "5.5.0" 247 | resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.5.0.tgz#2aa37169ce7e01e3e80f2c14325f624c29cedbe0" 248 | integrity sha512-5VmseH7qjtNmDdZBswavhotYbWB0bOwKIlOTSlX14rKn5c11QmJwGt4GHeo7NrL/Ycl7uo9AHvEqs5xZgFBTng== 249 | dependencies: 250 | "@ethersproject/bytes" "^5.5.0" 251 | "@ethersproject/logger" "^5.5.0" 252 | "@ethersproject/properties" "^5.5.0" 253 | bn.js "^4.11.9" 254 | elliptic "6.5.4" 255 | hash.js "1.1.7" 256 | 257 | "@ethersproject/solidity@5.5.0": 258 | version "5.5.0" 259 | resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.5.0.tgz#2662eb3e5da471b85a20531e420054278362f93f" 260 | integrity sha512-9NgZs9LhGMj6aCtHXhtmFQ4AN4sth5HuFXVvAQtzmm0jpSCNOTGtrHZJAeYTh7MBjRR8brylWZxBZR9zDStXbw== 261 | dependencies: 262 | "@ethersproject/bignumber" "^5.5.0" 263 | "@ethersproject/bytes" "^5.5.0" 264 | "@ethersproject/keccak256" "^5.5.0" 265 | "@ethersproject/logger" "^5.5.0" 266 | "@ethersproject/sha2" "^5.5.0" 267 | "@ethersproject/strings" "^5.5.0" 268 | 269 | "@ethersproject/strings@5.5.0", "@ethersproject/strings@^5.5.0": 270 | version "5.5.0" 271 | resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.5.0.tgz#e6784d00ec6c57710755699003bc747e98c5d549" 272 | integrity sha512-9fy3TtF5LrX/wTrBaT8FGE6TDJyVjOvXynXJz5MT5azq+E6D92zuKNx7i29sWW2FjVOaWjAsiZ1ZWznuduTIIQ== 273 | dependencies: 274 | "@ethersproject/bytes" "^5.5.0" 275 | "@ethersproject/constants" "^5.5.0" 276 | "@ethersproject/logger" "^5.5.0" 277 | 278 | "@ethersproject/transactions@5.5.0", "@ethersproject/transactions@^5.5.0": 279 | version "5.5.0" 280 | resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.5.0.tgz#7e9bf72e97bcdf69db34fe0d59e2f4203c7a2908" 281 | integrity sha512-9RZYSKX26KfzEd/1eqvv8pLauCKzDTub0Ko4LfIgaERvRuwyaNV78mJs7cpIgZaDl6RJui4o49lHwwCM0526zA== 282 | dependencies: 283 | "@ethersproject/address" "^5.5.0" 284 | "@ethersproject/bignumber" "^5.5.0" 285 | "@ethersproject/bytes" "^5.5.0" 286 | "@ethersproject/constants" "^5.5.0" 287 | "@ethersproject/keccak256" "^5.5.0" 288 | "@ethersproject/logger" "^5.5.0" 289 | "@ethersproject/properties" "^5.5.0" 290 | "@ethersproject/rlp" "^5.5.0" 291 | "@ethersproject/signing-key" "^5.5.0" 292 | 293 | "@ethersproject/units@5.5.0": 294 | version "5.5.0" 295 | resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.5.0.tgz#104d02db5b5dc42cc672cc4587bafb87a95ee45e" 296 | integrity sha512-7+DpjiZk4v6wrikj+TCyWWa9dXLNU73tSTa7n0TSJDxkYbV3Yf1eRh9ToMLlZtuctNYu9RDNNy2USq3AdqSbag== 297 | dependencies: 298 | "@ethersproject/bignumber" "^5.5.0" 299 | "@ethersproject/constants" "^5.5.0" 300 | "@ethersproject/logger" "^5.5.0" 301 | 302 | "@ethersproject/wallet@5.5.0": 303 | version "5.5.0" 304 | resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.5.0.tgz#322a10527a440ece593980dca6182f17d54eae75" 305 | integrity sha512-Mlu13hIctSYaZmUOo7r2PhNSd8eaMPVXe1wxrz4w4FCE4tDYBywDH+bAR1Xz2ADyXGwqYMwstzTrtUVIsKDO0Q== 306 | dependencies: 307 | "@ethersproject/abstract-provider" "^5.5.0" 308 | "@ethersproject/abstract-signer" "^5.5.0" 309 | "@ethersproject/address" "^5.5.0" 310 | "@ethersproject/bignumber" "^5.5.0" 311 | "@ethersproject/bytes" "^5.5.0" 312 | "@ethersproject/hash" "^5.5.0" 313 | "@ethersproject/hdnode" "^5.5.0" 314 | "@ethersproject/json-wallets" "^5.5.0" 315 | "@ethersproject/keccak256" "^5.5.0" 316 | "@ethersproject/logger" "^5.5.0" 317 | "@ethersproject/properties" "^5.5.0" 318 | "@ethersproject/random" "^5.5.0" 319 | "@ethersproject/signing-key" "^5.5.0" 320 | "@ethersproject/transactions" "^5.5.0" 321 | "@ethersproject/wordlists" "^5.5.0" 322 | 323 | "@ethersproject/web@5.5.1", "@ethersproject/web@^5.5.0": 324 | version "5.5.1" 325 | resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.5.1.tgz#cfcc4a074a6936c657878ac58917a61341681316" 326 | integrity sha512-olvLvc1CB12sREc1ROPSHTdFCdvMh0J5GSJYiQg2D0hdD4QmJDy8QYDb1CvoqD/bF1c++aeKv2sR5uduuG9dQg== 327 | dependencies: 328 | "@ethersproject/base64" "^5.5.0" 329 | "@ethersproject/bytes" "^5.5.0" 330 | "@ethersproject/logger" "^5.5.0" 331 | "@ethersproject/properties" "^5.5.0" 332 | "@ethersproject/strings" "^5.5.0" 333 | 334 | "@ethersproject/wordlists@5.5.0", "@ethersproject/wordlists@^5.5.0": 335 | version "5.5.0" 336 | resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.5.0.tgz#aac74963aa43e643638e5172353d931b347d584f" 337 | integrity sha512-bL0UTReWDiaQJJYOC9sh/XcRu/9i2jMrzf8VLRmPKx58ckSlOJiohODkECCO50dtLZHcGU6MLXQ4OOrgBwP77Q== 338 | dependencies: 339 | "@ethersproject/bytes" "^5.5.0" 340 | "@ethersproject/hash" "^5.5.0" 341 | "@ethersproject/logger" "^5.5.0" 342 | "@ethersproject/properties" "^5.5.0" 343 | "@ethersproject/strings" "^5.5.0" 344 | 345 | aes-js@3.0.0: 346 | version "3.0.0" 347 | resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" 348 | integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0= 349 | 350 | asynckit@^0.4.0: 351 | version "0.4.0" 352 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 353 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= 354 | 355 | bech32@1.1.4: 356 | version "1.1.4" 357 | resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" 358 | integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== 359 | 360 | bn.js@^4.11.9: 361 | version "4.12.0" 362 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" 363 | integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== 364 | 365 | brorand@^1.1.0: 366 | version "1.1.0" 367 | resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" 368 | integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= 369 | 370 | combined-stream@^1.0.8: 371 | version "1.0.8" 372 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 373 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 374 | dependencies: 375 | delayed-stream "~1.0.0" 376 | 377 | cross-fetch@^3.0.6: 378 | version "3.1.4" 379 | resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.4.tgz#9723f3a3a247bf8b89039f3a380a9244e8fa2f39" 380 | integrity sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ== 381 | dependencies: 382 | node-fetch "2.6.1" 383 | 384 | delayed-stream@~1.0.0: 385 | version "1.0.0" 386 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 387 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= 388 | 389 | elliptic@6.5.4: 390 | version "6.5.4" 391 | resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" 392 | integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== 393 | dependencies: 394 | bn.js "^4.11.9" 395 | brorand "^1.1.0" 396 | hash.js "^1.0.0" 397 | hmac-drbg "^1.0.1" 398 | inherits "^2.0.4" 399 | minimalistic-assert "^1.0.1" 400 | minimalistic-crypto-utils "^1.0.1" 401 | 402 | ethers@^5.5.2: 403 | version "5.5.2" 404 | resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.5.2.tgz#cd2e508c7342c44fa70392f722e8de8f2416489f" 405 | integrity sha512-EF5W+6Wwcu6BqVwpgmyR5U2+L4c1FQzlM/02dkZOugN3KF0cG9bzHZP+TDJglmPm2/IzCEJDT7KBxzayk7SAHw== 406 | dependencies: 407 | "@ethersproject/abi" "5.5.0" 408 | "@ethersproject/abstract-provider" "5.5.1" 409 | "@ethersproject/abstract-signer" "5.5.0" 410 | "@ethersproject/address" "5.5.0" 411 | "@ethersproject/base64" "5.5.0" 412 | "@ethersproject/basex" "5.5.0" 413 | "@ethersproject/bignumber" "5.5.0" 414 | "@ethersproject/bytes" "5.5.0" 415 | "@ethersproject/constants" "5.5.0" 416 | "@ethersproject/contracts" "5.5.0" 417 | "@ethersproject/hash" "5.5.0" 418 | "@ethersproject/hdnode" "5.5.0" 419 | "@ethersproject/json-wallets" "5.5.0" 420 | "@ethersproject/keccak256" "5.5.0" 421 | "@ethersproject/logger" "5.5.0" 422 | "@ethersproject/networks" "5.5.1" 423 | "@ethersproject/pbkdf2" "5.5.0" 424 | "@ethersproject/properties" "5.5.0" 425 | "@ethersproject/providers" "5.5.1" 426 | "@ethersproject/random" "5.5.0" 427 | "@ethersproject/rlp" "5.5.0" 428 | "@ethersproject/sha2" "5.5.0" 429 | "@ethersproject/signing-key" "5.5.0" 430 | "@ethersproject/solidity" "5.5.0" 431 | "@ethersproject/strings" "5.5.0" 432 | "@ethersproject/transactions" "5.5.0" 433 | "@ethersproject/units" "5.5.0" 434 | "@ethersproject/wallet" "5.5.0" 435 | "@ethersproject/web" "5.5.1" 436 | "@ethersproject/wordlists" "5.5.0" 437 | 438 | extract-files@^9.0.0: 439 | version "9.0.0" 440 | resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-9.0.0.tgz#8a7744f2437f81f5ed3250ed9f1550de902fe54a" 441 | integrity sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ== 442 | 443 | form-data@^3.0.0: 444 | version "3.0.1" 445 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" 446 | integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== 447 | dependencies: 448 | asynckit "^0.4.0" 449 | combined-stream "^1.0.8" 450 | mime-types "^2.1.12" 451 | 452 | graphql-request@^3.7.0: 453 | version "3.7.0" 454 | resolved "https://registry.yarnpkg.com/graphql-request/-/graphql-request-3.7.0.tgz#c7406e537084f8b9788541e3e6704340ca13055b" 455 | integrity sha512-dw5PxHCgBneN2DDNqpWu8QkbbJ07oOziy8z+bK/TAXufsOLaETuVO4GkXrbs0WjhdKhBMN3BkpN/RIvUHkmNUQ== 456 | dependencies: 457 | cross-fetch "^3.0.6" 458 | extract-files "^9.0.0" 459 | form-data "^3.0.0" 460 | 461 | hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: 462 | version "1.1.7" 463 | resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" 464 | integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== 465 | dependencies: 466 | inherits "^2.0.3" 467 | minimalistic-assert "^1.0.1" 468 | 469 | hmac-drbg@^1.0.1: 470 | version "1.0.1" 471 | resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" 472 | integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= 473 | dependencies: 474 | hash.js "^1.0.3" 475 | minimalistic-assert "^1.0.0" 476 | minimalistic-crypto-utils "^1.0.1" 477 | 478 | inherits@^2.0.3, inherits@^2.0.4: 479 | version "2.0.4" 480 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 481 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 482 | 483 | js-sha3@0.8.0: 484 | version "0.8.0" 485 | resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" 486 | integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== 487 | 488 | mime-db@1.51.0: 489 | version "1.51.0" 490 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" 491 | integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== 492 | 493 | mime-types@^2.1.12: 494 | version "2.1.34" 495 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" 496 | integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== 497 | dependencies: 498 | mime-db "1.51.0" 499 | 500 | minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: 501 | version "1.0.1" 502 | resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" 503 | integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== 504 | 505 | minimalistic-crypto-utils@^1.0.1: 506 | version "1.0.1" 507 | resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" 508 | integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= 509 | 510 | node-fetch@2.6.1: 511 | version "2.6.1" 512 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" 513 | integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== 514 | 515 | scrypt-js@3.0.1: 516 | version "3.0.1" 517 | resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" 518 | integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== 519 | 520 | ws@7.4.6: 521 | version "7.4.6" 522 | resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" 523 | integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== 524 | --------------------------------------------------------------------------------