Use new ethers.js NonceManager to handle transaction nonces
So far we have failed to globally handle the transaction nonces. The new ethers.js v5 comes with a NonceManager that helps us handling transaction nonces and automatically increases the nonce for each transaction.
This commit is contained in:
parent
35f6acc150
commit
b7ff55929c
3
index.js
3
index.js
@ -2,6 +2,7 @@ const fs = require('fs');
|
||||
const util = require('util');
|
||||
const fetch = require('node-fetch');
|
||||
const ethers = require('ethers');
|
||||
const NonceManager = require('@ethersproject/experimental').NonceManager;
|
||||
const Kredits = require('kredits-contracts');
|
||||
|
||||
const walletPath = process.env.KREDITS_WALLET_PATH || './wallet.json';
|
||||
@ -43,7 +44,7 @@ module.exports = async function(robot) {
|
||||
} else {
|
||||
ethProvider = new ethers.getDefaultProvider('rinkeby');
|
||||
}
|
||||
const signer = wallet.connect(ethProvider);
|
||||
const signer = new NonceManager(wallet.connect(ethProvider));
|
||||
|
||||
//
|
||||
// Kredits contracts setup
|
||||
|
@ -1,5 +1,9 @@
|
||||
const fetch = require('node-fetch');
|
||||
|
||||
function sleep(ms) {
|
||||
return new Promise(resolve => setTimeout(resolve, ms));
|
||||
}
|
||||
|
||||
module.exports = async function(robot, kredits) {
|
||||
|
||||
function messageRoom(message) {
|
||||
@ -13,9 +17,6 @@ module.exports = async function(robot, kredits) {
|
||||
|
||||
const zoomAccessToken = process.env.KREDITS_ZOOM_JWT;
|
||||
|
||||
const walletTransactionCount = await kredits.provider.getTransactionCount(kredits.signer.address);
|
||||
let nonce = walletTransactionCount;
|
||||
|
||||
async function createContributionFor (displayName, meeting) {
|
||||
const contributor = await getContributorByZoomDisplayName(displayName);
|
||||
|
||||
@ -35,7 +36,7 @@ module.exports = async function(robot, kredits) {
|
||||
time: meeting.end_time.split('T')[1]
|
||||
}
|
||||
|
||||
return Contribution.add(contribution, { nonce: nonce++ })
|
||||
return Contribution.add(contribution)
|
||||
.then(tx => {
|
||||
robot.logger.info(`[hubot-kredits] Contribution created: ${tx.hash}`);
|
||||
})
|
||||
@ -78,6 +79,7 @@ module.exports = async function(robot, kredits) {
|
||||
|
||||
for (const displayName of names) {
|
||||
await createContributionFor(displayName, meetingDetails);
|
||||
await sleep(60000); // potentially to prevent too many transactions at the sametime. transactions need to be ordered because of the nonce. not sure though if this is needed.
|
||||
};
|
||||
}
|
||||
|
||||
|
543
package-lock.json
generated
543
package-lock.json
generated
@ -4,6 +4,423 @@
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"@ensdomains/address-encoder": {
|
||||
"version": "0.1.7",
|
||||
"resolved": "https://registry.npmjs.org/@ensdomains/address-encoder/-/address-encoder-0.1.7.tgz",
|
||||
"integrity": "sha512-p43NCgeyF3Q5ZEhEa24SN/UYUTKZIvFHwQ3xT8xqv4/iBbf7+efOP8Pl6kHbu6HI6pdWhTMvHOUR4UEDu4MN1g==",
|
||||
"requires": {
|
||||
"bech32": "^1.1.3",
|
||||
"crypto-addr-codec": "^0.1.7"
|
||||
}
|
||||
},
|
||||
"@ethersproject/abi": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.1.tgz",
|
||||
"integrity": "sha512-9fqSa3jEYV4nN8tijW+jz4UnT/Ma9/b8y4+nHlsvuWqr32E2kYsT9SCIVpk/51iM6NOud7xsA6UxCox9zBeHKg==",
|
||||
"requires": {
|
||||
"@ethersproject/address": "^5.0.0",
|
||||
"@ethersproject/bignumber": "^5.0.0",
|
||||
"@ethersproject/bytes": "^5.0.0",
|
||||
"@ethersproject/constants": "^5.0.0",
|
||||
"@ethersproject/hash": "^5.0.0",
|
||||
"@ethersproject/keccak256": "^5.0.0",
|
||||
"@ethersproject/logger": "^5.0.0",
|
||||
"@ethersproject/properties": "^5.0.0",
|
||||
"@ethersproject/strings": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"@ethersproject/abstract-provider": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.0.1.tgz",
|
||||
"integrity": "sha512-/KOw65ayviYPtKLqFE1qozeIJJlfI1wE/tNA+iKUPUai6bU6vg2tbfLFGarRTCQe3HoWV1t7xSsD/z9T9xg74g==",
|
||||
"requires": {
|
||||
"@ethersproject/bignumber": "^5.0.0",
|
||||
"@ethersproject/bytes": "^5.0.0",
|
||||
"@ethersproject/logger": "^5.0.0",
|
||||
"@ethersproject/networks": "^5.0.0",
|
||||
"@ethersproject/properties": "^5.0.0",
|
||||
"@ethersproject/transactions": "^5.0.0",
|
||||
"@ethersproject/web": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"@ethersproject/abstract-signer": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.0.1.tgz",
|
||||
"integrity": "sha512-Rp8DP+cLcSNFkd1YhwPSBcgEWLRipNakitwIwHngAmhbo4zdiWgALD/OLqdQ7SKF75CufF1W4BCuXcQgiWaRow==",
|
||||
"requires": {
|
||||
"@ethersproject/abstract-provider": "^5.0.0",
|
||||
"@ethersproject/bignumber": "^5.0.0",
|
||||
"@ethersproject/bytes": "^5.0.0",
|
||||
"@ethersproject/logger": "^5.0.0",
|
||||
"@ethersproject/properties": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"@ethersproject/address": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.0.1.tgz",
|
||||
"integrity": "sha512-kfQtXpBP2pI2TfoRRAYv8grHGiYw8U0c1KbMsC58/W33TIBy7gFSf/oAzOd94lNzdIUenKU0OuSzrHQfVcDDDA==",
|
||||
"requires": {
|
||||
"@ethersproject/bignumber": "^5.0.0",
|
||||
"@ethersproject/bytes": "^5.0.0",
|
||||
"@ethersproject/keccak256": "^5.0.0",
|
||||
"@ethersproject/logger": "^5.0.0",
|
||||
"@ethersproject/rlp": "^5.0.0",
|
||||
"bn.js": "^4.4.0"
|
||||
}
|
||||
},
|
||||
"@ethersproject/base64": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.0.1.tgz",
|
||||
"integrity": "sha512-WZDa+TYl6BQfUm9EQIDDfJFL0GiuYXNZPIWoiZx3uds7P1XMsvcW3k71AyjYUxIkU5AKW7awwPbzCbBeP1uXsA==",
|
||||
"requires": {
|
||||
"@ethersproject/bytes": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"@ethersproject/basex": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.0.1.tgz",
|
||||
"integrity": "sha512-ssL2+p/A5bZgkZkiWy0iQDVz2mVJxZfzpf7dpw8t0sKF9VpoM3ZiMthRapH/QBhd4Rr6TNbr619pFLAGmMi9Ug==",
|
||||
"requires": {
|
||||
"@ethersproject/bytes": "^5.0.0",
|
||||
"@ethersproject/properties": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"@ethersproject/bignumber": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.1.tgz",
|
||||
"integrity": "sha512-srGDO7ksT0avdDw5pBtj6F81psv5xiJMInwSSatfIKplitubFb6yVwoHGObGRd0Pp3TvrkIDfJkuskoSMj4OHQ==",
|
||||
"requires": {
|
||||
"@ethersproject/bytes": "^5.0.0",
|
||||
"@ethersproject/logger": "^5.0.0",
|
||||
"@ethersproject/properties": "^5.0.0",
|
||||
"bn.js": "^4.4.0"
|
||||
}
|
||||
},
|
||||
"@ethersproject/bytes": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.1.tgz",
|
||||
"integrity": "sha512-Y198536UW9Jb9RBXuqmCsCa9mYJUsxJn+5aGr2XjNMpLBc6vEn/44GHnbQXYgRCzh4rnWtJ9bTgSwDjme9Hgnw==",
|
||||
"requires": {
|
||||
"@ethersproject/logger": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"@ethersproject/constants": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.1.tgz",
|
||||
"integrity": "sha512-Xec07hFCPN4wfC3WDiRay7KipkApl2msiKTrBHCuAwNMOM8M92+mlQp8tgfEL51DPwCZkmdk1f02kArc6caVSw==",
|
||||
"requires": {
|
||||
"@ethersproject/bignumber": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"@ethersproject/contracts": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.0.1.tgz",
|
||||
"integrity": "sha512-1uPajmkvw3Oy/dxs5TKUsGaXzQ3s5qiXKSVpw9ZrhGG6fMRO3gNyUA+uSWk9IXK0ulj5P95F7vW8HmYOkzep/Q==",
|
||||
"requires": {
|
||||
"@ethersproject/abi": "^5.0.0",
|
||||
"@ethersproject/abstract-provider": "^5.0.0",
|
||||
"@ethersproject/abstract-signer": "^5.0.0",
|
||||
"@ethersproject/address": "^5.0.0",
|
||||
"@ethersproject/bignumber": "^5.0.0",
|
||||
"@ethersproject/bytes": "^5.0.0",
|
||||
"@ethersproject/constants": "^5.0.0",
|
||||
"@ethersproject/logger": "^5.0.0",
|
||||
"@ethersproject/properties": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"@ethersproject/experimental": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/experimental/-/experimental-5.0.0.tgz",
|
||||
"integrity": "sha512-AEjVi6uvV4LcHbIozUyM7i6UNj1pqqWV4PhJiVfpeYLVc7FpiIlOOQUGJUHyXLuwjqyBO6vrQrtP3u2x2mKPFQ==",
|
||||
"requires": {
|
||||
"@ensdomains/address-encoder": "^0.1.2",
|
||||
"@ethersproject/web": "^5.0.0",
|
||||
"ethers": "^5.0.0",
|
||||
"scrypt-js": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"scrypt-js": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz",
|
||||
"integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@ethersproject/hash": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.0.1.tgz",
|
||||
"integrity": "sha512-1ByUXYvkszrSSks07xctBtZfpFnIVmftxWlAAnguxh6Q65vKECd/EPi5uI5xVOvnrYMH9Vb8MK1SofPX/6fArQ==",
|
||||
"requires": {
|
||||
"@ethersproject/bytes": "^5.0.0",
|
||||
"@ethersproject/keccak256": "^5.0.0",
|
||||
"@ethersproject/logger": "^5.0.0",
|
||||
"@ethersproject/strings": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"@ethersproject/hdnode": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.0.1.tgz",
|
||||
"integrity": "sha512-L2OZP4SKKxNtHUdwfK8cND09kHRH62ncxXW33WAJU9shKo8Sbz31HVqSdov84bMAGm8QfEKZbfbAJV/7DM6DjQ==",
|
||||
"requires": {
|
||||
"@ethersproject/abstract-signer": "^5.0.0",
|
||||
"@ethersproject/basex": "^5.0.0",
|
||||
"@ethersproject/bignumber": "^5.0.0",
|
||||
"@ethersproject/bytes": "^5.0.0",
|
||||
"@ethersproject/logger": "^5.0.0",
|
||||
"@ethersproject/pbkdf2": "^5.0.0",
|
||||
"@ethersproject/properties": "^5.0.0",
|
||||
"@ethersproject/sha2": "^5.0.0",
|
||||
"@ethersproject/signing-key": "^5.0.0",
|
||||
"@ethersproject/strings": "^5.0.0",
|
||||
"@ethersproject/transactions": "^5.0.0",
|
||||
"@ethersproject/wordlists": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"@ethersproject/json-wallets": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.0.1.tgz",
|
||||
"integrity": "sha512-QjqQCh1a0a6wRVHdnqVccCLWX0vAgxnvGZeGqpOk2NbyNE8HTzV7GpOE+4LU+iCc8oonfy1gYd4hpsf+iEUWGg==",
|
||||
"requires": {
|
||||
"@ethersproject/abstract-signer": "^5.0.0",
|
||||
"@ethersproject/address": "^5.0.0",
|
||||
"@ethersproject/bytes": "^5.0.0",
|
||||
"@ethersproject/hdnode": "^5.0.0",
|
||||
"@ethersproject/keccak256": "^5.0.0",
|
||||
"@ethersproject/logger": "^5.0.0",
|
||||
"@ethersproject/pbkdf2": "^5.0.0",
|
||||
"@ethersproject/properties": "^5.0.0",
|
||||
"@ethersproject/random": "^5.0.0",
|
||||
"@ethersproject/strings": "^5.0.0",
|
||||
"@ethersproject/transactions": "^5.0.0",
|
||||
"aes-js": "3.0.0",
|
||||
"scrypt-js": "3.0.1",
|
||||
"uuid": "2.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"scrypt-js": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz",
|
||||
"integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@ethersproject/keccak256": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.0.1.tgz",
|
||||
"integrity": "sha512-AtFm/4qHRQUvZcG3WYmaT7zV79dz72+N01w0XphcIBaD/7UZXyW85Uf08sirVlckHmh9fvc4UDWyHiroKsBT6Q==",
|
||||
"requires": {
|
||||
"@ethersproject/bytes": "^5.0.0",
|
||||
"js-sha3": "0.5.7"
|
||||
}
|
||||
},
|
||||
"@ethersproject/logger": {
|
||||
"version": "5.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.2.tgz",
|
||||
"integrity": "sha512-NQe3O1/Nwkcp6bto6hsTvrcCeR/cOGK+RhOMn0Zi2FND6gdWsf1g+5ie8gQ1REqDX4MTGP/Y131dZas985ls/g=="
|
||||
},
|
||||
"@ethersproject/networks": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.0.1.tgz",
|
||||
"integrity": "sha512-Pe34JCTC6Apm/DkK3z97xotvEyu9YHKIFlDIu5hGV6yFDb4/sUfY2SHKYSGdUrV0418ZZVrwYDveJtBFMmYu2Q==",
|
||||
"requires": {
|
||||
"@ethersproject/logger": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"@ethersproject/pbkdf2": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.0.1.tgz",
|
||||
"integrity": "sha512-4wc8Aov0iJmiomu6Dv1JNGOlhm3L7omITjLmChz/vgeDnW4Unv4J/nGybCeWKgY4hnjyQMVXkdkQ15BCRbkaYg==",
|
||||
"requires": {
|
||||
"@ethersproject/bytes": "^5.0.0",
|
||||
"@ethersproject/sha2": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"@ethersproject/properties": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.0.1.tgz",
|
||||
"integrity": "sha512-b3VZ/NpYIf64/hFXeWNxVCbY1xoMPIYM3n6Qnu6Ayr3bLt1olFPQfAaaRB0aOsLz7tMtmkT3DrA1KG/IrOgBRw==",
|
||||
"requires": {
|
||||
"@ethersproject/logger": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"@ethersproject/providers": {
|
||||
"version": "5.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.0.2.tgz",
|
||||
"integrity": "sha512-28ABJmHB9ii/73F3P9CXLBvlRkitiOGHCrUZqjQ6FELuAtKEROqA/yDklT9o/r/BpGcGTeeWpWfvdfgDHjshiw==",
|
||||
"requires": {
|
||||
"@ethersproject/abstract-provider": "^5.0.0",
|
||||
"@ethersproject/abstract-signer": "^5.0.0",
|
||||
"@ethersproject/address": "^5.0.0",
|
||||
"@ethersproject/bignumber": "^5.0.0",
|
||||
"@ethersproject/bytes": "^5.0.0",
|
||||
"@ethersproject/constants": "^5.0.0",
|
||||
"@ethersproject/hash": "^5.0.0",
|
||||
"@ethersproject/logger": "^5.0.0",
|
||||
"@ethersproject/networks": "^5.0.0",
|
||||
"@ethersproject/properties": "^5.0.0",
|
||||
"@ethersproject/random": "^5.0.0",
|
||||
"@ethersproject/rlp": "^5.0.0",
|
||||
"@ethersproject/strings": "^5.0.0",
|
||||
"@ethersproject/transactions": "^5.0.0",
|
||||
"@ethersproject/web": "^5.0.0",
|
||||
"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=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@ethersproject/random": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.0.1.tgz",
|
||||
"integrity": "sha512-nYzNhcp5Th4dCocV3yceZmh80bRmSQxqNRgND7Y/YgEgYJSSnknScpfRHACG//kgbsY8zui8ajXJeEnzS7yFbQ==",
|
||||
"requires": {
|
||||
"@ethersproject/bytes": "^5.0.0",
|
||||
"@ethersproject/logger": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"@ethersproject/rlp": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.0.1.tgz",
|
||||
"integrity": "sha512-3F8XE1zS4w8w4xiK1hMtFuVs6UnhQlmrEHLT85GanqK8vG5wGi81IQmkukL9tQIu2a5jykoO46ibja+6N1fpFg==",
|
||||
"requires": {
|
||||
"@ethersproject/bytes": "^5.0.0",
|
||||
"@ethersproject/logger": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"@ethersproject/sha2": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.0.1.tgz",
|
||||
"integrity": "sha512-5wNdULNDMJKwyzqrTH66e2TZPZTSqqluS7RNtuuuQSTP+yIALoID7ewLjDoj31g4kZyq/pqQbackKJLOXejTKw==",
|
||||
"requires": {
|
||||
"@ethersproject/bytes": "^5.0.0",
|
||||
"@ethersproject/logger": "^5.0.0",
|
||||
"hash.js": "1.1.3"
|
||||
}
|
||||
},
|
||||
"@ethersproject/signing-key": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.0.1.tgz",
|
||||
"integrity": "sha512-Z3yMPFFf4KkWltndDNi/tpese7qZh6ZWKbGu3DHd8xOX0PJqbScdAs6gCfFeMatO06qyX307Y52soc/Ayf8ZSg==",
|
||||
"requires": {
|
||||
"@ethersproject/bytes": "^5.0.0",
|
||||
"@ethersproject/logger": "^5.0.0",
|
||||
"@ethersproject/properties": "^5.0.0",
|
||||
"elliptic": "6.5.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"elliptic": {
|
||||
"version": "6.5.2",
|
||||
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz",
|
||||
"integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==",
|
||||
"requires": {
|
||||
"bn.js": "^4.4.0",
|
||||
"brorand": "^1.0.1",
|
||||
"hash.js": "^1.0.0",
|
||||
"hmac-drbg": "^1.0.0",
|
||||
"inherits": "^2.0.1",
|
||||
"minimalistic-assert": "^1.0.0",
|
||||
"minimalistic-crypto-utils": "^1.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@ethersproject/solidity": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.0.1.tgz",
|
||||
"integrity": "sha512-3L+xI1LaJmd2zBJxnK9Y4cd1vb2aJLFvL6fxvjWpzcMiFiZ4dbPwj3kharv5f5mAlbGwAs6NiPJaFWvbOpm96Q==",
|
||||
"requires": {
|
||||
"@ethersproject/bignumber": "^5.0.0",
|
||||
"@ethersproject/bytes": "^5.0.0",
|
||||
"@ethersproject/keccak256": "^5.0.0",
|
||||
"@ethersproject/sha2": "^5.0.0",
|
||||
"@ethersproject/strings": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"@ethersproject/strings": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.0.1.tgz",
|
||||
"integrity": "sha512-N8LxdHGBT7GZdogkEOV5xKXYTz5PNHuNzcxLNPYfH3kpvWSyXshZBgAz8YE1a8sMZagGj+Ic6d3mHijdCTSkGA==",
|
||||
"requires": {
|
||||
"@ethersproject/bytes": "^5.0.0",
|
||||
"@ethersproject/constants": "^5.0.0",
|
||||
"@ethersproject/logger": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"@ethersproject/transactions": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.0.1.tgz",
|
||||
"integrity": "sha512-IGc6/5hri3PrqR/ZCj89osDiq3Lt0CSrycn6vlRl8SjpBKYDdcT+Ru5xkeC7YcsnqcdBmTL+jyR3SLudU+x2Kw==",
|
||||
"requires": {
|
||||
"@ethersproject/address": "^5.0.0",
|
||||
"@ethersproject/bignumber": "^5.0.0",
|
||||
"@ethersproject/bytes": "^5.0.0",
|
||||
"@ethersproject/constants": "^5.0.0",
|
||||
"@ethersproject/keccak256": "^5.0.0",
|
||||
"@ethersproject/logger": "^5.0.0",
|
||||
"@ethersproject/properties": "^5.0.0",
|
||||
"@ethersproject/rlp": "^5.0.0",
|
||||
"@ethersproject/signing-key": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"@ethersproject/units": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.0.1.tgz",
|
||||
"integrity": "sha512-7J7Jmm4hMZ+yFiqEd7D5oeVK/V74GDwQlT0Om1yxXLYX6UPcV5ChHkUz/xpHPT9JXQlQ+2D69HBf1dzvdflrmQ==",
|
||||
"requires": {
|
||||
"@ethersproject/bignumber": "^5.0.0",
|
||||
"@ethersproject/constants": "^5.0.0",
|
||||
"@ethersproject/logger": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"@ethersproject/wallet": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.0.1.tgz",
|
||||
"integrity": "sha512-1/QPpFngJtUGtdVOLSoIN3vf+zEWyEVxQ0lhRCwGkiBqL2SoVoDHB7/nCfcv7wwlZkdnegFfo/8DxeyYjTZN7w==",
|
||||
"requires": {
|
||||
"@ethersproject/abstract-provider": "^5.0.0",
|
||||
"@ethersproject/abstract-signer": "^5.0.0",
|
||||
"@ethersproject/address": "^5.0.0",
|
||||
"@ethersproject/bignumber": "^5.0.0",
|
||||
"@ethersproject/bytes": "^5.0.0",
|
||||
"@ethersproject/hash": "^5.0.0",
|
||||
"@ethersproject/hdnode": "^5.0.0",
|
||||
"@ethersproject/json-wallets": "^5.0.0",
|
||||
"@ethersproject/keccak256": "^5.0.0",
|
||||
"@ethersproject/logger": "^5.0.0",
|
||||
"@ethersproject/properties": "^5.0.0",
|
||||
"@ethersproject/random": "^5.0.0",
|
||||
"@ethersproject/signing-key": "^5.0.0",
|
||||
"@ethersproject/transactions": "^5.0.0",
|
||||
"@ethersproject/wordlists": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"@ethersproject/web": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.0.1.tgz",
|
||||
"integrity": "sha512-lWPg8BR6KoyiIKYRIM6j+XO9bT9vGM1JnxFj2HmhIvOrOjba7ZRd8ANBOsDVGfw5igLUdfqAUOf9WpSsH//TzA==",
|
||||
"requires": {
|
||||
"@ethersproject/base64": "^5.0.0",
|
||||
"@ethersproject/logger": "^5.0.0",
|
||||
"@ethersproject/properties": "^5.0.0",
|
||||
"@ethersproject/strings": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"@ethersproject/wordlists": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.0.1.tgz",
|
||||
"integrity": "sha512-R7boLmpewucz5v4jD7cWwI0BGHR/DstiZtjdhUOft6XdMqM1OGb1UTL0GBQeS4vDXzCLuJEHddjJ69beGVN/4Q==",
|
||||
"requires": {
|
||||
"@ethersproject/bytes": "^5.0.0",
|
||||
"@ethersproject/hash": "^5.0.0",
|
||||
"@ethersproject/logger": "^5.0.0",
|
||||
"@ethersproject/properties": "^5.0.0",
|
||||
"@ethersproject/strings": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "10.14.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.4.tgz",
|
||||
@ -262,6 +679,16 @@
|
||||
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
|
||||
"integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g=="
|
||||
},
|
||||
"bech32": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz",
|
||||
"integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ=="
|
||||
},
|
||||
"big-integer": {
|
||||
"version": "1.6.36",
|
||||
"resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.36.tgz",
|
||||
"integrity": "sha512-t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg=="
|
||||
},
|
||||
"bignumber.js": {
|
||||
"version": "8.1.1",
|
||||
"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-8.1.1.tgz",
|
||||
@ -617,6 +1044,35 @@
|
||||
"sha.js": "^2.4.8"
|
||||
}
|
||||
},
|
||||
"crypto-addr-codec": {
|
||||
"version": "0.1.7",
|
||||
"resolved": "https://registry.npmjs.org/crypto-addr-codec/-/crypto-addr-codec-0.1.7.tgz",
|
||||
"integrity": "sha512-X4hzfBzNhy4mAc3UpiXEC/L0jo5E8wAa9unsnA8nNXYzXjCcGk83hfC5avJWCSGT8V91xMnAS9AKMHmjw5+XCg==",
|
||||
"requires": {
|
||||
"base-x": "^3.0.8",
|
||||
"big-integer": "1.6.36",
|
||||
"blakejs": "^1.1.0",
|
||||
"bs58": "^4.0.1",
|
||||
"ripemd160-min": "0.0.6",
|
||||
"safe-buffer": "^5.2.0",
|
||||
"sha3": "^2.1.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"base-x": {
|
||||
"version": "3.0.8",
|
||||
"resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz",
|
||||
"integrity": "sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==",
|
||||
"requires": {
|
||||
"safe-buffer": "^5.0.1"
|
||||
}
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.2.1",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
||||
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"cycle": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz",
|
||||
@ -747,38 +1203,39 @@
|
||||
"integrity": "sha512-DqtdXNHGi/QtOjEovNOegVVQTd8/NnH9rP27R5SU3j2LKECZbcLGIZ3Z9Ln1SDaeUC5YJGJFYQCUUjfIi7NNyQ=="
|
||||
},
|
||||
"ethers": {
|
||||
"version": "4.0.27",
|
||||
"resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.27.tgz",
|
||||
"integrity": "sha512-+DXZLP/tyFnXWxqr2fXLT67KlGUfLuvDkHSOtSC9TUVG9OIj6yrG5JPeXRMYo15xkOYwnjgdMKrXp5V94rtjJA==",
|
||||
"version": "5.0.2",
|
||||
"resolved": "https://registry.npmjs.org/ethers/-/ethers-5.0.2.tgz",
|
||||
"integrity": "sha512-hAWTPQXvjFlrtnPLCnOOJJuqiqmJv820egPHpOwcWTIQxXRrcfZyse2692eaqsXMeYLNM2CRfYgEomBiBGvgjw==",
|
||||
"requires": {
|
||||
"@types/node": "^10.3.2",
|
||||
"aes-js": "3.0.0",
|
||||
"bn.js": "^4.4.0",
|
||||
"elliptic": "6.3.3",
|
||||
"hash.js": "1.1.3",
|
||||
"js-sha3": "0.5.7",
|
||||
"scrypt-js": "2.0.4",
|
||||
"setimmediate": "1.0.4",
|
||||
"uuid": "2.0.1",
|
||||
"xmlhttprequest": "1.8.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"elliptic": {
|
||||
"version": "6.3.3",
|
||||
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz",
|
||||
"integrity": "sha1-VILZZG1UvLif19mU/J4ulWiHbj8=",
|
||||
"requires": {
|
||||
"bn.js": "^4.4.0",
|
||||
"brorand": "^1.0.1",
|
||||
"hash.js": "^1.0.0",
|
||||
"inherits": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"js-sha3": {
|
||||
"version": "0.5.7",
|
||||
"resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz",
|
||||
"integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc="
|
||||
}
|
||||
"@ethersproject/abi": "^5.0.0",
|
||||
"@ethersproject/abstract-provider": "^5.0.0",
|
||||
"@ethersproject/abstract-signer": "^5.0.0",
|
||||
"@ethersproject/address": "^5.0.0",
|
||||
"@ethersproject/base64": "^5.0.0",
|
||||
"@ethersproject/bignumber": "^5.0.0",
|
||||
"@ethersproject/bytes": "^5.0.0",
|
||||
"@ethersproject/constants": "^5.0.0",
|
||||
"@ethersproject/contracts": "^5.0.0",
|
||||
"@ethersproject/hash": "^5.0.0",
|
||||
"@ethersproject/hdnode": "^5.0.0",
|
||||
"@ethersproject/json-wallets": "^5.0.0",
|
||||
"@ethersproject/keccak256": "^5.0.0",
|
||||
"@ethersproject/logger": "^5.0.0",
|
||||
"@ethersproject/networks": "^5.0.0",
|
||||
"@ethersproject/pbkdf2": "^5.0.0",
|
||||
"@ethersproject/properties": "^5.0.0",
|
||||
"@ethersproject/providers": "^5.0.0",
|
||||
"@ethersproject/random": "^5.0.0",
|
||||
"@ethersproject/rlp": "^5.0.0",
|
||||
"@ethersproject/sha2": "^5.0.0",
|
||||
"@ethersproject/signing-key": "^5.0.0",
|
||||
"@ethersproject/solidity": "^5.0.0",
|
||||
"@ethersproject/strings": "^5.0.0",
|
||||
"@ethersproject/transactions": "^5.0.0",
|
||||
"@ethersproject/units": "^5.0.0",
|
||||
"@ethersproject/wallet": "^5.0.0",
|
||||
"@ethersproject/web": "^5.0.0",
|
||||
"@ethersproject/wordlists": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"events": {
|
||||
@ -2201,6 +2658,11 @@
|
||||
"inherits": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"ripemd160-min": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/ripemd160-min/-/ripemd160-min-0.0.6.tgz",
|
||||
"integrity": "sha512-+GcJgQivhs6S9qvLogusiTcS9kQUfgR75whKuy5jIhuiOfQuJ8fjqxV6EGD5duH1Y/FawFUMtMhyeq3Fbnib8A=="
|
||||
},
|
||||
"rsa-pem-to-jwk": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz",
|
||||
@ -2349,6 +2811,25 @@
|
||||
"safe-buffer": "^5.0.1"
|
||||
}
|
||||
},
|
||||
"sha3": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/sha3/-/sha3-2.1.2.tgz",
|
||||
"integrity": "sha512-agYUtkzMsdFTQkM3ECyt6YW0552fyEb0tYZkl7olurS1Vg2Ms5+2SdF4VFPC1jnwtiXMb8b0fSyuAGZh+q2mAw==",
|
||||
"requires": {
|
||||
"buffer": "5.5.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"buffer": {
|
||||
"version": "5.5.0",
|
||||
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz",
|
||||
"integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==",
|
||||
"requires": {
|
||||
"base64-js": "^1.0.2",
|
||||
"ieee754": "^1.1.4"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"signed-varint": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz",
|
||||
|
@ -12,7 +12,8 @@
|
||||
"dependencies": {
|
||||
"cors": "^2.8.5",
|
||||
"eth-provider": "^0.2.2",
|
||||
"ethers": "^4.0.27",
|
||||
"ethers": "^5.0.2",
|
||||
"@ethersproject/experimental": "5.0.0",
|
||||
"express": "^4.17.1",
|
||||
"express-session": "^1.16.2",
|
||||
"grant-express": "^4.6.1",
|
||||
|
Loading…
x
Reference in New Issue
Block a user