diff --git a/src/test-services/binanceBalance/run.sh b/src/test-services/binanceBalance/run.sh index 167d034..ec82b26 100755 --- a/src/test-services/binanceBalance/run.sh +++ b/src/test-services/binanceBalance/run.sh @@ -4,6 +4,9 @@ set -e cd $(dirname "$0") +# either development or staging +TARGET_NETWORK=${TARGET_NETWORK:=development} + docker build -t binance-balance . > /dev/null -docker run --rm --env-file .env binance-balance $@ +docker run --rm --env-file ".env.$TARGET_NETWORK" binance-balance $@ diff --git a/src/test-services/binanceSend/run.sh b/src/test-services/binanceSend/run.sh index 008f3f3..a2b8457 100755 --- a/src/test-services/binanceSend/run.sh +++ b/src/test-services/binanceSend/run.sh @@ -4,6 +4,9 @@ set -e cd $(dirname "$0") +# either development or staging +TARGET_NETWORK=${TARGET_NETWORK:=development} + docker build -t binance-send . > /dev/null -docker run --rm --env-file .env binance-send $@ +docker run --rm --env-file ".env.$TARGET_NETWORK" --env-file "../keys.$TARGET_NETWORK" binance-send $@ diff --git a/src/test-services/ethereumBalance/run.sh b/src/test-services/ethereumBalance/run.sh index a2eec47..c4f6dd0 100755 --- a/src/test-services/ethereumBalance/run.sh +++ b/src/test-services/ethereumBalance/run.sh @@ -4,6 +4,9 @@ set -e cd $(dirname "$0") +# either development or staging +TARGET_NETWORK=${TARGET_NETWORK:=development} + docker build -t ethreum-balance . > /dev/null -docker run --network blockchain_home --rm --env-file .env ethreum-balance $@ +docker run --network blockchain_home --rm --env-file ".env.$TARGET_NETWORK" ethreum-balance $@ diff --git a/src/test-services/ethereumBalance/testGetEthereumBalance.js b/src/test-services/ethereumBalance/testGetEthereumBalance.js index f05cf55..477593e 100644 --- a/src/test-services/ethereumBalance/testGetEthereumBalance.js +++ b/src/test-services/ethereumBalance/testGetEthereumBalance.js @@ -9,6 +9,8 @@ const token = new web3.eth.Contract(abiToken, HOME_TOKEN_ADDRESS) const address = process.argv[2] +web3.eth.getBalance(address).then(x => console.log(x.toString())) + token.methods.balanceOf(address).call() .then(x => console.log(x.toString())) .catch(() => console.log(0)) diff --git a/src/test-services/ethereumSend/run.sh b/src/test-services/ethereumSend/run.sh index c7ffab7..b301b9e 100755 --- a/src/test-services/ethereumSend/run.sh +++ b/src/test-services/ethereumSend/run.sh @@ -4,6 +4,9 @@ set -e cd $(dirname "$0") +# either development or staging +TARGET_NETWORK=${TARGET_NETWORK:=development} + docker build -t ethreum-send . > /dev/null -docker run --network blockchain_home --rm --env-file .env ethreum-send $@ +docker run --network blockchain_home --rm --env-file ".env.$TARGET_NETWORK" --env-file "../keys.$TARGET_NETWORK" ethreum-send $@ diff --git a/src/test-services/ethereumSend/testEthereumSend.js b/src/test-services/ethereumSend/testEthereumSend.js index 26f6f2f..c270923 100644 --- a/src/test-services/ethereumSend/testEthereumSend.js +++ b/src/test-services/ethereumSend/testEthereumSend.js @@ -1,7 +1,7 @@ const Web3 = require('web3') const BN = require('bignumber.js') -const { HOME_RPC_URL, HOME_BRIDGE_ADDRESS, HOME_CHAIN_ID, HOME_PRIVATE_KEY, HOME_TOKEN_ADDRESS } = process.env +const { HOME_RPC_URL, HOME_BRIDGE_ADDRESS, HOME_PRIVATE_KEY, HOME_TOKEN_ADDRESS } = process.env const abiToken = require('./IERC20').abi @@ -11,6 +11,7 @@ const token = new web3.eth.Contract(abiToken, HOME_TOKEN_ADDRESS) const sender = web3.eth.accounts.privateKeyToAccount(`0x${HOME_PRIVATE_KEY}`).address async function main () { + const HOME_CHAIN_ID = await web3.eth.net.getId() let to = process.argv[2] @@ -49,13 +50,13 @@ async function main () { from: sender, to: to, nonce: await web3.eth.getTransactionCount(sender), - chainId: parseInt(HOME_CHAIN_ID), + chainId: HOME_CHAIN_ID, value: web3.utils.toWei(new BN(coins).toString(), 'ether'), gas: 21000 } - signedTx = await web3.eth.accounts.signTransaction(tx_coins, HOME_PRIVATE_KEY) + const signedTx = await web3.eth.accounts.signTransaction(tx_coins, HOME_PRIVATE_KEY) - receipt = await web3.eth.sendSignedTransaction(signedTx.rawTransaction) + const receipt = await web3.eth.sendSignedTransaction(signedTx.rawTransaction) console.log('txHash: ' + receipt.transactionHash) } diff --git a/src/test-services/sidePrefund/Dockerfile b/src/test-services/sidePrefund/Dockerfile new file mode 100644 index 0000000..15d2e34 --- /dev/null +++ b/src/test-services/sidePrefund/Dockerfile @@ -0,0 +1,11 @@ +FROM node:10.16.0-alpine + +WORKDIR /test + +COPY package.json /test/ + +RUN npm install + +COPY testEthereumSend.js /test/ + +ENTRYPOINT ["node", "testEthereumSend.js"] diff --git a/src/test-services/sidePrefund/package.json b/src/test-services/sidePrefund/package.json new file mode 100644 index 0000000..db04192 --- /dev/null +++ b/src/test-services/sidePrefund/package.json @@ -0,0 +1,8 @@ +{ + "name": "ethereum-send", + "version": "0.0.1", + "dependencies": { + "bignumber.js": "9.0.0", + "web3": "1.0.0-beta.55" + } +} diff --git a/src/test-services/sidePrefund/run.sh b/src/test-services/sidePrefund/run.sh new file mode 100755 index 0000000..d041718 --- /dev/null +++ b/src/test-services/sidePrefund/run.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +set -e + +cd $(dirname "$0") + +echo "Using $TARGET_NETWORK network" + +docker build -t ethereum-send . > /dev/null + +docker run --network blockchain_side --rm --env-file .env --env-file "../.env.$TARGET_NETWORK" ethereum-send $@ diff --git a/src/test-services/sidePrefund/testEthereumSend.js b/src/test-services/sidePrefund/testEthereumSend.js new file mode 100644 index 0000000..731af3e --- /dev/null +++ b/src/test-services/sidePrefund/testEthereumSend.js @@ -0,0 +1,34 @@ +const Web3 = require('web3') +const BN = require('bignumber.js') + +const { SIDE_RPC_URL, SIDE_PRIVATE_KEY } = process.env + +const web3 = new Web3(SIDE_RPC_URL, null, { transactionConfirmationBlocks: 1 }) + +const sender = web3.eth.accounts.privateKeyToAccount(`0x${SIDE_PRIVATE_KEY}`).address + +async function main () { + const SIDE_CHAIN_ID = await web3.eth.net.getId() + + const to = process.argv[2] + const amount = parseFloat(process.argv[3]) + + console.log(`Transfer from ${sender} to ${to}, ${amount} eth`) + + const tx_coins = { + data: '0x', + from: sender, + to: to, + nonce: await web3.eth.getTransactionCount(sender), + chainId: SIDE_CHAIN_ID, + value: web3.utils.toWei(new BN(amount).toString(), 'ether'), + gas: 21000 + } + const signedTx = await web3.eth.accounts.signTransaction(tx_coins, SIDE_PRIVATE_KEY) + + const receipt = await web3.eth.sendSignedTransaction(signedTx.rawTransaction) + console.log('txHash: ' + receipt.transactionHash) + +} + +main()