Skip to content
This repository has been archived by the owner on Jan 19, 2021. It is now read-only.

Commit

Permalink
Merge pull request #69 from ethereumjs/chore/upgrade-ethereumjs-testing
Browse files Browse the repository at this point in the history
Drop ethereumjs-testing dep and fix bug in branch value update
  • Loading branch information
holgerd77 committed Jan 10, 2019
2 parents 5b227a1 + 8d658c4 commit 37272b7
Show file tree
Hide file tree
Showing 10 changed files with 402 additions and 10 deletions.
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@
"browserify": "^13.0.0",
"coveralls": "^2.11.6",
"documentation": "^8.1.2",
"ethereumjs-testing": "0.0.1",
"istanbul": "^0.4.1",
"karma": "^1.7.1",
"karma-browserify": "^5.0.0",
Expand Down
2 changes: 1 addition & 1 deletion src/baseTrie.js
Original file line number Diff line number Diff line change
Expand Up @@ -388,7 +388,7 @@ module.exports = class Trie {
stack.push(lastNode)
} else if (lastNode.type === 'branch') {
stack.push(lastNode)
if (keyRemainder !== 0) {
if (keyRemainder.length !== 0) {
// add an extention to a branch node
keyRemainder.shift()
// create a new leaf
Expand Down
49 changes: 49 additions & 0 deletions test/fixture/hex_encoded_securetrie_test.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"source": "https://github.com/ethereum/tests/blob/develop/TrieTests/hex_encoded_securetrie_test.json",
"commit": "7d66cbfff1e6561d1046e45df8b7918d186b136f",
"date": "2019-01-10",
"tests": {
"test1": {
"in": {
"0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b":
"0xf848018405f446a7a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"0x095e7baea6a6c7c4c2dfeb977efac326af552d87":
"0xf8440101a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a004bccc5d94f4d1f99aab44369a910179931772f2a5c001c3229f57831c102769",
"0xd2571607e241ecf590ed94b12d87c94babe36db6":
"0xf8440180a0ba4b47865c55a341a4a78759bb913cd15c3ee8eaf30a62fa8d1c8863113d84e8a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"0x62c01474f089b07dae603491675dc5b5748f7049":
"0xf8448080a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba":
"0xf8478083019a59a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
},
"root": "0x730a444e08ab4b8dee147c9b232fc52d34a223d600031c1e9d25bfc985cbd797",
"hexEncoded": true
},
"test2": {
"in": {
"0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b":
"0xf84c01880de0b6b3a7622746a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"0x095e7baea6a6c7c4c2dfeb977efac326af552d87":
"0xf84780830186b7a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0501653f02840675b1aab0328c6634762af5d51764e78f9641cccd9b27b90db4f",
"0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba":
"0xf8468082521aa056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
},
"root": "0xa7c787bf470808896308c215e22c7a580a0087bb6db6e8695fb4759537283a83",
"hexEncoded": true
},
"test3": {
"in": {
"0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b":
"0xf84c01880de0b6b3a7614bc3a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"0x095e7baea6a6c7c4c2dfeb977efac326af552d87":
"0xf84880840132b3a0a065fee2fffd7a68488cf7ef79f35f7979133172ac5727b5e0cf322953d13de492a06e5d8fec8b6b9bf41c3fb9b61696d5c87b66f6daa98d5f02ba9361b0c6916467",
"0x0000000000000000000000000000000000000001":
"0xf8448080a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba":
"0xf8478083012d9da056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
},
"root": "0x40b37be88a49e2c08b8d33fcb03a0676ffd0481df54dfebd3512b8ec54f40cad",
"hexEncoded": true
}
}
}
59 changes: 59 additions & 0 deletions test/fixture/trieanyorder.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
{
"source": "https://github.com/ethereum/tests/blob/develop/TrieTests/trieanyorder.json",
"commit": "7d66cbfff1e6561d1046e45df8b7918d186b136f",
"date": "2019-01-10",
"tests": {
"singleItem": {
"in": {
"A": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
},
"root": "0xd23786fb4a010da3ce639d66d5e904a11dbc02746d1ce25029e53290cabf28ab"
},
"dogs": {
"in": {
"doe": "reindeer",
"dog": "puppy",
"dogglesworth": "cat"
},
"root": "0x8aad789dff2f538bca5d8ea56e8abe10f4c7ba3a5dea95fea4cd6e7c3a1168d3"
},
"puppy": {
"in": {
"do": "verb",
"horse": "stallion",
"doge": "coin",
"dog": "puppy"
},
"root": "0x5991bb8c6514148a29db676a14ac506cd2cd5775ace63c30a4fe457715e9ac84"
},
"foo": {
"in": {
"foo": "bar",
"food": "bass"
},
"root": "0x17beaa1648bafa633cda809c90c04af50fc8aed3cb40d16efbddee6fdf63c4c3"
},
"smallValues": {
"in": {
"be": "e",
"dog": "puppy",
"bed": "d"
},
"root": "0x3f67c7a47520f79faa29255d2d3c084a7a6df0453116ed7232ff10277a8be68b"
},
"testy": {
"in": {
"test": "test",
"te": "testy"
},
"root": "0x8452568af70d8d140f58d941338542f645fcca50094b20f3c3d8c3df49337928"
},
"hex": {
"in": {
"0x0045": "0x0123456789",
"0x4500": "0x9876543210"
},
"root": "0x285505fcabe84badc8aa310e2aae17eddc7d120aabec8a476902c8184b3a3503"
}
}
}
59 changes: 59 additions & 0 deletions test/fixture/trieanyorder_secureTrie.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
{
"source": "https://github.com/ethereum/tests/blob/develop/TrieTests/trieanyorder_secureTrie.json",
"commit": "7d66cbfff1e6561d1046e45df8b7918d186b136f",
"date": "2019-01-10",
"tests": {
"singleItem": {
"in": {
"A": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
},
"root": "0xe9e2935138352776cad724d31c9fa5266a5c593bb97726dd2a908fe6d53284df"
},
"dogs": {
"in": {
"doe": "reindeer",
"dog": "puppy",
"dogglesworth": "cat"
},
"root": "0xd4cd937e4a4368d7931a9cf51686b7e10abb3dce38a39000fd7902a092b64585"
},
"puppy": {
"in": {
"do": "verb",
"horse": "stallion",
"doge": "coin",
"dog": "puppy"
},
"root": "0x29b235a58c3c25ab83010c327d5932bcf05324b7d6b1185e650798034783ca9d"
},
"foo": {
"in": {
"foo": "bar",
"food": "bass"
},
"root": "0x1385f23a33021025d9e87cca5c66c00de06178807b96a9acc92b7d651ccde842"
},
"smallValues": {
"in": {
"be": "e",
"dog": "puppy",
"bed": "d"
},
"root": "0x826a4f9f9054a3e980e54b20da992c24fa20467f1ca635115ef4917be66e746f"
},
"testy": {
"in": {
"test": "test",
"te": "testy"
},
"root": "0xaea54fb6c80499674248a462864c420c9d9f3b3d38c879c12425bade1ad76552"
},
"hex": {
"in": {
"0x0045": "0x0123456789",
"0x4500": "0x9876543210"
},
"root": "0xbc11c02c8ab456db0c4d2728b6a2a6210d06f26a2ace4f7d8bdfc72ddf2630ab"
}
}
}
110 changes: 110 additions & 0 deletions test/fixture/trietest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
{
"source": "https://github.com/ethereum/tests/blob/develop/TrieTests/trietest.json",
"commit": "7d66cbfff1e6561d1046e45df8b7918d186b136f",
"date": "2019-01-10",
"tests": {
"emptyValues": {
"in": [
["do", "verb"],
["ether", "wookiedoo"],
["horse", "stallion"],
["shaman", "horse"],
["doge", "coin"],
["ether", null],
["dog", "puppy"],
["shaman", null]
],
"root": "0x5991bb8c6514148a29db676a14ac506cd2cd5775ace63c30a4fe457715e9ac84"
},
"branchingTests": {
"in":[
["0x04110d816c380812a427968ece99b1c963dfbce6", "something"],
["0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "something"],
["0x0a517d755cebbf66312b30fff713666a9cb917e0", "something"],
["0x24dd378f51adc67a50e339e8031fe9bd4aafab36", "something"],
["0x293f982d000532a7861ab122bdc4bbfd26bf9030", "something"],
["0x2cf5732f017b0cf1b1f13a1478e10239716bf6b5", "something"],
["0x31c640b92c21a1f1465c91070b4b3b4d6854195f", "something"],
["0x37f998764813b136ddf5a754f34063fd03065e36", "something"],
["0x37fa399a749c121f8a15ce77e3d9f9bec8020d7a", "something"],
["0x4f36659fa632310b6ec438dea4085b522a2dd077", "something"],
["0x62c01474f089b07dae603491675dc5b5748f7049", "something"],
["0x729af7294be595a0efd7d891c9e51f89c07950c7", "something"],
["0x83e3e5a16d3b696a0314b30b2534804dd5e11197", "something"],
["0x8703df2417e0d7c59d063caa9583cb10a4d20532", "something"],
["0x8dffcd74e5b5923512916c6a64b502689cfa65e1", "something"],
["0x95a4d7cccb5204733874fa87285a176fe1e9e240", "something"],
["0x99b2fcba8120bedd048fe79f5262a6690ed38c39", "something"],
["0xa4202b8b8afd5354e3e40a219bdc17f6001bf2cf", "something"],
["0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", "something"],
["0xa9647f4a0a14042d91dc33c0328030a7157c93ae", "something"],
["0xaa6cffe5185732689c18f37a7f86170cb7304c2a", "something"],
["0xaae4a2e3c51c04606dcb3723456e58f3ed214f45", "something"],
["0xc37a43e940dfb5baf581a0b82b351d48305fc885", "something"],
["0xd2571607e241ecf590ed94b12d87c94babe36db6", "something"],
["0xf735071cbee190d76b704ce68384fc21e389fbe7", "something"],
["0x04110d816c380812a427968ece99b1c963dfbce6", null],
["0x095e7baea6a6c7c4c2dfeb977efac326af552d87", null],
["0x0a517d755cebbf66312b30fff713666a9cb917e0", null],
["0x24dd378f51adc67a50e339e8031fe9bd4aafab36", null],
["0x293f982d000532a7861ab122bdc4bbfd26bf9030", null],
["0x2cf5732f017b0cf1b1f13a1478e10239716bf6b5", null],
["0x31c640b92c21a1f1465c91070b4b3b4d6854195f", null],
["0x37f998764813b136ddf5a754f34063fd03065e36", null],
["0x37fa399a749c121f8a15ce77e3d9f9bec8020d7a", null],
["0x4f36659fa632310b6ec438dea4085b522a2dd077", null],
["0x62c01474f089b07dae603491675dc5b5748f7049", null],
["0x729af7294be595a0efd7d891c9e51f89c07950c7", null],
["0x83e3e5a16d3b696a0314b30b2534804dd5e11197", null],
["0x8703df2417e0d7c59d063caa9583cb10a4d20532", null],
["0x8dffcd74e5b5923512916c6a64b502689cfa65e1", null],
["0x95a4d7cccb5204733874fa87285a176fe1e9e240", null],
["0x99b2fcba8120bedd048fe79f5262a6690ed38c39", null],
["0xa4202b8b8afd5354e3e40a219bdc17f6001bf2cf", null],
["0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", null],
["0xa9647f4a0a14042d91dc33c0328030a7157c93ae", null],
["0xaa6cffe5185732689c18f37a7f86170cb7304c2a", null],
["0xaae4a2e3c51c04606dcb3723456e58f3ed214f45", null],
["0xc37a43e940dfb5baf581a0b82b351d48305fc885", null],
["0xd2571607e241ecf590ed94b12d87c94babe36db6", null],
["0xf735071cbee190d76b704ce68384fc21e389fbe7", null]
],
"root": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
},
"jeff": {
"in": [
["0x0000000000000000000000000000000000000000000000000000000000000045", "0x22b224a1420a802ab51d326e29fa98e34c4f24ea"],
["0x0000000000000000000000000000000000000000000000000000000000000046", "0x67706c2076330000000000000000000000000000000000000000000000000000"],
["0x0000000000000000000000000000000000000000000000000000001234567890", "0x697c7b8c961b56f675d570498424ac8de1a918f6"],
["0x000000000000000000000000697c7b8c961b56f675d570498424ac8de1a918f6", "0x1234567890"],
["0x0000000000000000000000007ef9e639e2733cb34e4dfc576d4b23f72db776b2", "0x4655474156000000000000000000000000000000000000000000000000000000"],
["0x000000000000000000000000ec4f34c97e43fbb2816cfd95e388353c7181dab1", "0x4e616d6552656700000000000000000000000000000000000000000000000000"],
["0x4655474156000000000000000000000000000000000000000000000000000000", "0x7ef9e639e2733cb34e4dfc576d4b23f72db776b2"],
["0x4e616d6552656700000000000000000000000000000000000000000000000000", "0xec4f34c97e43fbb2816cfd95e388353c7181dab1"],
["0x0000000000000000000000000000000000000000000000000000001234567890", null],
["0x000000000000000000000000697c7b8c961b56f675d570498424ac8de1a918f6", "0x6f6f6f6820736f2067726561742c207265616c6c6c793f000000000000000000"],
["0x6f6f6f6820736f2067726561742c207265616c6c6c793f000000000000000000", "0x697c7b8c961b56f675d570498424ac8de1a918f6"]
],
"root": "0x9f6221ebb8efe7cff60a716ecb886e67dd042014be444669f0159d8e68b42100"
},
"insert-middle-leaf": {
"in": [
[ "key1aa", "0123456789012345678901234567890123456789xxx"],
[ "key1", "0123456789012345678901234567890123456789Very_Long"],
[ "key2bb", "aval3"],
[ "key2", "short"],
[ "key3cc", "aval3"],
[ "key3","1234567890123456789012345678901"]
],
"root": "0xcb65032e2f76c48b82b5c24b3db8f670ce73982869d38cd39a624f23d62a9e89"
},
"branch-value-update": {
"in": [
[ "abc", "123" ],
[ "abcd", "abcd" ],
[ "abc", "abc" ]
],
"root": "0x7a320748f780ad9ad5b0837302075ce0eeba6c26e3d8562c67ccc0f1b273298a"
}
}
}
91 changes: 91 additions & 0 deletions test/fixture/trietest_secureTrie.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
{
"source": "https://github.com/ethereum/tests/blob/develop/TrieTests/trietest_secureTrie.json",
"commit": "7d66cbfff1e6561d1046e45df8b7918d186b136f",
"date": "2019-01-10",
"tests": {
"emptyValues": {
"in": [
["do", "verb"],
["ether", "wookiedoo"],
["horse", "stallion"],
["shaman", "horse"],
["doge", "coin"],
["ether", null],
["dog", "puppy"],
["shaman", null]
],
"root": "0x29b235a58c3c25ab83010c327d5932bcf05324b7d6b1185e650798034783ca9d"
},
"branchingTests": {
"in":[
["0x04110d816c380812a427968ece99b1c963dfbce6", "something"],
["0x095e7baea6a6c7c4c2dfeb977efac326af552d87", "something"],
["0x0a517d755cebbf66312b30fff713666a9cb917e0", "something"],
["0x24dd378f51adc67a50e339e8031fe9bd4aafab36", "something"],
["0x293f982d000532a7861ab122bdc4bbfd26bf9030", "something"],
["0x2cf5732f017b0cf1b1f13a1478e10239716bf6b5", "something"],
["0x31c640b92c21a1f1465c91070b4b3b4d6854195f", "something"],
["0x37f998764813b136ddf5a754f34063fd03065e36", "something"],
["0x37fa399a749c121f8a15ce77e3d9f9bec8020d7a", "something"],
["0x4f36659fa632310b6ec438dea4085b522a2dd077", "something"],
["0x62c01474f089b07dae603491675dc5b5748f7049", "something"],
["0x729af7294be595a0efd7d891c9e51f89c07950c7", "something"],
["0x83e3e5a16d3b696a0314b30b2534804dd5e11197", "something"],
["0x8703df2417e0d7c59d063caa9583cb10a4d20532", "something"],
["0x8dffcd74e5b5923512916c6a64b502689cfa65e1", "something"],
["0x95a4d7cccb5204733874fa87285a176fe1e9e240", "something"],
["0x99b2fcba8120bedd048fe79f5262a6690ed38c39", "something"],
["0xa4202b8b8afd5354e3e40a219bdc17f6001bf2cf", "something"],
["0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", "something"],
["0xa9647f4a0a14042d91dc33c0328030a7157c93ae", "something"],
["0xaa6cffe5185732689c18f37a7f86170cb7304c2a", "something"],
["0xaae4a2e3c51c04606dcb3723456e58f3ed214f45", "something"],
["0xc37a43e940dfb5baf581a0b82b351d48305fc885", "something"],
["0xd2571607e241ecf590ed94b12d87c94babe36db6", "something"],
["0xf735071cbee190d76b704ce68384fc21e389fbe7", "something"],
["0x04110d816c380812a427968ece99b1c963dfbce6", null],
["0x095e7baea6a6c7c4c2dfeb977efac326af552d87", null],
["0x0a517d755cebbf66312b30fff713666a9cb917e0", null],
["0x24dd378f51adc67a50e339e8031fe9bd4aafab36", null],
["0x293f982d000532a7861ab122bdc4bbfd26bf9030", null],
["0x2cf5732f017b0cf1b1f13a1478e10239716bf6b5", null],
["0x31c640b92c21a1f1465c91070b4b3b4d6854195f", null],
["0x37f998764813b136ddf5a754f34063fd03065e36", null],
["0x37fa399a749c121f8a15ce77e3d9f9bec8020d7a", null],
["0x4f36659fa632310b6ec438dea4085b522a2dd077", null],
["0x62c01474f089b07dae603491675dc5b5748f7049", null],
["0x729af7294be595a0efd7d891c9e51f89c07950c7", null],
["0x83e3e5a16d3b696a0314b30b2534804dd5e11197", null],
["0x8703df2417e0d7c59d063caa9583cb10a4d20532", null],
["0x8dffcd74e5b5923512916c6a64b502689cfa65e1", null],
["0x95a4d7cccb5204733874fa87285a176fe1e9e240", null],
["0x99b2fcba8120bedd048fe79f5262a6690ed38c39", null],
["0xa4202b8b8afd5354e3e40a219bdc17f6001bf2cf", null],
["0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", null],
["0xa9647f4a0a14042d91dc33c0328030a7157c93ae", null],
["0xaa6cffe5185732689c18f37a7f86170cb7304c2a", null],
["0xaae4a2e3c51c04606dcb3723456e58f3ed214f45", null],
["0xc37a43e940dfb5baf581a0b82b351d48305fc885", null],
["0xd2571607e241ecf590ed94b12d87c94babe36db6", null],
["0xf735071cbee190d76b704ce68384fc21e389fbe7", null]
],
"root": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
},
"jeff": {
"in": [
["0x0000000000000000000000000000000000000000000000000000000000000045", "0x22b224a1420a802ab51d326e29fa98e34c4f24ea"],
["0x0000000000000000000000000000000000000000000000000000000000000046", "0x67706c2076330000000000000000000000000000000000000000000000000000"],
["0x0000000000000000000000000000000000000000000000000000001234567890", "0x697c7b8c961b56f675d570498424ac8de1a918f6"],
["0x000000000000000000000000697c7b8c961b56f675d570498424ac8de1a918f6", "0x1234567890"],
["0x0000000000000000000000007ef9e639e2733cb34e4dfc576d4b23f72db776b2", "0x4655474156000000000000000000000000000000000000000000000000000000"],
["0x000000000000000000000000ec4f34c97e43fbb2816cfd95e388353c7181dab1", "0x4e616d6552656700000000000000000000000000000000000000000000000000"],
["0x4655474156000000000000000000000000000000000000000000000000000000", "0x7ef9e639e2733cb34e4dfc576d4b23f72db776b2"],
["0x4e616d6552656700000000000000000000000000000000000000000000000000", "0xec4f34c97e43fbb2816cfd95e388353c7181dab1"],
["0x0000000000000000000000000000000000000000000000000000001234567890", null],
["0x000000000000000000000000697c7b8c961b56f675d570498424ac8de1a918f6", "0x6f6f6f6820736f2067726561742c207265616c6c6c793f000000000000000000"],
["0x6f6f6f6820736f2067726561742c207265616c6c6c793f000000000000000000", "0x697c7b8c961b56f675d570498424ac8de1a918f6"]
],
"root": "0x72adb52e9d9428f808e3e8045be18d3baa77881d0cfab89a17a2bcbacee2f320"
}
}
}
Loading

0 comments on commit 37272b7

Please sign in to comment.