mirror of
https://github.com/status-im/web3.js.git
synced 2025-02-24 03:58:13 +00:00
crypto-js integrated into project
This commit is contained in:
parent
adf91dfe8f
commit
d3205523e9
1477
dist/web3-light.js
vendored
1477
dist/web3-light.js
vendored
File diff suppressed because it is too large
Load Diff
16
dist/web3-light.js.map
vendored
16
dist/web3-light.js.map
vendored
File diff suppressed because one or more lines are too long
4
dist/web3-light.min.js
vendored
4
dist/web3-light.min.js
vendored
File diff suppressed because one or more lines are too long
1479
dist/web3.js
vendored
1479
dist/web3.js
vendored
File diff suppressed because it is too large
Load Diff
16
dist/web3.js.map
vendored
16
dist/web3.js.map
vendored
File diff suppressed because one or more lines are too long
4
dist/web3.min.js
vendored
4
dist/web3.min.js
vendored
File diff suppressed because one or more lines are too long
12
lib/web3.js
12
lib/web3.js
@ -35,17 +35,9 @@ var utils = require('./utils/utils');
|
|||||||
var formatters = require('./web3/formatters');
|
var formatters = require('./web3/formatters');
|
||||||
var RequestManager = require('./web3/requestmanager');
|
var RequestManager = require('./web3/requestmanager');
|
||||||
var c = require('./utils/config');
|
var c = require('./utils/config');
|
||||||
var Method = require('./web3/method');
|
|
||||||
var Property = require('./web3/property');
|
var Property = require('./web3/property');
|
||||||
var Batch = require('./web3/batch');
|
var Batch = require('./web3/batch');
|
||||||
|
var sha3 = require('./utils/sha3');
|
||||||
var web3Methods = [
|
|
||||||
new Method({
|
|
||||||
name: 'sha3',
|
|
||||||
call: 'web3_sha3',
|
|
||||||
params: 1
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
var web3Properties = [
|
var web3Properties = [
|
||||||
new Property({
|
new Property({
|
||||||
@ -130,6 +122,7 @@ web3.toBigNumber = utils.toBigNumber;
|
|||||||
web3.toWei = utils.toWei;
|
web3.toWei = utils.toWei;
|
||||||
web3.fromWei = utils.fromWei;
|
web3.fromWei = utils.fromWei;
|
||||||
web3.isAddress = utils.isAddress;
|
web3.isAddress = utils.isAddress;
|
||||||
|
web3.sha3 = sha3;
|
||||||
web3.createBatch = function () {
|
web3.createBatch = function () {
|
||||||
return new Batch();
|
return new Batch();
|
||||||
};
|
};
|
||||||
@ -156,7 +149,6 @@ Object.defineProperty(web3.eth, 'defaultAccount', {
|
|||||||
});
|
});
|
||||||
|
|
||||||
/// setups all api methods
|
/// setups all api methods
|
||||||
setupMethods(web3, web3Methods);
|
|
||||||
setupProperties(web3, web3Properties);
|
setupProperties(web3, web3Properties);
|
||||||
setupMethods(web3.net, net.methods);
|
setupMethods(web3.net, net.methods);
|
||||||
setupProperties(web3.net, net.properties);
|
setupProperties(web3.net, net.properties);
|
||||||
|
@ -24,6 +24,7 @@ var utils = require('../utils/utils');
|
|||||||
var coder = require('../solidity/coder');
|
var coder = require('../solidity/coder');
|
||||||
var web3 = require('../web3');
|
var web3 = require('../web3');
|
||||||
var formatters = require('./formatters');
|
var formatters = require('./formatters');
|
||||||
|
var sha3 = require('../utils/sha3');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This prototype should be used to create event filters
|
* This prototype should be used to create event filters
|
||||||
@ -77,7 +78,7 @@ SolidityEvent.prototype.typeName = function () {
|
|||||||
* @return {String} event signature
|
* @return {String} event signature
|
||||||
*/
|
*/
|
||||||
SolidityEvent.prototype.signature = function () {
|
SolidityEvent.prototype.signature = function () {
|
||||||
return web3.sha3(web3.fromAscii(this._name)).slice(2);
|
return sha3(this._name);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
var web3 = require('../web3');
|
var web3 = require('../web3');
|
||||||
var coder = require('../solidity/coder');
|
var coder = require('../solidity/coder');
|
||||||
var utils = require('../utils/utils');
|
var utils = require('../utils/utils');
|
||||||
|
var sha3 = require('../utils/sha3');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This prototype should be used to call/sendTransaction to solidity functions
|
* This prototype should be used to call/sendTransaction to solidity functions
|
||||||
@ -69,7 +70,7 @@ SolidityFunction.prototype.toPayload = function (args) {
|
|||||||
* @return {String} function signature
|
* @return {String} function signature
|
||||||
*/
|
*/
|
||||||
SolidityFunction.prototype.signature = function () {
|
SolidityFunction.prototype.signature = function () {
|
||||||
return web3.sha3(web3.fromAscii(this._name)).slice(2, 10);
|
return sha3(this._name).slice(0, 8);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -58,10 +58,6 @@ describe('lib/web3/batch', function () {
|
|||||||
var address = '0x0000000000000000000000000000000000000000';
|
var address = '0x0000000000000000000000000000000000000000';
|
||||||
var result = '0x126';
|
var result = '0x126';
|
||||||
var result2 = '0x0000000000000000000000000000000000000000000000000000000000000123';
|
var result2 = '0x0000000000000000000000000000000000000000000000000000000000000123';
|
||||||
var signature = '0x001122334455';
|
|
||||||
|
|
||||||
// TODO: fix this, maybe in browser sha3?
|
|
||||||
provider.injectResult(signature);
|
|
||||||
|
|
||||||
var counter = 0;
|
var counter = 0;
|
||||||
var callback = function (err, r) {
|
var callback = function (err, r) {
|
||||||
|
145
test/contract.js
145
test/contract.js
@ -5,6 +5,7 @@ var FakeHttpProvider = require('./helpers/FakeHttpProvider');
|
|||||||
var FakeHttpProvider2 = require('./helpers/FakeHttpProvider2');
|
var FakeHttpProvider2 = require('./helpers/FakeHttpProvider2');
|
||||||
var utils = require('../lib/utils/utils');
|
var utils = require('../lib/utils/utils');
|
||||||
var BigNumber = require('bignumber.js');
|
var BigNumber = require('bignumber.js');
|
||||||
|
var sha3 = require('../lib/utils/sha3');
|
||||||
|
|
||||||
var desc = [{
|
var desc = [{
|
||||||
"name": "balance(address)",
|
"name": "balance(address)",
|
||||||
@ -60,34 +61,28 @@ describe('web3.eth.contract', function () {
|
|||||||
var provider = new FakeHttpProvider();
|
var provider = new FakeHttpProvider();
|
||||||
web3.setProvider(provider);
|
web3.setProvider(provider);
|
||||||
web3.reset(); // reset different polls
|
web3.reset(); // reset different polls
|
||||||
var sha3 = '0x5131231231231231231231';
|
var signature = 'Changed(address,uint256,uint256,uint256)';
|
||||||
provider.injectResult(sha3);
|
|
||||||
var step = 0;
|
var step = 0;
|
||||||
provider.injectValidation(function (payload) {
|
provider.injectValidation(function (payload) {
|
||||||
if (step === 0) {
|
if (step === 0) {
|
||||||
step = 1;
|
step = 1;
|
||||||
assert.equal(payload.jsonrpc, '2.0');
|
|
||||||
assert.equal(payload.method, 'web3_sha3');
|
|
||||||
assert.equal(payload.params[0], web3.fromAscii('Changed(address,uint256,uint256,uint256)'));
|
|
||||||
} else if (step === 1) {
|
|
||||||
step = 2;
|
|
||||||
provider.injectResult(3);
|
provider.injectResult(3);
|
||||||
assert.equal(payload.jsonrpc, '2.0');
|
assert.equal(payload.jsonrpc, '2.0');
|
||||||
assert.equal(payload.method, 'eth_newFilter');
|
assert.equal(payload.method, 'eth_newFilter');
|
||||||
assert.deepEqual(payload.params[0], {
|
assert.deepEqual(payload.params[0], {
|
||||||
topics: [
|
topics: [
|
||||||
sha3,
|
'0x' + sha3(signature),
|
||||||
'0x0000000000000000000000001234567890123456789012345678901234567890',
|
'0x0000000000000000000000001234567890123456789012345678901234567890',
|
||||||
null
|
null
|
||||||
],
|
],
|
||||||
address: '0x1234567890123456789012345678901234567890'
|
address: '0x1234567890123456789012345678901234567890'
|
||||||
});
|
});
|
||||||
} else if (step === 2) {
|
} else if (step === 1) {
|
||||||
step = 3;
|
step = 2;
|
||||||
provider.injectResult([{
|
provider.injectResult([{
|
||||||
address: address,
|
address: address,
|
||||||
topics: [
|
topics: [
|
||||||
sha3,
|
'0x' + sha3(signature),
|
||||||
'0x0000000000000000000000001234567890123456789012345678901234567890',
|
'0x0000000000000000000000001234567890123456789012345678901234567890',
|
||||||
'0x0000000000000000000000000000000000000000000000000000000000000001'
|
'0x0000000000000000000000000000000000000000000000000000000000000001'
|
||||||
],
|
],
|
||||||
@ -97,11 +92,11 @@ describe('web3.eth.contract', function () {
|
|||||||
}]);
|
}]);
|
||||||
assert.equal(payload.jsonrpc, '2.0');
|
assert.equal(payload.jsonrpc, '2.0');
|
||||||
assert.equal(payload.method, 'eth_getFilterLogs');
|
assert.equal(payload.method, 'eth_getFilterLogs');
|
||||||
} else if (step === 3 && utils.isArray(payload)) {
|
} else if (step === 2 && utils.isArray(payload)) {
|
||||||
provider.injectBatchResults([[{
|
provider.injectBatchResults([[{
|
||||||
address: address,
|
address: address,
|
||||||
topics: [
|
topics: [
|
||||||
sha3,
|
'0x' + sha3(signature),
|
||||||
'0x0000000000000000000000001234567890123456789012345678901234567890',
|
'0x0000000000000000000000001234567890123456789012345678901234567890',
|
||||||
'0x0000000000000000000000000000000000000000000000000000000000000001'
|
'0x0000000000000000000000000000000000000000000000000000000000000001'
|
||||||
],
|
],
|
||||||
@ -135,53 +130,37 @@ describe('web3.eth.contract', function () {
|
|||||||
var provider = new FakeHttpProvider();
|
var provider = new FakeHttpProvider();
|
||||||
web3.setProvider(provider);
|
web3.setProvider(provider);
|
||||||
web3.reset();
|
web3.reset();
|
||||||
var sha3 = '0x5131231231231231231231';
|
provider.injectResult('0x0000000000000000000000000000000000000000000000000000000000000032');
|
||||||
|
var signature = 'balance(address)'
|
||||||
var address = '0x1234567890123456789012345678901234567890';
|
var address = '0x1234567890123456789012345678901234567890';
|
||||||
provider.injectResult(sha3);
|
|
||||||
var step = 0;
|
|
||||||
provider.injectValidation(function (payload) {
|
provider.injectValidation(function (payload) {
|
||||||
if (step === 0) {
|
|
||||||
step = 1;
|
|
||||||
assert.equal(payload.jsonrpc, '2.0');
|
|
||||||
assert.equal(payload.method, 'web3_sha3');
|
|
||||||
assert.equal(payload.params[0], web3.fromAscii('balance(address)'));
|
|
||||||
} else if (step === 1) {
|
|
||||||
assert.equal(payload.method, 'eth_call');
|
assert.equal(payload.method, 'eth_call');
|
||||||
assert.deepEqual(payload.params, [{
|
assert.deepEqual(payload.params, [{
|
||||||
data: sha3.slice(0, 10) + '0000000000000000000000001234567890123456789012345678901234567890',
|
data: '0x' + sha3(signature).slice(0, 8) + '0000000000000000000000001234567890123456789012345678901234567890',
|
||||||
to: address
|
to: address
|
||||||
}, 'latest']);
|
}, 'latest']);
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
var contract = web3.eth.contract(desc).at(address);
|
var contract = web3.eth.contract(desc).at(address);
|
||||||
|
|
||||||
contract.balance(address);
|
var r = contract.balance(address);
|
||||||
|
assert.deepEqual(new BigNumber(0x32), r);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should sendTransaction to contract function', function () {
|
it('should sendTransaction to contract function', function () {
|
||||||
var provider = new FakeHttpProvider();
|
var provider = new FakeHttpProvider();
|
||||||
web3.setProvider(provider);
|
web3.setProvider(provider);
|
||||||
web3.reset();
|
web3.reset();
|
||||||
var sha3 = '0x5131231231231231231231';
|
var signature = 'send(address,uint256)';
|
||||||
var address = '0x1234567890123456789012345678901234567890';
|
var address = '0x1234567890123456789012345678901234567890';
|
||||||
provider.injectResult(sha3);
|
|
||||||
var step = 0;
|
|
||||||
provider.injectValidation(function (payload) {
|
provider.injectValidation(function (payload) {
|
||||||
if (step === 0) {
|
|
||||||
step = 1;
|
|
||||||
assert.equal(payload.jsonrpc, '2.0');
|
|
||||||
assert.equal(payload.method, 'web3_sha3');
|
|
||||||
assert.equal(payload.params[0], web3.fromAscii('send(address,uint256)'));
|
|
||||||
} else if (step === 1) {
|
|
||||||
assert.equal(payload.method, 'eth_sendTransaction');
|
assert.equal(payload.method, 'eth_sendTransaction');
|
||||||
assert.deepEqual(payload.params, [{
|
assert.deepEqual(payload.params, [{
|
||||||
data: sha3.slice(0, 10) +
|
data: '0x' + sha3(signature).slice(0, 8) +
|
||||||
'0000000000000000000000001234567890123456789012345678901234567890' +
|
'0000000000000000000000001234567890123456789012345678901234567890' +
|
||||||
'0000000000000000000000000000000000000000000000000000000000000011' ,
|
'0000000000000000000000000000000000000000000000000000000000000011' ,
|
||||||
to: address
|
to: address
|
||||||
}]);
|
}]);
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
var contract = web3.eth.contract(desc).at(address);
|
var contract = web3.eth.contract(desc).at(address);
|
||||||
@ -194,30 +173,23 @@ describe('web3.eth.contract', function () {
|
|||||||
var provider = new FakeHttpProvider();
|
var provider = new FakeHttpProvider();
|
||||||
web3.setProvider(provider);
|
web3.setProvider(provider);
|
||||||
web3.reset();
|
web3.reset();
|
||||||
var sha3 = '0x5131231231231231231231';
|
provider.injectResult('0x0000000000000000000000000000000000000000000000000000000000000032');
|
||||||
|
var signature = 'balance(address)';
|
||||||
var address = '0x1234567890123456789012345678901234567890';
|
var address = '0x1234567890123456789012345678901234567890';
|
||||||
provider.injectResult(sha3);
|
|
||||||
var step = 0;
|
|
||||||
provider.injectValidation(function (payload) {
|
provider.injectValidation(function (payload) {
|
||||||
if (step === 0) {
|
|
||||||
step = 1;
|
|
||||||
assert.equal(payload.jsonrpc, '2.0');
|
|
||||||
assert.equal(payload.method, 'web3_sha3');
|
|
||||||
assert.equal(payload.params[0], web3.fromAscii('balance(address)'));
|
|
||||||
} else if (step === 1) {
|
|
||||||
assert.equal(payload.method, 'eth_call');
|
assert.equal(payload.method, 'eth_call');
|
||||||
assert.deepEqual(payload.params, [{
|
assert.deepEqual(payload.params, [{
|
||||||
data: sha3.slice(0, 10) + '0000000000000000000000001234567890123456789012345678901234567890',
|
data: '0x' + sha3(signature).slice(0, 8) + '0000000000000000000000001234567890123456789012345678901234567890',
|
||||||
to: address,
|
to: address,
|
||||||
from: address,
|
from: address,
|
||||||
gas: '0xc350'
|
gas: '0xc350'
|
||||||
}, 'latest']);
|
}, 'latest']);
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
var contract = web3.eth.contract(desc).at(address);
|
var contract = web3.eth.contract(desc).at(address);
|
||||||
|
|
||||||
contract.balance(address, {from: address, gas: 50000});
|
var r = contract.balance(address, {from: address, gas: 50000});
|
||||||
|
assert.deepEqual(new BigNumber(0x32), r);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -226,30 +198,23 @@ describe('web3.eth.contract', function () {
|
|||||||
var provider = new FakeHttpProvider();
|
var provider = new FakeHttpProvider();
|
||||||
web3.setProvider(provider);
|
web3.setProvider(provider);
|
||||||
web3.reset();
|
web3.reset();
|
||||||
var sha3 = '0x5131231231231231231231';
|
provider.injectResult('0x0000000000000000000000000000000000000000000000000000000000000032');
|
||||||
|
var signature = 'balance(address)';
|
||||||
var address = '0x1234567890123456789012345678901234567890';
|
var address = '0x1234567890123456789012345678901234567890';
|
||||||
provider.injectResult(sha3);
|
|
||||||
var step = 0;
|
|
||||||
provider.injectValidation(function (payload) {
|
provider.injectValidation(function (payload) {
|
||||||
if (step === 0) {
|
|
||||||
step = 1;
|
|
||||||
assert.equal(payload.jsonrpc, '2.0');
|
|
||||||
assert.equal(payload.method, 'web3_sha3');
|
|
||||||
assert.equal(payload.params[0], web3.fromAscii('balance(address)'));
|
|
||||||
} else if (step === 1) {
|
|
||||||
assert.equal(payload.method, 'eth_call');
|
assert.equal(payload.method, 'eth_call');
|
||||||
assert.deepEqual(payload.params, [{
|
assert.deepEqual(payload.params, [{
|
||||||
data: sha3.slice(0, 10) + '0000000000000000000000001234567890123456789012345678901234567890',
|
data: '0x' + sha3(signature).slice(0, 8) + '0000000000000000000000001234567890123456789012345678901234567890',
|
||||||
to: address,
|
to: address,
|
||||||
from: address,
|
from: address,
|
||||||
gas: '0xc350'
|
gas: '0xc350'
|
||||||
}, 'latest']);
|
}, 'latest']);
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
var contract = web3.eth.contract(desc).at(address);
|
var contract = web3.eth.contract(desc).at(address);
|
||||||
|
|
||||||
contract.balance.call(address, {from: address, gas: 50000});
|
var r = contract.balance.call(address, {from: address, gas: 50000});
|
||||||
|
assert.deepEqual(new BigNumber(0x32), r);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -257,20 +222,12 @@ describe('web3.eth.contract', function () {
|
|||||||
var provider = new FakeHttpProvider();
|
var provider = new FakeHttpProvider();
|
||||||
web3.setProvider(provider);
|
web3.setProvider(provider);
|
||||||
web3.reset();
|
web3.reset();
|
||||||
var sha3 = '0x5131231231231231231231';
|
var signature = 'send(address,uint256)';
|
||||||
var address = '0x1234567890123456789012345678901234567890';
|
var address = '0x1234567890123456789012345678901234567890';
|
||||||
provider.injectResult(sha3);
|
|
||||||
var step = 0;
|
|
||||||
provider.injectValidation(function (payload) {
|
provider.injectValidation(function (payload) {
|
||||||
if (step === 0) {
|
|
||||||
step = 1;
|
|
||||||
assert.equal(payload.jsonrpc, '2.0');
|
|
||||||
assert.equal(payload.method, 'web3_sha3');
|
|
||||||
assert.equal(payload.params[0], web3.fromAscii('send(address,uint256)'));
|
|
||||||
} else if (step === 1) {
|
|
||||||
assert.equal(payload.method, 'eth_sendTransaction');
|
assert.equal(payload.method, 'eth_sendTransaction');
|
||||||
assert.deepEqual(payload.params, [{
|
assert.deepEqual(payload.params, [{
|
||||||
data: sha3.slice(0, 10) +
|
data: '0x' + sha3(signature).slice(0, 8) +
|
||||||
'0000000000000000000000001234567890123456789012345678901234567890' +
|
'0000000000000000000000001234567890123456789012345678901234567890' +
|
||||||
'0000000000000000000000000000000000000000000000000000000000000011' ,
|
'0000000000000000000000000000000000000000000000000000000000000011' ,
|
||||||
to: address,
|
to: address,
|
||||||
@ -279,7 +236,6 @@ describe('web3.eth.contract', function () {
|
|||||||
gasPrice: '0xbb8',
|
gasPrice: '0xbb8',
|
||||||
value: '0x2710'
|
value: '0x2710'
|
||||||
}]);
|
}]);
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
var contract = web3.eth.contract(desc).at(address);
|
var contract = web3.eth.contract(desc).at(address);
|
||||||
@ -291,20 +247,12 @@ describe('web3.eth.contract', function () {
|
|||||||
var provider = new FakeHttpProvider();
|
var provider = new FakeHttpProvider();
|
||||||
web3.setProvider(provider);
|
web3.setProvider(provider);
|
||||||
web3.reset();
|
web3.reset();
|
||||||
var sha3 = '0x5131231231231231231231';
|
var signature = 'send(address,uint256)';
|
||||||
var address = '0x1234567890123456789012345678901234567890';
|
var address = '0x1234567890123456789012345678901234567890';
|
||||||
provider.injectResult(sha3);
|
|
||||||
var step = 0;
|
|
||||||
provider.injectValidation(function (payload) {
|
provider.injectValidation(function (payload) {
|
||||||
if (step === 0) {
|
|
||||||
step = 1;
|
|
||||||
assert.equal(payload.jsonrpc, '2.0');
|
|
||||||
assert.equal(payload.method, 'web3_sha3');
|
|
||||||
assert.equal(payload.params[0], web3.fromAscii('send(address,uint256)'));
|
|
||||||
} else if (step === 1) {
|
|
||||||
assert.equal(payload.method, 'eth_sendTransaction');
|
assert.equal(payload.method, 'eth_sendTransaction');
|
||||||
assert.deepEqual(payload.params, [{
|
assert.deepEqual(payload.params, [{
|
||||||
data: sha3.slice(0, 10) +
|
data: '0x' + sha3(signature).slice(0, 8) +
|
||||||
'0000000000000000000000001234567890123456789012345678901234567890' +
|
'0000000000000000000000001234567890123456789012345678901234567890' +
|
||||||
'0000000000000000000000000000000000000000000000000000000000000011' ,
|
'0000000000000000000000000000000000000000000000000000000000000011' ,
|
||||||
to: address,
|
to: address,
|
||||||
@ -313,7 +261,6 @@ describe('web3.eth.contract', function () {
|
|||||||
gasPrice: '0xbb8',
|
gasPrice: '0xbb8',
|
||||||
value: '0x2710'
|
value: '0x2710'
|
||||||
}]);
|
}]);
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
var contract = web3.eth.contract(desc).at(address);
|
var contract = web3.eth.contract(desc).at(address);
|
||||||
@ -325,20 +272,12 @@ describe('web3.eth.contract', function () {
|
|||||||
var provider = new FakeHttpProvider();
|
var provider = new FakeHttpProvider();
|
||||||
web3.setProvider(provider);
|
web3.setProvider(provider);
|
||||||
web3.reset();
|
web3.reset();
|
||||||
var sha3 = '0x5131231231231231231231';
|
|
||||||
var address = '0x1234567890123456789012345678901234567890';
|
var address = '0x1234567890123456789012345678901234567890';
|
||||||
provider.injectResult(sha3);
|
var signature = 'send(address,uint256)';
|
||||||
var step = 0;
|
|
||||||
provider.injectValidation(function (payload) {
|
provider.injectValidation(function (payload) {
|
||||||
if (step === 0) {
|
|
||||||
step = 1;
|
|
||||||
assert.equal(payload.jsonrpc, '2.0');
|
|
||||||
assert.equal(payload.method, 'web3_sha3');
|
|
||||||
assert.equal(payload.params[0], web3.fromAscii('send(address,uint256)'));
|
|
||||||
} else if (step === 1) {
|
|
||||||
assert.equal(payload.method, 'eth_sendTransaction');
|
assert.equal(payload.method, 'eth_sendTransaction');
|
||||||
assert.deepEqual(payload.params, [{
|
assert.deepEqual(payload.params, [{
|
||||||
data: sha3.slice(0, 10) +
|
data: '0x' + sha3(signature).slice(0, 8) +
|
||||||
'0000000000000000000000001234567890123456789012345678901234567890' +
|
'0000000000000000000000001234567890123456789012345678901234567890' +
|
||||||
'0000000000000000000000000000000000000000000000000000000000000011' ,
|
'0000000000000000000000000000000000000000000000000000000000000011' ,
|
||||||
to: address,
|
to: address,
|
||||||
@ -347,7 +286,6 @@ describe('web3.eth.contract', function () {
|
|||||||
gasPrice: '0xbb8',
|
gasPrice: '0xbb8',
|
||||||
value: '0x2710'
|
value: '0x2710'
|
||||||
}]);
|
}]);
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
var contract = web3.eth.contract(desc).at(address);
|
var contract = web3.eth.contract(desc).at(address);
|
||||||
@ -362,19 +300,16 @@ describe('web3.eth.contract', function () {
|
|||||||
var provider = new FakeHttpProvider2();
|
var provider = new FakeHttpProvider2();
|
||||||
web3.setProvider(provider);
|
web3.setProvider(provider);
|
||||||
web3.reset();
|
web3.reset();
|
||||||
var sha3 = '0x5131231231231231231231';
|
var signature = 'testArr(int[])';
|
||||||
var address = '0x1234567890123456789012345678901234567890';
|
var address = '0x1234567890123456789012345678901234567890';
|
||||||
provider.injectResultList([{
|
provider.injectResultList([{
|
||||||
result: sha3
|
|
||||||
}, {
|
|
||||||
result: '0x0000000000000000000000000000000000000000000000000000000000000005'
|
result: '0x0000000000000000000000000000000000000000000000000000000000000005'
|
||||||
}]);
|
}]);
|
||||||
var step = 0;
|
|
||||||
provider.injectValidation(function (payload) {
|
provider.injectValidation(function (payload) {
|
||||||
if (step === 1) { // getting sha3 is first
|
|
||||||
assert.equal(payload.method, 'eth_call');
|
assert.equal(payload.method, 'eth_call');
|
||||||
assert.deepEqual(payload.params, [{
|
assert.deepEqual(payload.params, [{
|
||||||
data: sha3.slice(0, 10) +
|
data: '0x' + sha3(signature).slice(0, 8) +
|
||||||
'0000000000000000000000000000000000000000000000000000000000000020' +
|
'0000000000000000000000000000000000000000000000000000000000000020' +
|
||||||
'0000000000000000000000000000000000000000000000000000000000000001' +
|
'0000000000000000000000000000000000000000000000000000000000000001' +
|
||||||
'0000000000000000000000000000000000000000000000000000000000000003',
|
'0000000000000000000000000000000000000000000000000000000000000003',
|
||||||
@ -382,8 +317,6 @@ describe('web3.eth.contract', function () {
|
|||||||
},
|
},
|
||||||
'latest'
|
'latest'
|
||||||
]);
|
]);
|
||||||
}
|
|
||||||
step++;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
var contract = web3.eth.contract(desc).at(address);
|
var contract = web3.eth.contract(desc).at(address);
|
||||||
@ -396,19 +329,15 @@ describe('web3.eth.contract', function () {
|
|||||||
var provider = new FakeHttpProvider2();
|
var provider = new FakeHttpProvider2();
|
||||||
web3.setProvider(provider);
|
web3.setProvider(provider);
|
||||||
web3.reset();
|
web3.reset();
|
||||||
var sha3 = '0x5131231231231231231231';
|
var signature = 'testArr(int[])';
|
||||||
var address = '0x1234567890123456789012345678901234567890';
|
var address = '0x1234567890123456789012345678901234567890';
|
||||||
provider.injectResultList([{
|
provider.injectResultList([{
|
||||||
result: sha3
|
|
||||||
}, {
|
|
||||||
result: '0x0000000000000000000000000000000000000000000000000000000000000005'
|
result: '0x0000000000000000000000000000000000000000000000000000000000000005'
|
||||||
}]);
|
}]);
|
||||||
var step = 0;
|
|
||||||
provider.injectValidation(function (payload) {
|
provider.injectValidation(function (payload) {
|
||||||
if (step === 1) { // getting sha3 is first
|
|
||||||
assert.equal(payload.method, 'eth_call');
|
assert.equal(payload.method, 'eth_call');
|
||||||
assert.deepEqual(payload.params, [{
|
assert.deepEqual(payload.params, [{
|
||||||
data: sha3.slice(0, 10) +
|
data: '0x' + sha3(signature).slice(0, 8) +
|
||||||
'0000000000000000000000000000000000000000000000000000000000000020' +
|
'0000000000000000000000000000000000000000000000000000000000000020' +
|
||||||
'0000000000000000000000000000000000000000000000000000000000000001' +
|
'0000000000000000000000000000000000000000000000000000000000000001' +
|
||||||
'0000000000000000000000000000000000000000000000000000000000000003',
|
'0000000000000000000000000000000000000000000000000000000000000003',
|
||||||
@ -416,8 +345,6 @@ describe('web3.eth.contract', function () {
|
|||||||
},
|
},
|
||||||
'latest'
|
'latest'
|
||||||
]);
|
]);
|
||||||
}
|
|
||||||
step++;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
var contract = web3.eth.contract(desc).at(address);
|
var contract = web3.eth.contract(desc).at(address);
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
var BigNumber = require('bignumber.js');
|
//var BigNumber = require('bignumber.js');
|
||||||
var web3 = require('../index');
|
//var web3 = require('../index');
|
||||||
var testMethod = require('./helpers/test.method.js');
|
//var testMethod = require('./helpers/test.method.js');
|
||||||
|
|
||||||
var method = 'sha3';
|
//var method = 'sha3';
|
||||||
|
|
||||||
var tests = [{
|
//var tests = [{
|
||||||
args: ['myString'],
|
//args: ['myString'],
|
||||||
formattedArgs: ['myString'],
|
//formattedArgs: ['myString'],
|
||||||
result: '0x319319f831983198319881',
|
//result: '0x319319f831983198319881',
|
||||||
formattedResult: '0x319319f831983198319881',
|
//formattedResult: '0x319319f831983198319881',
|
||||||
call: 'web3_'+ method
|
//call: 'web3_'+ method
|
||||||
}];
|
//}];
|
||||||
|
|
||||||
testMethod.runTests(null, method, tests);
|
//testMethod.runTests(null, method, tests);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user