From ad21415f3e66f26534b5c1e02404763cd57d8e4d Mon Sep 17 00:00:00 2001 From: summertanh Date: Sun, 24 Nov 2019 00:31:30 +0800 Subject: [PATCH 01/39] fix can not send coin on test node when initializing the tronlink and upgrade sunweb --- .../services/NodeService/index.js | 99 ++++++++++++++++--- packages/pageHook/package.json | 2 +- yarn.lock | 28 +----- 3 files changed, 93 insertions(+), 36 deletions(-) diff --git a/packages/backgroundScript/services/NodeService/index.js b/packages/backgroundScript/services/NodeService/index.js index b0a456f..6719aad 100644 --- a/packages/backgroundScript/services/NodeService/index.js +++ b/packages/backgroundScript/services/NodeService/index.js @@ -27,7 +27,16 @@ const NodeService = { eventServer: 'https://api.trongrid.io', default: true, // false chain: '_', - connect: '9dd662e3-052c-584d-9a13-df395a0d68f6' + connect: '9dd662e3-052c-584d-9a13-df395a0d68f6', + chainType: 0, + connectChain: { + fullNode: 'https://api.trongrid.io', + solidityNode: 'https://api.trongrid.io', + eventServer: 'https://api.trongrid.io', + mainGateway: CONTRACT_ADDRESS.MAIN, + sideGateway: CONTRACT_ADDRESS.SIDE, + chainId: SIDE_CHAIN_ID, + } }, 'bb99520f-d86e-5722-92a3-e0bcbe409b3f': { name: 'Shasta Testnet', @@ -36,6 +45,8 @@ const NodeService = { eventServer: 'https://api.shasta.trongrid.io', default: false, chain: '_', + chainType: 0, + connectChain: false, }, '9670cbd2-5289-57df-82c2-1c80b6bd8511': { name: 'DappChain Testnet', @@ -44,7 +55,16 @@ const NodeService = { eventServer: 'https://testapi.tronex.io', default: false, chain: '_', - connect: '89895c8f-d355-5533-b9b3-d63f2408af7e' + connect: '89895c8f-d355-5533-b9b3-d63f2408af7e', + chainType: 0, + connectChain: { + fullNode: 'https://suntest.tronex.io', + solidityNode: 'https://suntest.tronex.io', + eventServer: 'https://suntest.tronex.io', + mainGateway: CONTRACT_ADDRESS.MAIN_TEST, + sideGateway: CONTRACT_ADDRESS.SIDE_TEST, + chainId: SIDE_CHAIN_ID_TEST, + } }, '9dd662e3-052c-584d-9a13-df395a0d68f6': { name: 'DappChain', @@ -54,6 +74,15 @@ const NodeService = { default: true, chain: SIDE_CHAIN_ID, connect: '3672f655-68a1-5c62-8929-d151c90ac21d', + chainType: 1, + mainGateway: CONTRACT_ADDRESS.MAIN, + sideGateway: CONTRACT_ADDRESS.SIDE, + sideChainId: SIDE_CHAIN_ID, + connectChain: { + fullNode: 'https://api.trongrid.io', + solidityNode: 'https://api.trongrid.io', + eventServer: 'https://api.trongrid.io', + } }, '89895c8f-d355-5533-b9b3-d63f2408af7e': { name: 'DappChain Testnet', @@ -63,6 +92,15 @@ const NodeService = { default: false, chain: SIDE_CHAIN_ID, connect: '9670cbd2-5289-57df-82c2-1c80b6bd8511', + chainType: 1, + mainGateway: CONTRACT_ADDRESS.MAIN_TEST, + sideGateway: CONTRACT_ADDRESS.SIDE_TEST, + sideChainId: SIDE_CHAIN_ID_TEST, + connectChain: { + fullNode: 'https://testhttpapi.tronex.io', + solidityNode: 'https://testhttpapi.tronex.io', + eventServer: 'https://testapi.tronex.io', + } }, }, @@ -132,18 +170,55 @@ const NodeService = { fullNode, solidityNode, eventServer, + connectNode, + chainType, + connectChain, + mainGateway, + sideGateway, + sideChainId, } = this.getCurrentNode(); - this.sunWeb = new SunWeb( - //{fullNode:'https://api.trongrid.io',solidityNode:'https://api.trongrid.io',eventServer:'https://api.trongrid.io'}, - //{fullNode:'https://sun.tronex.io',solidityNode:'https://sun.tronex.io',eventServer:'https://sun.tronex.io'}, - NODE.MAIN, - NODE.SIDE, - CONTRACT_ADDRESS.MAIN, - CONTRACT_ADDRESS.SIDE, - SIDE_CHAIN_ID - ); - + // this.sunWeb = new SunWeb( + // NODE.MAIN, + // NODE.SIDE, + // CONTRACT_ADDRESS.MAIN, + // CONTRACT_ADDRESS.SIDE, + // SIDE_CHAIN_ID + // ); + { fullNode: node.fullNode, solidityNode: node.solidityNode, eventServer: node.eventServer }, + { + fullNode: connectNode.fullNode, + solidityNode: connectNode.solidityNode, + eventServer: connectNode.eventServer + }, + CONTRACT_ADDRESS.MAIN, + CONTRACT_ADDRESS.SIDE, + SIDE_CHAIN_ID + + if (Number(chainType) === 0) { + if (connectChain) { + this.sunWeb = new SunWeb( + new TronWeb( + fullNode, + solidityNode, + eventServer, + ), new TronWeb( + connectChain.fullNode, + connectChain.solidityNode, + connectNode.eventServer, + ), + connectNode.mainGateway, + connectNode.sidechain, + connectNode.chainId); + } + } else { + this.sunWeb = new SunWeb( + new TronWeb(connectChain.fullNode, connectChain.solidityNode, connectChain.eventServer), + new TronWeb(fullNode, solidityNode, eventServer), + mainGateway, + sideGateway, + sideChainId); + } this.tronWeb = new TronWeb( fullNode, solidityNode, diff --git a/packages/pageHook/package.json b/packages/pageHook/package.json index cf68e6d..58a6ea5 100644 --- a/packages/pageHook/package.json +++ b/packages/pageHook/package.json @@ -12,6 +12,6 @@ "dependencies": { "ethers": "^4.0.33", "tronweb": "^2.7.4", - "sunweb": "^1.0.7" + "sunweb": "^1.0.8" } } diff --git a/yarn.lock b/yarn.lock index 08b5114..9d12694 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6496,7 +6496,7 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= -ethers@^4.0.32, ethers@^4.0.33, ethers@^4.0.7: +ethers@^4.0.33, ethers@^4.0.7: version "4.0.33" resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.33.tgz#f7b88d2419d731a39aefc37843a3f293e396f918" integrity sha512-lAHkSPzBe0Vj+JrhmkEHLtUEKEheVktIjGDyE9gbzF4zf1vibjYgB57LraDHu4/ItqWVkztgsm8GWqcDMN+6vQ== @@ -14042,15 +14042,13 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" -sunweb@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/sunweb/-/sunweb-1.0.7.tgz#9a4d09e0b5848060c60b8e99740076132c91f49c" - integrity sha512-2Nr1haGdTjtylgE53y83aGy5Edx8SyUQMB/Fs/LEnTF5bZuMvPNFpljXUiae0xy5j/UMuEb0Q1a6ONKmSsQpCw== +sunweb@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/sunweb/-/sunweb-1.0.8.tgz#f7adcd9b71e1a1f68020868792219d3c1e1a0054" + integrity sha512-4KyrxcnWIvozQ9ZrRdggDVl+pUrPDssI4T2ApVk105DkxKwosPAa5987LmpLV9tXykIg77ZNihy4dX2UGoawsA== dependencies: "@babel/runtime" "^7.4.5" babel-runtime "^6.26.0" - ethers "^4.0.32" - tronweb "^2.7.1" supports-color@5.4.0: version "5.4.0" @@ -14434,22 +14432,6 @@ trim-right@^1.0.1: resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= -tronweb@^2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/tronweb/-/tronweb-2.7.1.tgz#714547728a2e6e87e808da91b7a5b1e178179503" - integrity sha512-BSqEFeCX3nM4utzWKzo/nCVbtvZ6MMbFvPKVje1as/ZPqACTH0KxaJnOdsxs2KESuT/uuWKXYcqrUQie4KHN2A== - dependencies: - "@babel/runtime" "^7.0.0" - axios "^0.19.0" - babel-runtime "^6.26.0" - bignumber.js "^7.2.1" - elliptic "^6.4.1" - ethers "^4.0.7" - eventemitter3 "^3.1.0" - lodash "^4.17.14" - semver "^5.6.0" - validator "^10.7.1" - tronweb@^2.7.4: version "2.7.4" resolved "https://registry.yarnpkg.com/tronweb/-/tronweb-2.7.4.tgz#9fc81db59ee3dd8cb88ef12c92f6c6f554020022" From db021a48c596fd74a8e486f2c8b8d8e71b69df7d Mon Sep 17 00:00:00 2001 From: summertanh Date: Sun, 24 Nov 2019 00:34:18 +0800 Subject: [PATCH 02/39] change the way to new SunWeb --- .../services/WalletService/index.js | 42 ++++--------------- 1 file changed, 9 insertions(+), 33 deletions(-) diff --git a/packages/backgroundScript/services/WalletService/index.js b/packages/backgroundScript/services/WalletService/index.js index a2902ca..60160c0 100644 --- a/packages/backgroundScript/services/WalletService/index.js +++ b/packages/backgroundScript/services/WalletService/index.js @@ -779,7 +779,7 @@ class Wallet extends EventEmitter { const node = NodeService.getCurrentNode(); NodeService.selectChain(node.chain); - + const nodes = NodeService.getNodes(); const connectNode = nodes.nodes[nodes.nodes[nodeID].connect]; @@ -819,12 +819,8 @@ class Wallet extends EventEmitter { if (node.fullNode === 'https://api.trongrid.io' && connectNode.fullNode === 'https://sun.tronex.io') { NodeService.sunWeb = new SunWeb( - { fullNode: node.fullNode, solidityNode: node.solidityNode, eventServer: node.eventServer }, - { - fullNode: connectNode.fullNode, - solidityNode: connectNode.solidityNode, - eventServer: connectNode.eventServer - }, + new TronWeb(node.fullNode, node.solidityNode, node.eventServer), + new TronWeb(connectNode.fullNode, connectNode.solidityNode, connectNode.eventServer), CONTRACT_ADDRESS.MAIN, CONTRACT_ADDRESS.SIDE, SIDE_CHAIN_ID @@ -833,16 +829,8 @@ class Wallet extends EventEmitter { if (connectNode.fullNode === 'https://api.trongrid.io' && node.fullNode === 'https://sun.tronex.io') { NodeService.sunWeb = new SunWeb( - { - fullNode: connectNode.fullNode, - solidityNode: connectNode.solidityNode, - eventServer: connectNode.eventServer - }, - { - fullNode: node.fullNode, - solidityNode: node.solidityNode, - eventServer: node.eventServer - }, + new TronWeb(connectNode.fullNode, connectNode.solidityNode, connectNode.eventServer), + new TronWeb(node.fullNode, node.solidityNode, node.eventServer), CONTRACT_ADDRESS.MAIN, CONTRACT_ADDRESS.SIDE, SIDE_CHAIN_ID @@ -851,12 +839,8 @@ class Wallet extends EventEmitter { if (node.fullNode === 'https://testhttpapi.tronex.io' && connectNode.fullNode === 'https://suntest.tronex.io') { NodeService.sunWeb = new SunWeb( - { fullNode: node.fullNode, solidityNode: node.solidityNode, eventServer: node.eventServer }, - { - fullNode: connectNode.fullNode, - solidityNode: connectNode.solidityNode, - eventServer: connectNode.eventServer - }, + new TronWeb(node.fullNode, node.solidityNode, node.eventServer), + new TronWeb(connectNode.fullNode, connectNode.solidityNode, connectNode.eventServer), 'TFLtPoEtVJBMcj6kZPrQrwEdM3W3shxsBU', 'TRDepx5KoQ8oNbFVZ5sogwUxtdYmATDRgX', '413AF23F37DA0D48234FDD43D89931E98E1144481B' @@ -865,16 +849,8 @@ class Wallet extends EventEmitter { if (connectNode.fullNode === 'https://testhttpapi.tronex.io' && node.fullNode === 'https://suntest.tronex.io') { NodeService.sunWeb = new SunWeb( - { - fullNode: connectNode.fullNode, - solidityNode: connectNode.solidityNode, - eventServer: connectNode.eventServer - }, - { - fullNode: node.fullNode, - solidityNode: node.solidityNode, - eventServer: node.eventServer - }, + new TronWeb(connectNode.fullNode, connectNode.solidityNode, connectNode.eventServer), + new TronWeb(node.fullNode, node.solidityNode, node.eventServer), 'TFLtPoEtVJBMcj6kZPrQrwEdM3W3shxsBU', 'TRDepx5KoQ8oNbFVZ5sogwUxtdYmATDRgX', '413AF23F37DA0D48234FDD43D89931E98E1144481B' From 808192dbc32ccee7f610747c0d8d43549bb89062 Mon Sep 17 00:00:00 2001 From: llwslc Date: Mon, 25 Nov 2019 11:47:45 +0800 Subject: [PATCH 03/39] Unexpected token --- .../services/NodeService/index.js | 53 +++++++++---------- 1 file changed, 24 insertions(+), 29 deletions(-) diff --git a/packages/backgroundScript/services/NodeService/index.js b/packages/backgroundScript/services/NodeService/index.js index 6719aad..8cfe8d2 100644 --- a/packages/backgroundScript/services/NodeService/index.js +++ b/packages/backgroundScript/services/NodeService/index.js @@ -177,46 +177,41 @@ const NodeService = { sideGateway, sideChainId, } = this.getCurrentNode(); - - // this.sunWeb = new SunWeb( - // NODE.MAIN, - // NODE.SIDE, - // CONTRACT_ADDRESS.MAIN, - // CONTRACT_ADDRESS.SIDE, - // SIDE_CHAIN_ID - // ); - { fullNode: node.fullNode, solidityNode: node.solidityNode, eventServer: node.eventServer }, - { - fullNode: connectNode.fullNode, - solidityNode: connectNode.solidityNode, - eventServer: connectNode.eventServer - }, - CONTRACT_ADDRESS.MAIN, - CONTRACT_ADDRESS.SIDE, - SIDE_CHAIN_ID + + this.sunWeb = new SunWeb( + { fullNode: node.fullNode, solidityNode: node.solidityNode, eventServer: node.eventServer }, + { + fullNode: connectNode.fullNode, + solidityNode: connectNode.solidityNode, + eventServer: connectNode.eventServer + }, + CONTRACT_ADDRESS.MAIN, + CONTRACT_ADDRESS.SIDE, + SIDE_CHAIN_ID + ); if (Number(chainType) === 0) { if (connectChain) { this.sunWeb = new SunWeb( new TronWeb( - fullNode, - solidityNode, - eventServer, + fullNode, + solidityNode, + eventServer, ), new TronWeb( - connectChain.fullNode, - connectChain.solidityNode, - connectNode.eventServer, - ), - connectNode.mainGateway, - connectNode.sidechain, + connectChain.fullNode, + connectChain.solidityNode, + connectNode.eventServer, + ), + connectNode.mainGateway, + connectNode.sidechain, connectNode.chainId); - } + } } else { this.sunWeb = new SunWeb( new TronWeb(connectChain.fullNode, connectChain.solidityNode, connectChain.eventServer), new TronWeb(fullNode, solidityNode, eventServer), - mainGateway, - sideGateway, + mainGateway, + sideGateway, sideChainId); } this.tronWeb = new TronWeb( From edd9caf823cd1a2e413e4e5afe844c2d414410f1 Mon Sep 17 00:00:00 2001 From: llwslc Date: Mon, 25 Nov 2019 11:48:24 +0800 Subject: [PATCH 04/39] fix deposit button bug --- packages/popup/src/app/index.js | 2 +- .../popup/src/controllers/TransactionsController/index.js | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/popup/src/app/index.js b/packages/popup/src/app/index.js index 9476297..94310ed 100644 --- a/packages/popup/src/app/index.js +++ b/packages/popup/src/app/index.js @@ -82,7 +82,7 @@ class App extends React.Component { dom = PopupAPI.changeState(APP_STATE.TRANSACTIONS) } />; break; case APP_STATE.TRANSACTIONS: - dom = PopupAPI.changeState(APP_STATE.READY) } />; + dom = PopupAPI.changeState(APP_STATE.READY) } />; break; case APP_STATE.SETTING: dom = PopupAPI.changeState(APP_STATE.READY) } /> diff --git a/packages/popup/src/controllers/TransactionsController/index.js b/packages/popup/src/controllers/TransactionsController/index.js index 54bbb39..67fe13e 100644 --- a/packages/popup/src/controllers/TransactionsController/index.js +++ b/packages/popup/src/controllers/TransactionsController/index.js @@ -23,8 +23,6 @@ class TransactionsController extends React.Component { isRequest: false, currentPage: 1 }; - - this.nodes = ''; } async componentDidMount() { @@ -50,6 +48,7 @@ class TransactionsController extends React.Component { onCancel, prices, chains, + nodes, } = this.props; @@ -284,7 +283,7 @@ class TransactionsController extends React.Component { null } { - accounts.selectedToken.isMapping && type !== ACCOUNT_TYPE.LEDGER ? + accounts.selectedToken.isMapping && type !== ACCOUNT_TYPE.LEDGER && nodes.nodes[nodes.selected].connect ?