diff --git a/package-lock.json b/package-lock.json index 4965075..bdb1e13 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "dependencies": { "@ledgerhq/hw-transport-u2f": "^4.21.0", "@ledgerhq/web3-subprovider": "^4.21.0", + "ethers": "^5.0.32", "string_decoder": "^1.1.1", "web3-provider-engine": "^16.0.1" }, @@ -474,7 +475,6 @@ "version": "5.0.10", "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.0.10.tgz", "integrity": "sha512-OSReY5iz94iIaPlRvLiJP8YVIvQLx4aUvMMnHWSaA/vTU8QHZmgNlt4OBdYV1+aFY8Xl+VRYiWBHq72ZDKXXCQ==", - "dev": true, "funding": [ { "type": "individual", @@ -499,7 +499,6 @@ "version": "5.0.14", "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.0.14.tgz", "integrity": "sha512-JztBwVO7o5OHLh2vyjordlS4/1EjRyaECtc8vPdXTF1i4dXN+J0coeRoPN6ZFbBvi/YbaB6br2fvqhst1VQD/g==", - "dev": true, "funding": [ { "type": "individual", @@ -522,7 +521,6 @@ "version": "5.0.11", "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.0.11.tgz", "integrity": "sha512-Et4GBdD8/tsBGjCEOKee9upN29qjL5kbRcmJifb4Penmiuh9GARXL2/xpXvEp5EW+EIW/rfCHFJrkYBgoQFQBw==", - "dev": true, "funding": [ { "type": "individual", @@ -545,7 +543,6 @@ "version": "5.0.9", "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.0.9.tgz", "integrity": "sha512-37RBz5LEZ9SlTNGiWCYFttnIN9J7qVs9Xo2EbqGqDH5LfW9EIji66S+YDMpXVo1zWDax1FkEldAoatxHK2gfgA==", - "dev": true, "funding": [ { "type": "individual", @@ -560,11 +557,29 @@ "@ethersproject/bytes": "^5.0.9" } }, + "node_modules/@ethersproject/basex": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.0.9.tgz", + "integrity": "sha512-FANswl1IN3PS0eltQxH2aM2+utPrkLUVG4XVFi6SafRG9EpAqXCgycxC8PU90mPGhigYTpg9cnTB5mCZ6ejQjw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/properties": "^5.0.7" + } + }, "node_modules/@ethersproject/bignumber": { "version": "5.0.15", "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.15.tgz", "integrity": "sha512-MTADqnyacvdRwtKh7o9ujwNDSM1SDJjYDMYAzjIgjoi9rh6TY4suMbhCa3i2vh3SUXiXSICyTI8ui+NPdrZ9Lw==", - "dev": true, "funding": [ { "type": "individual", @@ -585,7 +600,6 @@ "version": "5.0.11", "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.11.tgz", "integrity": "sha512-D51plLYY5qF05AsoVQwIZVLqlBkaTPVHVP/1WmmBIWyHB0cRW0C9kh0kx5Exo51rB63Hk8PfHxc7SmpoaQFEyg==", - "dev": true, "funding": [ { "type": "individual", @@ -604,7 +618,6 @@ "version": "5.0.10", "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.10.tgz", "integrity": "sha512-OSo8jxkHLDXieCy8bgOFR7lMfgPxEzKvSDdP+WAWHCDM8+orwch0B6wzkTmiQFgryAtIctrBt5glAdJikZ3hGw==", - "dev": true, "funding": [ { "type": "individual", @@ -619,11 +632,62 @@ "@ethersproject/bignumber": "^5.0.13" } }, + "node_modules/@ethersproject/contracts": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.0.12.tgz", + "integrity": "sha512-srijy31idjz8bE+gL1I6IRj2H4I9dUwfQ+QroLrIgNdGArqY8y2iFUKa3QTy+JBX26fJsdYiCQi1kKkaNpnMpQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "^5.0.10", + "@ethersproject/abstract-provider": "^5.0.8", + "@ethersproject/abstract-signer": "^5.0.10", + "@ethersproject/address": "^5.0.9", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7" + } + }, + "node_modules/@ethersproject/contracts/node_modules/@ethersproject/abi": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.13.tgz", + "integrity": "sha512-2coOH3D7ra1lwamKEH0HVc+Jbcsw5yfeCgmY8ekhCDualEiyyovD2qDcMBBcY3+kjoLHVTmo7ost6MNClxdOrg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.0.9", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/hash": "^5.0.10", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/strings": "^5.0.8" + } + }, "node_modules/@ethersproject/hash": { "version": "5.0.12", "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.0.12.tgz", "integrity": "sha512-kn4QN+fhNFbUgX3XZTZUaQixi0oyfIEY+hfW+KtkHu+rq7dV76oAIvaLEEynu1/4npOL38E4X4YI42gGZk+C0Q==", - "dev": true, "funding": [ { "type": "individual", @@ -645,11 +709,69 @@ "@ethersproject/strings": "^5.0.8" } }, + "node_modules/@ethersproject/hdnode": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.0.10.tgz", + "integrity": "sha512-ZLwMtIcXK7xz2lSITDCl40W04CtRq4K9NwBxhCzdzPdaz6XnoJMwGz2YMVLg+8ksseq+RYtTwIIXtlK6vyvQyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.0.10", + "@ethersproject/basex": "^5.0.7", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/pbkdf2": "^5.0.7", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/sha2": "^5.0.7", + "@ethersproject/signing-key": "^5.0.8", + "@ethersproject/strings": "^5.0.8", + "@ethersproject/transactions": "^5.0.9", + "@ethersproject/wordlists": "^5.0.8" + } + }, + "node_modules/@ethersproject/json-wallets": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.0.12.tgz", + "integrity": "sha512-nac553zGZnOewpjlqbfy7WBl8m3y7qudzRsI2dCxrediYtPIVIs9f6Pbnou8vDmmp8X4/U4W788d+Ma88o+Gbg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.0.10", + "@ethersproject/address": "^5.0.9", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/hdnode": "^5.0.8", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/pbkdf2": "^5.0.7", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/random": "^5.0.7", + "@ethersproject/strings": "^5.0.8", + "@ethersproject/transactions": "^5.0.9", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" + } + }, "node_modules/@ethersproject/keccak256": { "version": "5.0.9", "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.0.9.tgz", "integrity": "sha512-zhdUTj6RGtCJSgU+bDrWF6cGbvW453LoIC1DSNWrTlXzC7WuH4a+EiPrgc7/kNoRxerKuA/cxYlI8GwNtVtDlw==", - "dev": true, "funding": [ { "type": "individual", @@ -669,7 +791,6 @@ "version": "5.0.10", "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.10.tgz", "integrity": "sha512-0y2T2NqykDrbPM3Zw9RSbPkDOxwChAL8detXaom76CfYoGxsOnRP/zTX8OUAV+x9LdwzgbWvWmeXrc0M7SuDZw==", - "dev": true, "funding": [ { "type": "individual", @@ -685,7 +806,6 @@ "version": "5.0.9", "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.0.9.tgz", "integrity": "sha512-L8+VCQwArBLGkxZb/5Ns/OH/OxP38AcaveXIxhUTq+VWpXYjrObG3E7RDQIKkUx1S1IcQl/UWTz5w4DK0UitJg==", - "dev": true, "funding": [ { "type": "individual", @@ -700,11 +820,29 @@ "@ethersproject/logger": "^5.0.8" } }, + "node_modules/@ethersproject/pbkdf2": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.0.9.tgz", + "integrity": "sha512-ItE/wQ/WVw/ajEHPUVgfu0aEvksPgOQc+278bke8sGKnGO3ppjmqp0MHh17tHc1EBTzJbSms5aLIqc56qZ/oiA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/sha2": "^5.0.7" + } + }, "node_modules/@ethersproject/properties": { "version": "5.0.9", "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.0.9.tgz", "integrity": "sha512-ZCjzbHYTw+rF1Pn8FDCEmx3gQttwIHcm/6Xee8g/M3Ga3SfW4tccNMbs5zqnBH0E4RoOPaeNgyg1O68TaF0tlg==", - "dev": true, "funding": [ { "type": "individual", @@ -719,11 +857,85 @@ "@ethersproject/logger": "^5.0.8" } }, + "node_modules/@ethersproject/providers": { + "version": "5.0.24", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.0.24.tgz", + "integrity": "sha512-M4Iw1r4gGJkt7ZUa++iREuviKL/DIpmIMsaUlVlXtV+ZrUXeN8xQ3zOTrbz7R4h9W9oljBZM7i4D3Kn1krJ30A==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.0.8", + "@ethersproject/abstract-signer": "^5.0.10", + "@ethersproject/address": "^5.0.9", + "@ethersproject/basex": "^5.0.7", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/hash": "^5.0.10", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/networks": "^5.0.7", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/random": "^5.0.7", + "@ethersproject/rlp": "^5.0.7", + "@ethersproject/sha2": "^5.0.7", + "@ethersproject/strings": "^5.0.8", + "@ethersproject/transactions": "^5.0.9", + "@ethersproject/web": "^5.0.12", + "bech32": "1.1.4", + "ws": "7.2.3" + } + }, + "node_modules/@ethersproject/providers/node_modules/ws": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.3.tgz", + "integrity": "sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@ethersproject/random": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.0.9.tgz", + "integrity": "sha512-DANG8THsKqFbJOantrxumtG6gyETNE54VfbsWa+SQAT8WKpDo9W/X5Zhh73KuhClaey1UI32uVmISZeq/Zxn1A==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8" + } + }, "node_modules/@ethersproject/rlp": { "version": "5.0.9", "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.0.9.tgz", "integrity": "sha512-ns1U7ZMVeruUW6JXc4om+1w3w4ynHN/0fpwmeNTsAjwGKoF8SAUgue6ylKpHKWSti2idx7jDxbn8hNNFHk67CA==", - "dev": true, "funding": [ { "type": "individual", @@ -739,11 +951,39 @@ "@ethersproject/logger": "^5.0.8" } }, + "node_modules/@ethersproject/sha2": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.0.9.tgz", + "integrity": "sha512-5FH4s47gM7N1fFAYQ1+m7aX0SbLg0Xr+6tvqndmNqc382/qBIbzXiGlUookrsjlPb6gLNurnTssCXjNM72J6lQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "hash.js": "1.1.3" + } + }, + "node_modules/@ethersproject/sha2/node_modules/hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" + } + }, "node_modules/@ethersproject/signing-key": { "version": "5.0.11", "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.0.11.tgz", "integrity": "sha512-Jfcru/BGwdkXhLxT+8WCZtFy7LL0TPFZw05FAb5asxB/MyVsEfNdNxGDtjVE9zXfmRSPe/EusXYY4K7wcygOyQ==", - "dev": true, "funding": [ { "type": "individual", @@ -761,11 +1001,32 @@ "elliptic": "6.5.4" } }, + "node_modules/@ethersproject/solidity": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.0.10.tgz", + "integrity": "sha512-8OG3HLqynWXDA6mVIHuHfF/ojTTwBahON7hc9GAKCqglzXCkVA3OpyxOJXPzjHClRIAUUiU7r9oy9Z/nsjtT/g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/sha2": "^5.0.7", + "@ethersproject/strings": "^5.0.8" + } + }, "node_modules/@ethersproject/strings": { "version": "5.0.10", "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.0.10.tgz", "integrity": "sha512-KAeoS1tZ9/5ECXiIZA6S6hywbD0so2VmuW+Wfyo5EDXeyZ6Na1nxTPhTnW7voQmjbeYJffCrOc0qLFJeylyg7w==", - "dev": true, "funding": [ { "type": "individual", @@ -786,7 +1047,6 @@ "version": "5.0.11", "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.0.11.tgz", "integrity": "sha512-ftsRvR9+gQp7L63F6+XmstvsZ4w8GtWvQB08e/zB+oB86Fnhq8+i/tkgpJplSHC8I/qgiCisva+M3u2GVhDFPA==", - "dev": true, "funding": [ { "type": "individual", @@ -809,11 +1069,62 @@ "@ethersproject/signing-key": "^5.0.8" } }, + "node_modules/@ethersproject/units": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.0.11.tgz", + "integrity": "sha512-nOSPmcCWyB/dwoBRhhTtPGCsTbiXqmc7Q0Adwvafc432AC7hy3Fj3IFZtnSXsbtJ/GdHCIUIoA8gtvxSsFuBJg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/logger": "^5.0.8" + } + }, + "node_modules/@ethersproject/wallet": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.0.12.tgz", + "integrity": "sha512-rboJebGf47/KPZrKZQdYg9BAYuXbc/OwcUyML1K1f2jnJeo1ObWV11U1PAWTjTbhhSy6/Fg+34GO2yMb5Dt1Rw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.0.8", + "@ethersproject/abstract-signer": "^5.0.10", + "@ethersproject/address": "^5.0.9", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/hash": "^5.0.10", + "@ethersproject/hdnode": "^5.0.8", + "@ethersproject/json-wallets": "^5.0.10", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/random": "^5.0.7", + "@ethersproject/signing-key": "^5.0.8", + "@ethersproject/transactions": "^5.0.9", + "@ethersproject/wordlists": "^5.0.8" + } + }, "node_modules/@ethersproject/web": { "version": "5.0.14", "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.0.14.tgz", "integrity": "sha512-QpTgplslwZ0Sp9oKNLoRuS6TKxnkwfaEk3gr7zd7XLF8XBsYejsrQO/03fNfnMx/TAT/RR6WEw/mbOwpRSeVRA==", - "dev": true, "funding": [ { "type": "individual", @@ -832,6 +1143,28 @@ "@ethersproject/strings": "^5.0.8" } }, + "node_modules/@ethersproject/wordlists": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.0.10.tgz", + "integrity": "sha512-jWsEm1iJzpg9SCXnNfFz+tcp4Ofzv0TJb6mj+soCNcar9GcT0yGz62ZsHC3pLQWaF4LkCzGwRJHJTXKjHQfG1A==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/hash": "^5.0.10", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/strings": "^5.0.8" + } + }, "node_modules/@ledgerhq/hw-app-eth": { "version": "4.21.0", "resolved": "https://registry.npmjs.org/@ledgerhq/hw-app-eth/-/hw-app-eth-4.21.0.tgz", @@ -1258,6 +1591,11 @@ "acorn": "^5.0.0" } }, + "node_modules/aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=" + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -2738,6 +3076,11 @@ "tweetnacl": "^0.14.3" } }, + "node_modules/bech32": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" + }, "node_modules/big.js": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", @@ -3048,7 +3391,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.3.tgz", "integrity": "sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw==", - "dev": true, + "devOptional": true, "hasInstallScript": true, "dependencies": { "node-gyp-build": "^4.2.0" @@ -5107,6 +5450,79 @@ "rlp": "^2.2.3" } }, + "node_modules/ethers": { + "version": "5.0.32", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.0.32.tgz", + "integrity": "sha512-rORfGWR0HsA4pjKMMcWZorw12DHsXqfIAuPVHJsXt+vI24jvXcVqx+rLsSvgOoLdaCMdxiN5qlIq2+4axKG31g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.0.13", + "@ethersproject/abstract-provider": "5.0.10", + "@ethersproject/abstract-signer": "5.0.14", + "@ethersproject/address": "5.0.11", + "@ethersproject/base64": "5.0.9", + "@ethersproject/basex": "5.0.9", + "@ethersproject/bignumber": "5.0.15", + "@ethersproject/bytes": "5.0.11", + "@ethersproject/constants": "5.0.10", + "@ethersproject/contracts": "5.0.12", + "@ethersproject/hash": "5.0.12", + "@ethersproject/hdnode": "5.0.10", + "@ethersproject/json-wallets": "5.0.12", + "@ethersproject/keccak256": "5.0.9", + "@ethersproject/logger": "5.0.10", + "@ethersproject/networks": "5.0.9", + "@ethersproject/pbkdf2": "5.0.9", + "@ethersproject/properties": "5.0.9", + "@ethersproject/providers": "5.0.24", + "@ethersproject/random": "5.0.9", + "@ethersproject/rlp": "5.0.9", + "@ethersproject/sha2": "5.0.9", + "@ethersproject/signing-key": "5.0.11", + "@ethersproject/solidity": "5.0.10", + "@ethersproject/strings": "5.0.10", + "@ethersproject/transactions": "5.0.11", + "@ethersproject/units": "5.0.11", + "@ethersproject/wallet": "5.0.12", + "@ethersproject/web": "5.0.14", + "@ethersproject/wordlists": "5.0.10" + } + }, + "node_modules/ethers/node_modules/@ethersproject/abi": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.13.tgz", + "integrity": "sha512-2coOH3D7ra1lwamKEH0HVc+Jbcsw5yfeCgmY8ekhCDualEiyyovD2qDcMBBcY3+kjoLHVTmo7ost6MNClxdOrg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.0.9", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/hash": "^5.0.10", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/strings": "^5.0.8" + } + }, "node_modules/ethjs-provider-http": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/ethjs-provider-http/-/ethjs-provider-http-0.1.6.tgz", @@ -8242,8 +8658,7 @@ "node_modules/js-sha3": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", - "dev": true + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" }, "node_modules/js-tokens": { "version": "4.0.0", @@ -13112,7 +13527,7 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.4.tgz", "integrity": "sha512-MEF05cPSq3AwJ2C7B7sHAA6i53vONoZbMGX8My5auEVm6W+dJ2Jd/TZPyGJ5CH42V2XtbI5FD28HeHeqlPzZ3Q==", - "dev": true, + "devOptional": true, "hasInstallScript": true, "dependencies": { "node-gyp-build": "^4.2.0" @@ -14964,7 +15379,6 @@ "version": "5.0.10", "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.0.10.tgz", "integrity": "sha512-OSReY5iz94iIaPlRvLiJP8YVIvQLx4aUvMMnHWSaA/vTU8QHZmgNlt4OBdYV1+aFY8Xl+VRYiWBHq72ZDKXXCQ==", - "dev": true, "requires": { "@ethersproject/bignumber": "^5.0.13", "@ethersproject/bytes": "^5.0.9", @@ -14979,7 +15393,6 @@ "version": "5.0.14", "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.0.14.tgz", "integrity": "sha512-JztBwVO7o5OHLh2vyjordlS4/1EjRyaECtc8vPdXTF1i4dXN+J0coeRoPN6ZFbBvi/YbaB6br2fvqhst1VQD/g==", - "dev": true, "requires": { "@ethersproject/abstract-provider": "^5.0.8", "@ethersproject/bignumber": "^5.0.13", @@ -14992,7 +15405,6 @@ "version": "5.0.11", "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.0.11.tgz", "integrity": "sha512-Et4GBdD8/tsBGjCEOKee9upN29qjL5kbRcmJifb4Penmiuh9GARXL2/xpXvEp5EW+EIW/rfCHFJrkYBgoQFQBw==", - "dev": true, "requires": { "@ethersproject/bignumber": "^5.0.13", "@ethersproject/bytes": "^5.0.9", @@ -15005,16 +15417,23 @@ "version": "5.0.9", "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.0.9.tgz", "integrity": "sha512-37RBz5LEZ9SlTNGiWCYFttnIN9J7qVs9Xo2EbqGqDH5LfW9EIji66S+YDMpXVo1zWDax1FkEldAoatxHK2gfgA==", - "dev": true, "requires": { "@ethersproject/bytes": "^5.0.9" } }, + "@ethersproject/basex": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.0.9.tgz", + "integrity": "sha512-FANswl1IN3PS0eltQxH2aM2+utPrkLUVG4XVFi6SafRG9EpAqXCgycxC8PU90mPGhigYTpg9cnTB5mCZ6ejQjw==", + "requires": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/properties": "^5.0.7" + } + }, "@ethersproject/bignumber": { "version": "5.0.15", "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.15.tgz", "integrity": "sha512-MTADqnyacvdRwtKh7o9ujwNDSM1SDJjYDMYAzjIgjoi9rh6TY4suMbhCa3i2vh3SUXiXSICyTI8ui+NPdrZ9Lw==", - "dev": true, "requires": { "@ethersproject/bytes": "^5.0.9", "@ethersproject/logger": "^5.0.8", @@ -15025,7 +15444,6 @@ "version": "5.0.11", "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.11.tgz", "integrity": "sha512-D51plLYY5qF05AsoVQwIZVLqlBkaTPVHVP/1WmmBIWyHB0cRW0C9kh0kx5Exo51rB63Hk8PfHxc7SmpoaQFEyg==", - "dev": true, "requires": { "@ethersproject/logger": "^5.0.8" } @@ -15034,16 +15452,48 @@ "version": "5.0.10", "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.10.tgz", "integrity": "sha512-OSo8jxkHLDXieCy8bgOFR7lMfgPxEzKvSDdP+WAWHCDM8+orwch0B6wzkTmiQFgryAtIctrBt5glAdJikZ3hGw==", - "dev": true, "requires": { "@ethersproject/bignumber": "^5.0.13" } }, + "@ethersproject/contracts": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.0.12.tgz", + "integrity": "sha512-srijy31idjz8bE+gL1I6IRj2H4I9dUwfQ+QroLrIgNdGArqY8y2iFUKa3QTy+JBX26fJsdYiCQi1kKkaNpnMpQ==", + "requires": { + "@ethersproject/abi": "^5.0.10", + "@ethersproject/abstract-provider": "^5.0.8", + "@ethersproject/abstract-signer": "^5.0.10", + "@ethersproject/address": "^5.0.9", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7" + }, + "dependencies": { + "@ethersproject/abi": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.13.tgz", + "integrity": "sha512-2coOH3D7ra1lwamKEH0HVc+Jbcsw5yfeCgmY8ekhCDualEiyyovD2qDcMBBcY3+kjoLHVTmo7ost6MNClxdOrg==", + "requires": { + "@ethersproject/address": "^5.0.9", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/hash": "^5.0.10", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/strings": "^5.0.8" + } + } + } + }, "@ethersproject/hash": { "version": "5.0.12", "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.0.12.tgz", "integrity": "sha512-kn4QN+fhNFbUgX3XZTZUaQixi0oyfIEY+hfW+KtkHu+rq7dV76oAIvaLEEynu1/4npOL38E4X4YI42gGZk+C0Q==", - "dev": true, "requires": { "@ethersproject/abstract-signer": "^5.0.10", "@ethersproject/address": "^5.0.9", @@ -15055,11 +15505,49 @@ "@ethersproject/strings": "^5.0.8" } }, + "@ethersproject/hdnode": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.0.10.tgz", + "integrity": "sha512-ZLwMtIcXK7xz2lSITDCl40W04CtRq4K9NwBxhCzdzPdaz6XnoJMwGz2YMVLg+8ksseq+RYtTwIIXtlK6vyvQyg==", + "requires": { + "@ethersproject/abstract-signer": "^5.0.10", + "@ethersproject/basex": "^5.0.7", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/pbkdf2": "^5.0.7", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/sha2": "^5.0.7", + "@ethersproject/signing-key": "^5.0.8", + "@ethersproject/strings": "^5.0.8", + "@ethersproject/transactions": "^5.0.9", + "@ethersproject/wordlists": "^5.0.8" + } + }, + "@ethersproject/json-wallets": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.0.12.tgz", + "integrity": "sha512-nac553zGZnOewpjlqbfy7WBl8m3y7qudzRsI2dCxrediYtPIVIs9f6Pbnou8vDmmp8X4/U4W788d+Ma88o+Gbg==", + "requires": { + "@ethersproject/abstract-signer": "^5.0.10", + "@ethersproject/address": "^5.0.9", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/hdnode": "^5.0.8", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/pbkdf2": "^5.0.7", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/random": "^5.0.7", + "@ethersproject/strings": "^5.0.8", + "@ethersproject/transactions": "^5.0.9", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" + } + }, "@ethersproject/keccak256": { "version": "5.0.9", "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.0.9.tgz", "integrity": "sha512-zhdUTj6RGtCJSgU+bDrWF6cGbvW453LoIC1DSNWrTlXzC7WuH4a+EiPrgc7/kNoRxerKuA/cxYlI8GwNtVtDlw==", - "dev": true, "requires": { "@ethersproject/bytes": "^5.0.9", "js-sha3": "0.5.7" @@ -15068,42 +15556,110 @@ "@ethersproject/logger": { "version": "5.0.10", "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.10.tgz", - "integrity": "sha512-0y2T2NqykDrbPM3Zw9RSbPkDOxwChAL8detXaom76CfYoGxsOnRP/zTX8OUAV+x9LdwzgbWvWmeXrc0M7SuDZw==", - "dev": true + "integrity": "sha512-0y2T2NqykDrbPM3Zw9RSbPkDOxwChAL8detXaom76CfYoGxsOnRP/zTX8OUAV+x9LdwzgbWvWmeXrc0M7SuDZw==" }, "@ethersproject/networks": { "version": "5.0.9", "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.0.9.tgz", "integrity": "sha512-L8+VCQwArBLGkxZb/5Ns/OH/OxP38AcaveXIxhUTq+VWpXYjrObG3E7RDQIKkUx1S1IcQl/UWTz5w4DK0UitJg==", - "dev": true, "requires": { "@ethersproject/logger": "^5.0.8" } }, + "@ethersproject/pbkdf2": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.0.9.tgz", + "integrity": "sha512-ItE/wQ/WVw/ajEHPUVgfu0aEvksPgOQc+278bke8sGKnGO3ppjmqp0MHh17tHc1EBTzJbSms5aLIqc56qZ/oiA==", + "requires": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/sha2": "^5.0.7" + } + }, "@ethersproject/properties": { "version": "5.0.9", "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.0.9.tgz", "integrity": "sha512-ZCjzbHYTw+rF1Pn8FDCEmx3gQttwIHcm/6Xee8g/M3Ga3SfW4tccNMbs5zqnBH0E4RoOPaeNgyg1O68TaF0tlg==", - "dev": true, "requires": { "@ethersproject/logger": "^5.0.8" } }, + "@ethersproject/providers": { + "version": "5.0.24", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.0.24.tgz", + "integrity": "sha512-M4Iw1r4gGJkt7ZUa++iREuviKL/DIpmIMsaUlVlXtV+ZrUXeN8xQ3zOTrbz7R4h9W9oljBZM7i4D3Kn1krJ30A==", + "requires": { + "@ethersproject/abstract-provider": "^5.0.8", + "@ethersproject/abstract-signer": "^5.0.10", + "@ethersproject/address": "^5.0.9", + "@ethersproject/basex": "^5.0.7", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/hash": "^5.0.10", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/networks": "^5.0.7", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/random": "^5.0.7", + "@ethersproject/rlp": "^5.0.7", + "@ethersproject/sha2": "^5.0.7", + "@ethersproject/strings": "^5.0.8", + "@ethersproject/transactions": "^5.0.9", + "@ethersproject/web": "^5.0.12", + "bech32": "1.1.4", + "ws": "7.2.3" + }, + "dependencies": { + "ws": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.3.tgz", + "integrity": "sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==", + "requires": {} + } + } + }, + "@ethersproject/random": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.0.9.tgz", + "integrity": "sha512-DANG8THsKqFbJOantrxumtG6gyETNE54VfbsWa+SQAT8WKpDo9W/X5Zhh73KuhClaey1UI32uVmISZeq/Zxn1A==", + "requires": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8" + } + }, "@ethersproject/rlp": { "version": "5.0.9", "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.0.9.tgz", "integrity": "sha512-ns1U7ZMVeruUW6JXc4om+1w3w4ynHN/0fpwmeNTsAjwGKoF8SAUgue6ylKpHKWSti2idx7jDxbn8hNNFHk67CA==", - "dev": true, "requires": { "@ethersproject/bytes": "^5.0.9", "@ethersproject/logger": "^5.0.8" } }, + "@ethersproject/sha2": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.0.9.tgz", + "integrity": "sha512-5FH4s47gM7N1fFAYQ1+m7aX0SbLg0Xr+6tvqndmNqc382/qBIbzXiGlUookrsjlPb6gLNurnTssCXjNM72J6lQ==", + "requires": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "hash.js": "1.1.3" + }, + "dependencies": { + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" + } + } + } + }, "@ethersproject/signing-key": { "version": "5.0.11", "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.0.11.tgz", "integrity": "sha512-Jfcru/BGwdkXhLxT+8WCZtFy7LL0TPFZw05FAb5asxB/MyVsEfNdNxGDtjVE9zXfmRSPe/EusXYY4K7wcygOyQ==", - "dev": true, "requires": { "@ethersproject/bytes": "^5.0.9", "@ethersproject/logger": "^5.0.8", @@ -15111,11 +15667,22 @@ "elliptic": "6.5.4" } }, + "@ethersproject/solidity": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.0.10.tgz", + "integrity": "sha512-8OG3HLqynWXDA6mVIHuHfF/ojTTwBahON7hc9GAKCqglzXCkVA3OpyxOJXPzjHClRIAUUiU7r9oy9Z/nsjtT/g==", + "requires": { + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/sha2": "^5.0.7", + "@ethersproject/strings": "^5.0.8" + } + }, "@ethersproject/strings": { "version": "5.0.10", "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.0.10.tgz", "integrity": "sha512-KAeoS1tZ9/5ECXiIZA6S6hywbD0so2VmuW+Wfyo5EDXeyZ6Na1nxTPhTnW7voQmjbeYJffCrOc0qLFJeylyg7w==", - "dev": true, "requires": { "@ethersproject/bytes": "^5.0.9", "@ethersproject/constants": "^5.0.8", @@ -15126,7 +15693,6 @@ "version": "5.0.11", "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.0.11.tgz", "integrity": "sha512-ftsRvR9+gQp7L63F6+XmstvsZ4w8GtWvQB08e/zB+oB86Fnhq8+i/tkgpJplSHC8I/qgiCisva+M3u2GVhDFPA==", - "dev": true, "requires": { "@ethersproject/address": "^5.0.9", "@ethersproject/bignumber": "^5.0.13", @@ -15139,11 +15705,42 @@ "@ethersproject/signing-key": "^5.0.8" } }, + "@ethersproject/units": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.0.11.tgz", + "integrity": "sha512-nOSPmcCWyB/dwoBRhhTtPGCsTbiXqmc7Q0Adwvafc432AC7hy3Fj3IFZtnSXsbtJ/GdHCIUIoA8gtvxSsFuBJg==", + "requires": { + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/logger": "^5.0.8" + } + }, + "@ethersproject/wallet": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.0.12.tgz", + "integrity": "sha512-rboJebGf47/KPZrKZQdYg9BAYuXbc/OwcUyML1K1f2jnJeo1ObWV11U1PAWTjTbhhSy6/Fg+34GO2yMb5Dt1Rw==", + "requires": { + "@ethersproject/abstract-provider": "^5.0.8", + "@ethersproject/abstract-signer": "^5.0.10", + "@ethersproject/address": "^5.0.9", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/hash": "^5.0.10", + "@ethersproject/hdnode": "^5.0.8", + "@ethersproject/json-wallets": "^5.0.10", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/random": "^5.0.7", + "@ethersproject/signing-key": "^5.0.8", + "@ethersproject/transactions": "^5.0.9", + "@ethersproject/wordlists": "^5.0.8" + } + }, "@ethersproject/web": { "version": "5.0.14", "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.0.14.tgz", "integrity": "sha512-QpTgplslwZ0Sp9oKNLoRuS6TKxnkwfaEk3gr7zd7XLF8XBsYejsrQO/03fNfnMx/TAT/RR6WEw/mbOwpRSeVRA==", - "dev": true, "requires": { "@ethersproject/base64": "^5.0.7", "@ethersproject/bytes": "^5.0.9", @@ -15152,6 +15749,18 @@ "@ethersproject/strings": "^5.0.8" } }, + "@ethersproject/wordlists": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.0.10.tgz", + "integrity": "sha512-jWsEm1iJzpg9SCXnNfFz+tcp4Ofzv0TJb6mj+soCNcar9GcT0yGz62ZsHC3pLQWaF4LkCzGwRJHJTXKjHQfG1A==", + "requires": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/hash": "^5.0.10", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/strings": "^5.0.8" + } + }, "@ledgerhq/hw-app-eth": { "version": "4.21.0", "resolved": "https://registry.npmjs.org/@ledgerhq/hw-app-eth/-/hw-app-eth-4.21.0.tgz", @@ -15563,6 +16172,11 @@ "acorn": "^5.0.0" } }, + "aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=" + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -16865,6 +17479,11 @@ "tweetnacl": "^0.14.3" } }, + "bech32": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" + }, "big.js": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", @@ -17139,7 +17758,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.3.tgz", "integrity": "sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw==", - "dev": true, + "devOptional": true, "requires": { "node-gyp-build": "^4.2.0" } @@ -18921,6 +19540,61 @@ } } }, + "ethers": { + "version": "5.0.32", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.0.32.tgz", + "integrity": "sha512-rORfGWR0HsA4pjKMMcWZorw12DHsXqfIAuPVHJsXt+vI24jvXcVqx+rLsSvgOoLdaCMdxiN5qlIq2+4axKG31g==", + "requires": { + "@ethersproject/abi": "5.0.13", + "@ethersproject/abstract-provider": "5.0.10", + "@ethersproject/abstract-signer": "5.0.14", + "@ethersproject/address": "5.0.11", + "@ethersproject/base64": "5.0.9", + "@ethersproject/basex": "5.0.9", + "@ethersproject/bignumber": "5.0.15", + "@ethersproject/bytes": "5.0.11", + "@ethersproject/constants": "5.0.10", + "@ethersproject/contracts": "5.0.12", + "@ethersproject/hash": "5.0.12", + "@ethersproject/hdnode": "5.0.10", + "@ethersproject/json-wallets": "5.0.12", + "@ethersproject/keccak256": "5.0.9", + "@ethersproject/logger": "5.0.10", + "@ethersproject/networks": "5.0.9", + "@ethersproject/pbkdf2": "5.0.9", + "@ethersproject/properties": "5.0.9", + "@ethersproject/providers": "5.0.24", + "@ethersproject/random": "5.0.9", + "@ethersproject/rlp": "5.0.9", + "@ethersproject/sha2": "5.0.9", + "@ethersproject/signing-key": "5.0.11", + "@ethersproject/solidity": "5.0.10", + "@ethersproject/strings": "5.0.10", + "@ethersproject/transactions": "5.0.11", + "@ethersproject/units": "5.0.11", + "@ethersproject/wallet": "5.0.12", + "@ethersproject/web": "5.0.14", + "@ethersproject/wordlists": "5.0.10" + }, + "dependencies": { + "@ethersproject/abi": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.13.tgz", + "integrity": "sha512-2coOH3D7ra1lwamKEH0HVc+Jbcsw5yfeCgmY8ekhCDualEiyyovD2qDcMBBcY3+kjoLHVTmo7ost6MNClxdOrg==", + "requires": { + "@ethersproject/address": "^5.0.9", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/hash": "^5.0.10", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/strings": "^5.0.8" + } + } + } + }, "ethjs-provider-http": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/ethjs-provider-http/-/ethjs-provider-http-0.1.6.tgz", @@ -21346,8 +22020,7 @@ "js-sha3": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", - "dev": true + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" }, "js-tokens": { "version": "4.0.0", @@ -25376,7 +26049,7 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.4.tgz", "integrity": "sha512-MEF05cPSq3AwJ2C7B7sHAA6i53vONoZbMGX8My5auEVm6W+dJ2Jd/TZPyGJ5CH42V2XtbI5FD28HeHeqlPzZ3Q==", - "dev": true, + "devOptional": true, "requires": { "node-gyp-build": "^4.2.0" } diff --git a/package.json b/package.json index 59a2328..5547945 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@spankchain-readonly/spankbank-web3", - "version": "0.1.3-rc64", + "version": "0.1.5-rc1", "main": "dist/spankbank.js", "types": "dist/@types/spankbank.d.ts", "scripts": { @@ -33,6 +33,7 @@ "dependencies": { "@ledgerhq/hw-transport-u2f": "^4.21.0", "@ledgerhq/web3-subprovider": "^4.21.0", + "ethers": "^5.0.32", "string_decoder": "^1.1.1", "web3-provider-engine": "^16.0.1" } diff --git a/spankbank.ts b/spankbank.ts index 2afac61..b3b094b 100644 --- a/spankbank.ts +++ b/spankbank.ts @@ -6,6 +6,8 @@ declare global { } } +const { BigNumber, ethers } = require('ethers') + // A promise that will resolve once web3 is fully loaded, including Ethereum // accounts. class Web3Wrapper { @@ -127,7 +129,7 @@ export class LedgerWeb3Wrapper { throw new Error('Web3 not found and no rpcUrl provided to LedgerWeb3Wrapper') opts.rpcUrl = networkDefaultRpcUrls[opts.networkId!] if (!opts.rpcUrl) - throw new Error('No default RPC URL for network "' + opts.networkId + '"; one must be provided.') + throw new Error('No default RPC URL for network "' + opts.networkId + '", one must be provided.') } this.isU2FSupported = await TransportU2F.isSupported() @@ -230,18 +232,18 @@ let sol2tsCasts = { SpankPoints: x => x, EthAddress: x => x, Period: (x): Period => ({ - bootyFees: x[0].toFixed(), - totalSpankPoints: x[1].toFixed(), - bootyMinted: x[2].toFixed(), + bootyFees: BigNumber.from(x[0]).toNumber(), + totalSpankPoints: BigNumber.from(x[1]).toNumber(), + bootyMinted: BigNumber.from(x[2]).toNumber(), mintingComplete: !!x[3], - startTime: x[4].toNumber(), - endTime: x[5].toNumber(), - closingVotes: x[6].toFixed(), + startTime: BigNumber.from(x[4]).toNumber(), + endTime: BigNumber.from(x[5]).toNumber(), + closingVotes: BigNumber.from(x[6]).toNumber(), }), Staker: (x): Staker => ({ - spankStaked: x[0].toFixed(), - startingPeriod: x[1].toNumber(), - endingPeriod: x[2].toNumber(), + spankStaked: BigNumber.from(x[0]).toNumber(), + startingPeriod: BigNumber.from(x[1]).toNumber(), + endingPeriod: BigNumber.from(x[2]).toNumber(), delegateKey: x[3], bootyBase: x[4], }), @@ -256,8 +258,6 @@ export async function waitForTransactionReceipt(web3: any, txHash: string, timeo throw new Error(`Timeout waiting for transaction '${txHash}' (${timeout} seconds)`) const web3 = new (require('web3'))(window.ethereum) - console.log("Testa") - console.log(web3) let receipt: any = await new Promise((res, rej) => { try { web3.eth.getTransactionReceipt(txHash, (err, receipt) => { @@ -357,26 +357,21 @@ export abstract class SmartContractWrapper { args = args || [] return await this._metamaskCall(contractFuncName, args, async (cb) => { - const web3 = new (require('web3'))(window.ethereum) - const contract = new web3.eth.Contract(this.getContractAbi(), this.contractAddress) - const constant = contract._jsonInterface.filter(x => x.type === 'function' && x.name === contractFuncName)[0].constant - - if (!constant && !(web3.currentProvider && window.ethereum.selectedAddress)) { - throw new MetamaskError('NOT_SIGNED_IN', `Web3 is not signed in, but ${contractFuncName} requires gas.`) - } + const provider = new ethers.providers.Web3Provider(window.ethereum) + const signer = provider.getSigner() + const spankBankContract = new ethers.Contract(this.contractAddress, this.getContractAbi(), provider) + const bankWithSigner = spankBankContract.connect(signer) - console.log("Derpahere") - console.log(this.callOptions) - let options = { ...this.callOptions } - - console.log("Derpathere") - console.log(web3) - console.log(contract) + if (!provider || !signer) { + throw new MetamaskError('NOT_SIGNED_IN', `Web3 is not signed in, but ${contractFuncName} requires gas.`) + } - if (!this.callOptions.gasPrice) - options.gasPrice = await web3.eth.getGasPrice() + let options = { ...this.callOptions } + if (!this.callOptions.gasPrice) + options.gasPrice = spankBankContract.estimateGas(contractFuncName) - contract[contractFuncName](...args, options, cb) + const result = await bankWithSigner[contractFuncName](...args) + cb(null, result) }) }