jsTests folder
This commit is contained in:
parent
f859c62175
commit
be3b3f0edc
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,73 @@
|
||||||
|
let utils = require("./utils");
|
||||||
|
|
||||||
|
let investorAddr = "0xDd0BB0e2a1594240fED0c2f2c17C1E9AB4F87126"
|
||||||
|
let txHash = "0xf1488e49928916f7c34d231aa64fbc64f4bb79f45b3197330a514b8051746367"
|
||||||
|
|
||||||
|
//check that contract is created correctly: should return values
|
||||||
|
getAuthorities("left");
|
||||||
|
getRequiredSignatures("left");
|
||||||
|
getAuthorities("right");
|
||||||
|
getRequiredSignatures("right");
|
||||||
|
|
||||||
|
utils.getTxReceipt(txHash);
|
||||||
|
utils.getTxData(txHash);
|
||||||
|
|
||||||
|
let config = utils.getConfig();
|
||||||
|
getTokenBalanceOf(investorAddr);
|
||||||
|
utils.getBalance(config.contract.left.addr);
|
||||||
|
|
||||||
|
function getAuthorities(side) {
|
||||||
|
utils.attachToContract(side, function(err, contract, config, web3) {
|
||||||
|
if(!web3.isConnected()) {
|
||||||
|
cb({code: 500, title: "Error", message: "check RPC"}, null);
|
||||||
|
} else {
|
||||||
|
contract.authorities.call(0, {from: web3.eth.defaultAccount}, function(err, result) {
|
||||||
|
console.log("getAuthorities:");
|
||||||
|
if (err) console.log(err);
|
||||||
|
console.log("result: " + result);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getRequiredSignatures(side) {
|
||||||
|
utils.attachToContract(side, function(err, contract, config, web3) {
|
||||||
|
if(!web3.isConnected()) {
|
||||||
|
cb({code: 500, title: "Error", message: "check RPC"}, null);
|
||||||
|
} else {
|
||||||
|
contract.requiredSignatures.call({from: web3.eth.defaultAccount}, function(err, result) {
|
||||||
|
console.log("getAuthorities:");
|
||||||
|
if (err) console.log(err);
|
||||||
|
console.log("result: " + result);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getTokenBalanceOf(addr) {
|
||||||
|
utils.attachToContract("right", function(err, contract, config, web3) {
|
||||||
|
if(!web3.isConnected()) {
|
||||||
|
cb({code: 500, title: "Error", message: "check RPC"}, null);
|
||||||
|
} else {
|
||||||
|
contract.balances.call(addr, {from: web3.eth.defaultAccount}, function(err, result) {
|
||||||
|
console.log("getBalances:");
|
||||||
|
if (err) console.log(err);
|
||||||
|
console.log("result: " + result);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getDeposits(hash) {
|
||||||
|
utils.attachToContract("right", function(err, contract, config, web3) {
|
||||||
|
if(!web3.isConnected()) {
|
||||||
|
cb({code: 500, title: "Error", message: "check RPC"}, null);
|
||||||
|
} else {
|
||||||
|
contract.deposits.call(hash, {from: web3.eth.defaultAccount}, function(err, result) {
|
||||||
|
console.log("getBalances:");
|
||||||
|
if (err) console.log(err);
|
||||||
|
console.log("result: " + result);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
let utils = require("./utils");
|
||||||
|
|
||||||
|
let investorAddr = "0xDd0BB0e2a1594240fED0c2f2c17C1E9AB4F87126"
|
||||||
|
|
||||||
|
sendMoneyToContract(investorAddr);
|
||||||
|
|
||||||
|
function sendMoneyToContract(addr) {
|
||||||
|
utils.attachToContract("left", function(err, contract, config, web3) {
|
||||||
|
if(!web3.isConnected()) {
|
||||||
|
cb({code: 500, title: "Error", message: "check RPC"}, null);
|
||||||
|
} else {
|
||||||
|
console.log(config.contract.left.addr);
|
||||||
|
web3.eth.sendTransaction({
|
||||||
|
gas: 800000,
|
||||||
|
from: addr,
|
||||||
|
to: config.contract.left.addr,
|
||||||
|
value: web3.toWei(0.01, "ether")
|
||||||
|
}, function(err, result) {
|
||||||
|
if (err) console.log(err);
|
||||||
|
console.log("sendMoneyToContract:");
|
||||||
|
console.log("result: " + result);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
"name": "bridge jstests",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "",
|
||||||
|
"main": "investWithBridge.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1",
|
||||||
|
"start": "node investWithBridge"
|
||||||
|
},
|
||||||
|
"author": "",
|
||||||
|
"license": "ISC",
|
||||||
|
"dependencies": {
|
||||||
|
"web3": "^0.19.1"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,86 @@
|
||||||
|
let fs = require("fs");
|
||||||
|
let Web3 = require("web3");
|
||||||
|
|
||||||
|
function attachToContract(side, cb) {
|
||||||
|
var config = getConfig();
|
||||||
|
configureWeb3(function(err, web3, config, defaultAccount) {
|
||||||
|
if (err) return console.log(err);
|
||||||
|
|
||||||
|
var contractABI = config.contract[side].abi;
|
||||||
|
var contractAddress = config.contract[side].addr;
|
||||||
|
|
||||||
|
if(!web3.isConnected()) {
|
||||||
|
if (cb) cb({code: 200, title: "Error", message: "check RPC"}, null);
|
||||||
|
} else {
|
||||||
|
web3.eth.defaultAccount = defaultAccount;
|
||||||
|
|
||||||
|
var MyContract = web3.eth.contract(contractABI);
|
||||||
|
|
||||||
|
contract = MyContract.at(contractAddress);
|
||||||
|
|
||||||
|
if (cb) cb(null, contract, config, web3);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getConfig() {
|
||||||
|
var config = JSON.parse(fs.readFileSync('./config.json', 'utf8'));
|
||||||
|
return config;
|
||||||
|
}
|
||||||
|
|
||||||
|
function configureWeb3(cb) {
|
||||||
|
var config = getConfig();
|
||||||
|
var web3;
|
||||||
|
if (typeof web3 !== 'undefined') {
|
||||||
|
web3 = new Web3(web3.currentProvider);
|
||||||
|
} else {
|
||||||
|
web3 = new Web3(new Web3.providers.HttpProvider(config.rpc));
|
||||||
|
}
|
||||||
|
if(!web3.isConnected()) {
|
||||||
|
var err = '{code: 500, title: "Error", message: "check RPC"}';
|
||||||
|
cb(err, web3, config);
|
||||||
|
} else {
|
||||||
|
//console.log(web3.eth.accounts);
|
||||||
|
|
||||||
|
web3.eth.defaultAccount = config.account;
|
||||||
|
var defaultAccount = web3.eth.defaultAccount;
|
||||||
|
//console.log("web3.eth.defaultAccount:");
|
||||||
|
//console.log(web3.eth.defaultAccount);
|
||||||
|
cb(null, web3, config, defaultAccount);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function getTxReceipt(txhash) {
|
||||||
|
console.log("***getTxReceipt***");
|
||||||
|
configureWeb3(function(err, web3, config, defaultAccount) {
|
||||||
|
web3.eth.getTransactionReceipt(txhash, function(err, val) {
|
||||||
|
console.log(val);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getTxData(txhash) {
|
||||||
|
console.log("***getTxData***");
|
||||||
|
configureWeb3(function(err, web3, config, defaultAccount) {
|
||||||
|
web3.eth.getTransaction(txhash, function(err, val) {
|
||||||
|
console.log(val);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getBalance(addr) {
|
||||||
|
var config = getConfig();
|
||||||
|
configureWeb3(function(err, web3, config, defaultAccount) {
|
||||||
|
let balance = web3.eth.getBalance(addr)
|
||||||
|
console.log("balance: " + balance)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
attachToContract: attachToContract,
|
||||||
|
getConfig: getConfig,
|
||||||
|
configureWeb3: configureWeb3,
|
||||||
|
getTxReceipt: getTxReceipt,
|
||||||
|
getTxData: getTxData,
|
||||||
|
getBalance: getBalance
|
||||||
|
}
|
Loading…
Reference in New Issue