diff --git a/eth_transfer.js b/eth_transfer.js index 7782f95..ac8ba75 100644 --- a/eth_transfer.js +++ b/eth_transfer.js @@ -4,7 +4,7 @@ const { default_http_options, default_ws_options } = require('./properties'); const nonce_helper_fn = require('./nonce_helper'); const Web3WsProvider = require('web3-providers-ws'); const Big = require('big.js') -const HDWalletProvider = require("@truffle/hdwallet-provider"); +const HDWalletProvider = require("@puremoney/hdwallet-provider"); class EthTransfer { constructor( @@ -17,7 +17,8 @@ class EthTransfer { nonce_helper = null, http_options = default_http_options, ws_options = default_ws_options, - src_mnemonic = null + src_mnemonic = null, + chain_id = null ) { this.network_provider = network_provider; this.contract_address = contract_address; @@ -38,6 +39,7 @@ class EthTransfer { this.http_options = http_options; this.ws_options = ws_options; this.src_mnemonic = src_mnemonic; + this.chain_id = chain_id } async init() { @@ -75,7 +77,8 @@ class EthTransfer { transactionCount, roks_eth_src_same, localNonceIncrement, - nonce_helper + nonce_helper, + chain_id } = this; const bigAmount = Big(amount); @@ -123,6 +126,8 @@ class EthTransfer { // Get gas price const gasPrice = await web3.eth.getGasPrice(); + const {chain, chainId} = (chain_id == null) ? {chain: 'bsc-mainnet', chainId: 56} : chain_id; + const txObj = { nonce, from: this.eth_src_address, @@ -130,7 +135,8 @@ class EthTransfer { value: web3.utils.toHex(web3.utils.toWei(amount.toString(), 'ether').toString()), gasPrice: web3.utils.toHex(gasPrice.toString()), gasLimit: web3.utils.toHex(this.gas_limit), - chain: 'bsc-testnet', // FIXME: must be a configurable variable + chain, + chainId, } return web3.eth.sendTransaction(txObj) @@ -140,7 +146,7 @@ class EthTransfer { }) .catch((reason) => { console.log("Reason: ", reason); - throw new Error(reason); + throw new Error(reason.message); }); } } diff --git a/package-lock.json b/package-lock.json index c8cfa8a..2ca75ec 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { - "name": "@bcabansay/roks_transfer_app", - "version": "2.1.18", + "name": "@puremoney/roks_transfer_app", + "version": "2.1.22", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -58,6 +58,43 @@ "to-fast-properties": "^2.0.0" } }, + "@ethereumjs/common": { + "version": "2.0.0-beta.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.0.0-beta.2.tgz", + "integrity": "sha512-DdzcV2iTKsfhFihR2boXEdTDqufpbHonPqp7fORsKTv9FRo5dkM8V9SF03RphSsZzYWg+KXd+eX1hYcpUjherw==", + "requires": { + "crc-32": "^1.2.0" + } + }, + "@ethereumjs/tx": { + "version": "3.0.0-beta.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.0.0-beta.2.tgz", + "integrity": "sha512-NZLIVXp/OcwkhP4Z4AC742kjInMPwvixKexlQFjAWoughp+/5JZESRb171mvLQAKI4aqY9bYicadtTwCdsMuZQ==", + "requires": { + "@ethereumjs/common": "2.0.0-beta.2", + "ethereumjs-util": "^7.0.7" + }, + "dependencies": { + "bn.js": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", + "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==" + }, + "ethereumjs-util": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.0.7.tgz", + "integrity": "sha512-vU5rtZBlZsgkTw3o6PDKyB8li2EgLavnAbsKcfsH2YhHH1Le+PP8vEiMnAnvgc1B6uMoaM5GDCrVztBw0Q5K9g==", + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^5.1.2", + "create-hash": "^1.1.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.4" + } + } + } + }, "@ethersproject/abi": { "version": "5.0.0-beta.153", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.0-beta.153.tgz", @@ -273,34 +310,52 @@ "@ethersproject/strings": "^5.0.4" } }, - "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" - }, - "@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "requires": { - "defer-to-connect": "^1.0.1" - } - }, - "@truffle/hdwallet-provider": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@truffle/hdwallet-provider/-/hdwallet-provider-1.2.0.tgz", - "integrity": "sha512-EPatDbyRuGbB/MLt9ZBokmtjyLjaNpuHfUIWuv4mQMrH1Nu82H5AAZYLh4Z1BZliDZpqB03a0yUMmK/4R0BN9g==", + "@puremoney/hdwallet-provider": { + "version": "1.2.2", + "resolved": "https://npm.pkg.github.com/download/@puremoney/hdwallet-provider/1.2.2/a60c46ec6a3ec648937e2981ff2c88c814c5a9f87ff5c19dad0891b04534f694", + "integrity": "sha512-NM8uSf5CEm0DT2zcCHmZdsGCIgvnHNbMu6UCbTBkGQTAt7TPCwEhcs+yrceZCK5i0WPE79JrzzcjBh6bZBKrUg==", "requires": { - "@trufflesuite/web3-provider-engine": "15.0.13-1", + "@ethereumjs/tx": "^3.0.0-beta.1", + "@puremoney/web3-provider-engine": "^15.0.13-x03", "@types/web3": "^1.0.20", "any-promise": "^1.3.0", "bindings": "^1.5.0", "ethereum-cryptography": "^0.1.3", "ethereum-protocol": "^1.0.1", - "ethereumjs-tx": "^1.0.0", "ethereumjs-util": "^6.1.0", "ethereumjs-wallet": "^0.6.3", + "fs": "0.0.1-security", "source-map-support": "^0.5.19" + } + }, + "@puremoney/web3-provider-engine": { + "version": "15.0.13-x03", + "resolved": "https://npm.pkg.github.com/download/@puremoney/web3-provider-engine/15.0.13-x03/07012e5a837e4f0977091cee4b60979cda105c83661eff4d7d2bf825a9894c69", + "integrity": "sha512-JSfis7yXrK8zop3HG+8B2upc/H6p+k5xxV+VsJxW550Hqf/OtOqBIwGBuKttp30SV2ZZRtu7N43+vxKDRvmsFQ==", + "requires": { + "@trufflesuite/eth-json-rpc-filters": "^4.1.2-1", + "@trufflesuite/eth-json-rpc-infura": "^4.0.3-0", + "@trufflesuite/eth-json-rpc-middleware": "^4.4.2-1", + "@trufflesuite/eth-sig-util": "^1.4.2", + "async": "^2.5.0", + "backoff": "^2.5.0", + "bluebird": "^3.7.2", + "clone": "^2.0.0", + "cross-fetch": "^2.1.0", + "es6-promisify": "^6.1.1", + "eth-block-tracker": "^4.4.2", + "eth-json-rpc-errors": "^2.0.2", + "ethereumjs-block": "^1.2.2", + "ethereumjs-tx": "^1.2.0", + "ethereumjs-util": "^5.1.5", + "ethereumjs-vm": "^2.3.4", + "json-stable-stringify": "^1.0.1", + "readable-stream": "^2.2.9", + "request": "^2.85.0", + "semaphore": "^1.0.3", + "ws": "^5.1.1", + "xhr": "^2.2.0", + "xtend": "^4.0.1" }, "dependencies": { "ethereum-common": { @@ -315,26 +370,78 @@ "requires": { "ethereum-common": "^0.0.18", "ethereumjs-util": "^5.0.0" + } + }, + "ethereumjs-util": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", + "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", + "requires": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" }, "dependencies": { - "ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" } } } } }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "requires": { + "defer-to-connect": "^1.0.1" + } + }, "@trufflesuite/eth-json-rpc-filters": { "version": "4.1.2-1", "resolved": "https://registry.npmjs.org/@trufflesuite/eth-json-rpc-filters/-/eth-json-rpc-filters-4.1.2-1.tgz", @@ -453,106 +560,6 @@ } } }, - "@trufflesuite/web3-provider-engine": { - "version": "15.0.13-1", - "resolved": "https://registry.npmjs.org/@trufflesuite/web3-provider-engine/-/web3-provider-engine-15.0.13-1.tgz", - "integrity": "sha512-6u3x/iIN5fyj8pib5QTUDmIOUiwAGhaqdSTXdqCu6v9zo2BEwdCqgEJd1uXDh3DBmPRDfiZ/ge8oUPy7LerpHg==", - "requires": { - "@trufflesuite/eth-json-rpc-filters": "^4.1.2-1", - "@trufflesuite/eth-json-rpc-infura": "^4.0.3-0", - "@trufflesuite/eth-json-rpc-middleware": "^4.4.2-1", - "@trufflesuite/eth-sig-util": "^1.4.2", - "async": "^2.5.0", - "backoff": "^2.5.0", - "clone": "^2.0.0", - "cross-fetch": "^2.1.0", - "eth-block-tracker": "^4.4.2", - "eth-json-rpc-errors": "^2.0.2", - "ethereumjs-block": "^1.2.2", - "ethereumjs-tx": "^1.2.0", - "ethereumjs-util": "^5.1.5", - "ethereumjs-vm": "^2.3.4", - "json-stable-stringify": "^1.0.1", - "promise-to-callback": "^1.0.0", - "readable-stream": "^2.2.9", - "request": "^2.85.0", - "semaphore": "^1.0.3", - "ws": "^5.1.1", - "xhr": "^2.2.0", - "xtend": "^4.0.1" - }, - "dependencies": { - "ethereum-common": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", - "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" - }, - "ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "requires": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "ethereumjs-util": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", - "integrity": "sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } - } - } - } - }, "@types/bn.js": { "version": "4.11.6", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", @@ -1116,6 +1123,15 @@ "vary": "^1" } }, + "crc-32": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz", + "integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==", + "requires": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + } + }, "create-ecdh": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", @@ -1382,6 +1398,11 @@ "es6-symbol": "^3.1.1" } }, + "es6-promisify": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.1.1.tgz", + "integrity": "sha512-HBL8I3mIki5C1Cc9QjKUenHtnG0A5/xA8Q/AllRcfiwl2CZFXGK7ddBiCoRwAix4i2KxcQfjtIVcrVbB3vbmwg==" + }, "es6-symbol": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", @@ -1761,6 +1782,11 @@ "safe-buffer": "^5.1.1" } }, + "exit-on-epipe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", + "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==" + }, "express": { "version": "4.17.1", "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", @@ -1910,6 +1936,11 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, + "fs": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", + "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=" + }, "fs-extra": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", @@ -2140,11 +2171,6 @@ "has": "^1.0.3" } }, - "is-fn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fn/-/is-fn-1.0.0.tgz", - "integrity": "sha1-lUPV3nvPWwiiLsiiC65uKG1RDYw=" - }, "is-function": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", @@ -2849,6 +2875,11 @@ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" }, + "printj": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", + "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==" + }, "process": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", @@ -2859,15 +2890,6 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, - "promise-to-callback": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/promise-to-callback/-/promise-to-callback-1.0.0.tgz", - "integrity": "sha1-XSp0kBC/tn2WNZj805YHRqaP7vc=", - "requires": { - "is-fn": "^1.0.0", - "set-immediate-shim": "^1.0.1" - } - }, "proxy-addr": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", @@ -3015,11 +3037,11 @@ } }, "resolve": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", - "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", "requires": { - "is-core-module": "^2.0.0", + "is-core-module": "^2.1.0", "path-parse": "^1.0.6" } }, @@ -3159,11 +3181,6 @@ "xhr": "^2.3.3" } }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" - }, "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", diff --git a/package.json b/package.json index da5422a..0cd72e1 100644 --- a/package.json +++ b/package.json @@ -1,29 +1,86 @@ { - "name": "@bcabansay/roks_transfer_app", - "version": "2.1.20", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "_from": "@puremoney/roks_transfer_app@2.2.0", + "_id": "@puremoney/roks_transfer_app@2.2.0", + "_inBundle": false, + "_integrity": "sha512-YSumubHPQq9OT0KQh8cMKArfMDxgJ4biKEJzzm0m53AiVlbqOlHoKG3gPnWVZ1HRnkhhJ9euyOOERKCsjxJjiQ==", + "_location": "/@puremoney/roks_transfer_app", + "_phantomChildren": { + "@ethersproject/abi": "5.0.0-beta.153", + "@ethersproject/transactions": "5.0.1", + "@types/bn.js": "4.11.6", + "bignumber.js": "9.0.0", + "bn.js": "4.11.9", + "bufferutil": "4.0.2", + "content-hash": "2.5.2", + "crypto-browserify": "3.12.0", + "debug": "2.6.9", + "elliptic": "6.5.3", + "es5-ext": "0.10.53", + "eth-ens-namehash": "2.0.8", + "ethereum-bloom-filters": "1.0.7", + "ethereumjs-common": "1.5.1", + "ethereumjs-tx": "2.1.2", + "ethjs-unit": "0.1.6", + "got": "9.6.0", + "http-https": "1.0.0", + "number-to-bn": "1.7.0", + "randombytes": "2.1.0", + "scrypt-js": "3.0.1", + "swarm-js": "0.1.40", + "typedarray-to-buffer": "3.1.5", + "underscore": "1.9.1", + "utf-8-validate": "5.0.3", + "utf8": "3.0.0", + "xhr-request-promise": "0.1.3", + "xhr2-cookies": "1.1.0", + "yaeti": "0.0.6" }, - "keywords": [], + "_requested": { + "type": "version", + "registry": true, + "raw": "@puremoney/roks_transfer_app@2.2.0", + "name": "@puremoney/roks_transfer_app", + "escapedName": "@puremoney%2froks_transfer_app", + "scope": "@puremoney", + "rawSpec": "2.2.0", + "saveSpec": null, + "fetchSpec": "2.2.0" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://npm.pkg.github.com/download/@puremoney/roks_transfer_app/2.2.0/0ec8350c74e352c30a9940359026b8e4e444c36869dfed5122d3cb907e694391", + "_shasum": "4489511616e9ff036e951a7a8e3b431f22b596ab", + "_spec": "@puremoney/roks_transfer_app@2.2.0", + "_where": "C:\\Users\\ctapa\\source\\ROKS_Remittance\\server", "author": "", - "license": "ISC", + "bugs": { + "url": "https://github.com/PureMoney/roks_transfer_app/issues" + }, + "bundleDependencies": false, "dependencies": { - "@truffle/hdwallet-provider": "file:../truffle/packages/hdwallet-provider", + "@puremoney/hdwallet-provider": "^1.2.3", "big.js": "^6.0.1", "web3": "^1.3.0", "web3-eth-contract": "^1.3.0", "web3-providers-http": "^1.3.0", "web3-providers-ws": "^1.3.0" }, + "deprecated": false, + "description": "", "devDependencies": {}, + "homepage": "https://github.com/PureMoney/roks_transfer_app#readme", + "keywords": [], + "license": "ISC", + "main": "index.js", + "name": "@puremoney/roks_transfer_app", "repository": { "type": "git", "url": "git+https://github.com/PureMoney/roks_transfer_app.git" }, - "bugs": { - "url": "https://github.com/PureMoney/roks_transfer_app/issues" + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" }, - "homepage": "https://github.com/PureMoney/roks_transfer_app#readme" + "version": "2.2.0" } diff --git a/roks_transfer.js b/roks_transfer.js index 44ec1f6..7c591c5 100644 --- a/roks_transfer.js +++ b/roks_transfer.js @@ -4,7 +4,7 @@ const { default_http_options, default_ws_options } = require('./properties'); const contract = require('./contract_abi'); const nonce_helper_fn = require('./nonce_helper'); const Web3WsProvider = require('web3-providers-ws'); -const HDWalletProvider = require("@truffle/hdwallet-provider"); +const HDWalletProvider = require("@puremoney/hdwallet-provider"); const Big = require('big.js') class RoksTransfer { @@ -19,7 +19,8 @@ class RoksTransfer { nonce_helper = null, http_options = default_http_options, ws_options = default_ws_options, - src_mnemonic = null + src_mnemonic = null, + chain_id = null ) { this.contract_abi = contract_abi; this.network_provider = network_provider; @@ -41,6 +42,7 @@ class RoksTransfer { this.http_options = http_options; this.ws_options = ws_options; this.src_mnemonic = src_mnemonic; + this.chain_id = chain_id; } async init() { @@ -87,7 +89,8 @@ class RoksTransfer { transaction_count, roks_eth_src_same, localNonceIncrement, - nonce_helper + nonce_helper, + chain_id } = this; console.log('Recipient: ', recipient) @@ -139,14 +142,18 @@ class RoksTransfer { const gasPrice = await web3.eth.getGasPrice(); console.log(`gas price: ${gasPrice.toString()}`) + const {chain, chainId} = (chain_id == null) ? {chain: 'bsc-mainnet', chainId: 56} : chain_id; + const txObj = { nonce, - 'from': roks_src_address, - 'gasPrice': web3.utils.toHex(gasPrice.toString()), - 'gasLimit': web3.utils.toHex(this.gas_limit), - "value": "0x00", - "data": data, - "to": this.contract_address + from: roks_src_address, + gasPrice: web3.utils.toHex(gasPrice.toString()), + gasLimit: web3.utils.toHex(this.gas_limit), + value: "0x00", + data, + to: this.contract_address, + chain, + chainId, }; return web3.eth.sendTransaction(txObj)