github.com/elastos/Elastos.ELA.SideChain.ETH@v0.2.2/oracle/common.js (about) 1 "use strict"; 2 3 const Web3 = require("web3"); 4 const web3 = new Web3("http://127.0.0.1:20636"); 5 const ctrt = require("./ctrt"); 6 7 8 web3.extend({ 9 methods: [{ 10 name: 'getFailedRechargeTxs', 11 call: 'eth_getFailedRechargeTxs', 12 params: 1, 13 }, 14 { 15 name: 'getFailedRechargeTxByHash', 16 call: 'eth_getFailedRechargeTxByHash', 17 params: 1, 18 }, 19 { 20 name: 'sendInvalidWithdrawTransaction', 21 call: 'eth_sendInvalidWithdrawTransaction', 22 params: 2, 23 }, 24 { 25 name: 'receivedSmallCrossTx', 26 call: 'eth_receivedSmallCrossTx', 27 params: 2, 28 }, 29 { 30 name: 'onSmallCrossTxSuccess', 31 call: 'eth_onSmallCrossTxSuccess', 32 params: 1, 33 }, 34 { 35 name: 'getFrozenAccounts', 36 call: 'eth_getFrozenAccounts', 37 params: 0, 38 } 39 ] 40 }); 41 const contract = new web3.eth.Contract(ctrt.abi); 42 console.log(JSON.stringify(process.env.env)); 43 switch (process.env.env) { 44 case "rinkeby": 45 console.log("0x491bC043672B9286fA02FA7e0d6A3E5A0384A31A"); 46 contract.options.address = "0x491bC043672B9286fA02FA7e0d6A3E5A0384A31A"; 47 break; 48 case "testnet": 49 console.log("0x491bC043672B9286fA02FA7e0d6A3E5A0384A31A"); 50 contract.options.address = "0x491bC043672B9286fA02FA7e0d6A3E5A0384A31A"; 51 break; 52 case "mainnet": 53 console.log("0xC445f9487bF570fF508eA9Ac320b59730e81e503"); 54 contract.options.address = "0xC445f9487bF570fF508eA9Ac320b59730e81e503"; 55 break; 56 default: 57 console.log("config address"); 58 contract.options.address = ctrt.address; 59 } 60 const payloadReceived = {name: null, inputs: null, signature: null}; 61 const blackAdr = "0x0000000000000000000000000000000000000000"; 62 const zeroHash64 = "0x0000000000000000000000000000000000000000000000000000000000000000"; 63 const latest = "latest"; 64 65 for (const event of ctrt.abi) { 66 if (event.name === "PayloadReceived" && event.type === "event") { 67 payloadReceived.name = event.name; 68 payloadReceived.inputs = event.inputs; 69 payloadReceived.signature = event.signature; 70 } 71 } 72 73 module.exports = { 74 web3: web3, 75 contract: contract, 76 payloadReceived: payloadReceived, 77 blackAdr: blackAdr, 78 latest: latest, 79 zeroHash64: zeroHash64, 80 reterr: function(err, res) { 81 console.log("Error Encountered: "); 82 console.log(err.toString()); 83 console.log("============================================================"); 84 res.json({"error": err.toString(), "id": null, "jsonrpc": "2.0", "result": null}); 85 return; 86 }, 87 retnum: function toNonExponential(num) { 88 let value = num.toString() 89 let numList = value.split(".") 90 let returnValue = value 91 if (numList.length > 1) { 92 let precisionStr = numList[1] 93 if (precisionStr.length > 8) { 94 let b = precisionStr.substr(precisionStr.lastIndexOf(".") + 1,8) 95 returnValue = numList[0] + "." + b 96 } 97 } 98 return returnValue 99 } 100 };