New commit

This commit is contained in:
Vitalik Buterin 2014-05-08 21:54:48 -04:00
commit cbccbf977c
7 changed files with 1052 additions and 26 deletions

View File

@ -1,2 +1,26 @@
tests tests
===== =====
Common tests for all clients to test against.
All files should be of the form:
```
{
"test1name":
{
"test1property1": ...,
"test1property2": ...,
...
},
"test2name":
{
"test2property1": ...,
"test2property2": ...,
...
}
}
```
Arrays are allowed, but don't use them for sets of properties - only use them for data that is clearly a continuous contiguous sequence of values.

21
TODO Normal file
View File

@ -0,0 +1,21 @@
- Move over to standard & clear JSON format:
All files should be of the form:
{
"test1name":
{
"test1property1": ...,
"test1property2": ...,
...
},
"test2name":
{
"test2property1": ...,
"test2property2": ...,
...
}
}
Arrays are allowed, but don't use them for sets of properties - only use them for data that is clearly a continuous contiguous sequence of values.

62
hexencodetest.json Normal file
View File

@ -0,0 +1,62 @@
{
"zz,odd,open": {
"seq": [ 0, 0, 1, 2, 3, 4, 5 ],
"term": false,
"out": "10012345"
},
"z,even,open": {
"seq": [ 0, 1, 2, 3, 4, 5 ],
"term": false,
"out": "00012345"
},
"nz,odd,open": {
"seq": [ 1, 2, 3, 4, 5 ],
"term": false,
"out": "112345"
},
"zz,even,open": {
"seq": [ 0, 0, 1, 2, 3, 4 ],
"term": false,
"out": "00001234"
},
"z,odd,open": {
"seq": [ 0, 1, 2, 3, 4 ],
"term": false,
"out": "101234"
},
"nz,even,open": {
"seq": [ 1, 2, 3, 4 ],
"term": false,
"out": "001234"
},
"zz,odd,term": {
"seq": [ 0, 0, 1, 2, 3, 4, 5 ],
"term": true,
"out": "30012345"
},
"z,even,term": {
"seq": [ 0, 1, 2, 3, 4, 5 ],
"term": true,
"out": "20012345"
},
"nz,odd,term": {
"seq": [ 1, 2, 3, 4, 5 ],
"term": true,
"out": "312345"
},
"zz,even,term": {
"seq": [ 0, 0, 1, 2, 3, 4 ],
"term": true,
"out": "20001234"
},
"z,odd,term": {
"seq": [ 0, 1, 2, 3, 4 ],
"term": true,
"out": "301234"
},
"nz,even,term": {
"seq": [ 1, 2, 3, 4 ],
"term": true,
"out": "201234"
}
}

146
rlptest.json Normal file
View File

@ -0,0 +1,146 @@
{
"emptystring": {
"in": "",
"out": "80"
},
"shortstring": {
"in": "dog",
"out": "83646f67"
},
"shortstring2": {
"in": "Lorem ipsum dolor sit amet, consectetur adipisicing eli",
"out": "b74c6f72656d20697073756d20646f6c6f722073697420616d65742c20636f6e7365637465747572206164697069736963696e6720656c69"
},
"longstring": {
"in": "Lorem ipsum dolor sit amet, consectetur adipisicing elit",
"out": "b8384c6f72656d20697073756d20646f6c6f722073697420616d65742c20636f6e7365637465747572206164697069736963696e6720656c6974"
},
"longstring2": {
"in": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur mauris magna, suscipit sed vehicula non, iaculis faucibus tortor. Proin suscipit ultricies malesuada. Duis tortor elit, dictum quis tristique eu, ultrices at risus. Morbi a est imperdiet mi ullamcorper aliquet suscipit nec lorem. Aenean quis leo mollis, vulputate elit varius, consequat enim. Nulla ultrices turpis justo, et posuere urna consectetur nec. Proin non convallis metus. Donec tempor ipsum in mauris congue sollicitudin. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse convallis sem vel massa faucibus, eget lacinia lacus tempor. Nulla quis ultricies purus. Proin auctor rhoncus nibh condimentum mollis. Aliquam consequat enim at metus luctus, a eleifend purus egestas. Curabitur at nibh metus. Nam bibendum, neque at auctor tristique, lorem libero aliquet arcu, non interdum tellus lectus sit amet eros. Cras rhoncus, metus ac ornare cursus, dolor justo ultrices metus, at ullamcorper volutpat",
"out": "b904004c6f72656d20697073756d20646f6c6f722073697420616d65742c20636f6e73656374657475722061646970697363696e6720656c69742e20437572616269747572206d6175726973206d61676e612c20737573636970697420736564207665686963756c61206e6f6e2c20696163756c697320666175636962757320746f72746f722e2050726f696e20737573636970697420756c74726963696573206d616c6573756164612e204475697320746f72746f7220656c69742c2064696374756d2071756973207472697374697175652065752c20756c7472696365732061742072697375732e204d6f72626920612065737420696d70657264696574206d6920756c6c616d636f7270657220616c6971756574207375736369706974206e6563206c6f72656d2e2041656e65616e2071756973206c656f206d6f6c6c69732c2076756c70757461746520656c6974207661726975732c20636f6e73657175617420656e696d2e204e756c6c6120756c74726963657320747572706973206a7573746f2c20657420706f73756572652075726e6120636f6e7365637465747572206e65632e2050726f696e206e6f6e20636f6e76616c6c6973206d657475732e20446f6e65632074656d706f7220697073756d20696e206d617572697320636f6e67756520736f6c6c696369747564696e2e20566573746962756c756d20616e746520697073756d207072696d697320696e206661756369627573206f726369206c756374757320657420756c74726963657320706f737565726520637562696c69612043757261653b2053757370656e646973736520636f6e76616c6c69732073656d2076656c206d617373612066617563696275732c2065676574206c6163696e6961206c616375732074656d706f722e204e756c6c61207175697320756c747269636965732070757275732e2050726f696e20617563746f722072686f6e637573206e69626820636f6e64696d656e74756d206d6f6c6c69732e20416c697175616d20636f6e73657175617420656e696d206174206d65747573206c75637475732c206120656c656966656e6420707572757320656765737461732e20437572616269747572206174206e696268206d657475732e204e616d20626962656e64756d2c206e6571756520617420617563746f72207472697374697175652c206c6f72656d206c696265726f20616c697175657420617263752c206e6f6e20696e74657264756d2074656c6c7573206c65637475732073697420616d65742065726f732e20437261732072686f6e6375732c206d65747573206163206f726e617265206375727375732c20646f6c6f72206a7573746f20756c747269636573206d657475732c20617420756c6c616d636f7270657220766f6c7574706174"
},
"zero": {
"in": 0,
"out": "80"
},
"smallint": {
"in": 1,
"out": "01"
},
"smallint2": {
"in": 16,
"out": "10"
},
"smallint3": {
"in": 79,
"out": "4f"
},
"smallint4": {
"in": 127,
"out": "7f"
},
"mediumint1": {
"in": 128,
"out": "8180"
},
"mediumint2": {
"in": 1000,
"out": "8203e8"
},
"mediumint3": {
"in": 100000,
"out": "830186a0"
},
"mediumint4": {
"in": "#83729609699884896815286331701780722",
"out": "8F102030405060708090A0B0C0D0E0F2"
},
"mediumint5": {
"in": "#105315505618206987246253880190783558935785933862974822347068935681",
"out": "9C0100020003000400050006000700080009000A000B000C000D000E01"
},
"emptylist": {
"in": [],
"out": "c0"
},
"stringlist": {
"in": [ "dog", "god", "cat" ],
"out": "cc83646f6783676f6483636174"
},
"multilist": {
"in": [ "zw", [ 4 ], 1 ],
"out": "c6827a77c10401"
},
"shortListMax1": {
"in": [ "asdf", "qwer", "zxcv", "asdf","qwer", "zxcv", "asdf", "qwer", "zxcv", "asdf", "qwer"],
"out": "F784617364668471776572847a78637684617364668471776572847a78637684617364668471776572847a78637684617364668471776572"
},
"longList1" : {
"in" : [
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"]
],
"out": "F840CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376"
},
"longList2" : {
"in" : [
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"],
["asdf","qwer","zxcv"]
],
"out": "F90200CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376"
},
"listsoflists": {
"in": [ [ [], [] ], [] ],
"out": "c4c2c0c0c0"
},
"listsoflists2": {
"in": [ [], [[]], [ [], [[]] ] ],
"out": "c7c0c1c0c3c0c1c0"
},
"dictTest1" : {
"in" : [
["key1", "val1"],
["key2", "val2"],
["key3", "val3"],
["key4", "val4"]
],
"out" : "ECCA846b6579318476616c31CA846b6579328476616c32CA846b6579338476616c33CA846b6579348476616c34"
},
"bigint": {
"in": "#115792089237316195423570985008687907853269984665640564039457584007913129639936",
"out": "a1010000000000000000000000000000000000000000000000000000000000000000"
}
}

View File

@ -1,26 +0,0 @@
[
[
"cat",
"83636174"
],
[
"dog",
"83646f67"
],
[
[ "cat", "dog" ],
"c88363617483646f67"
],
[
[ "dog", "god", "cat" ],
"cc83646f6783676f6483636174"
],
[
[ [ [], [] ], [] ],
"c4c2c0c0c0"
],
[
[ "zw", [ "4" ], "wz" ],
"c8827a77c13482777a"
]
]

799
vmtests.json Normal file
View File

@ -0,0 +1,799 @@
{
"arith" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "256",
"currentTimestamp" : 1,
"feeMultiplier" : 1,
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
"previousNonce" : "9c9c6567b5ec0c5f3f25df79be42707090f1e62e9db84cbb556ae2a2f6ccccae"
},
"exec" : [
{
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
"data" : [
],
"sender" : "cd1722f3947def4cf144679da39c4c32bdc35681",
"value" : 1000000000000000000
}
],
"post" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : 999999999999999810,
"extroPrice" : 0,
"nonce" : 1,
"store" : {
"0" : [
48,
0,
48,
2,
48,
2,
1,
48,
4,
48,
4,
2,
48,
4,
2,
1,
48,
2,
48,
2,
4,
1,
48,
3,
48,
2,
6,
1,
48,
8,
48,
2,
3,
48,
2,
3,
1,
17,
61,
0
]
}
}
},
"pre" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : 1000000000000000000,
"extroPrice" : 0,
"nonce" : 0,
"store" : {
"0" : [
48,
0,
48,
2,
48,
2,
1,
48,
4,
48,
4,
2,
48,
4,
2,
1,
48,
2,
48,
2,
4,
1,
48,
3,
48,
2,
6,
1,
48,
8,
48,
2,
3,
48,
2,
3,
1,
17,
61
]
}
}
},
"txs" : [
{
"data" : [
],
"destination" : "cd1722f3947def4cf144679da39c4c32bdc35681",
"value" : 79
}
]
},
"boolean" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "256",
"currentTimestamp" : 1,
"feeMultiplier" : 1,
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
"previousNonce" : "9c9c6567b5ec0c5f3f25df79be42707090f1e62e9db84cbb556ae2a2f6ccccae"
},
"exec" : [
{
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
"data" : [
],
"sender" : "cd1722f3947def4cf144679da39c4c32bdc35681",
"value" : 1000000000000000000
}
],
"post" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : 999999999999999490,
"extroPrice" : 0,
"nonce" : 4,
"store" : {
"0" : [
48,
21,
48,
0,
48,
13,
48,
1,
15,
57,
49,
48,
1,
15,
57,
48,
0,
48,
2,
17,
61,
48,
42,
48,
0,
48,
34,
48,
1,
15,
57,
49,
48,
0,
15,
57,
48,
0,
48,
3,
17,
61,
48,
63,
48,
0,
48,
55,
48,
0,
15,
57,
49,
48,
1,
15,
57,
48,
0,
48,
4,
17,
61,
48,
84,
48,
0,
48,
76,
48,
0,
15,
57,
49,
48,
0,
15,
57,
48,
0,
48,
5,
17,
61,
48,
104,
48,
1,
48,
96,
48,
1,
57,
49,
48,
1,
15,
57,
48,
0,
48,
12,
17,
61,
48,
124,
48,
1,
48,
116,
48,
1,
57,
49,
48,
0,
15,
57,
48,
0,
48,
13,
17,
61,
48,
144,
48,
1,
48,
136,
48,
0,
57,
49,
48,
1,
15,
57,
48,
0,
48,
14,
17,
61,
48,
164,
48,
1,
48,
156,
48,
0,
57,
49,
48,
0,
15,
57,
48,
0,
48,
15,
17,
61,
0
]
}
}
},
"pre" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : 1000000000000000000,
"extroPrice" : 0,
"nonce" : 0,
"store" : {
"0" : [
48,
21,
48,
0,
48,
13,
48,
1,
15,
57,
49,
48,
1,
15,
57,
48,
0,
48,
2,
17,
61,
48,
42,
48,
0,
48,
34,
48,
1,
15,
57,
49,
48,
0,
15,
57,
48,
0,
48,
3,
17,
61,
48,
63,
48,
0,
48,
55,
48,
0,
15,
57,
49,
48,
1,
15,
57,
48,
0,
48,
4,
17,
61,
48,
84,
48,
0,
48,
76,
48,
0,
15,
57,
49,
48,
0,
15,
57,
48,
0,
48,
5,
17,
61,
48,
104,
48,
1,
48,
96,
48,
1,
57,
49,
48,
1,
15,
57,
48,
0,
48,
12,
17,
61,
48,
124,
48,
1,
48,
116,
48,
1,
57,
49,
48,
0,
15,
57,
48,
0,
48,
13,
17,
61,
48,
144,
48,
1,
48,
136,
48,
0,
57,
49,
48,
1,
15,
57,
48,
0,
48,
14,
17,
61,
48,
164,
48,
1,
48,
156,
48,
0,
57,
49,
48,
0,
15,
57,
48,
0,
48,
15,
17,
61
]
}
}
},
"txs" : [
{
"data" : [
],
"destination" : "cd1722f3947def4cf144679da39c4c32bdc35681",
"value" : 2
},
{
"data" : [
],
"destination" : "cd1722f3947def4cf144679da39c4c32bdc35681",
"value" : 12
},
{
"data" : [
],
"destination" : "cd1722f3947def4cf144679da39c4c32bdc35681",
"value" : 13
},
{
"data" : [
],
"destination" : "cd1722f3947def4cf144679da39c4c32bdc35681",
"value" : 14
}
]
},
"fan" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "256",
"currentTimestamp" : 1,
"feeMultiplier" : 1,
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
"previousNonce" : "9c9c6567b5ec0c5f3f25df79be42707090f1e62e9db84cbb556ae2a2f6ccccae"
},
"exec" : [
{
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
"data" : [
"0xcd1722f3947def4cf144679da39c4c32bdc35681",
"0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
],
"sender" : "cd1722f3947def4cf144679da39c4c32bdc35681",
"value" : 1000000000000000000
}
],
"post" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : "115792089237316195423570985008687907853269984665640564039456684007913129639415",
"extroPrice" : 0,
"nonce" : 2,
"store" : {
"0" : [
48,
8,
48,
100000000000000000,
18,
12,
57,
0,
19,
48,
100000000000000000,
18,
3,
4,
48,
"53545048851664692004060005546177757518248266694338929000325674008596820525056",
55,
48,
0,
48,
"47492849101242970779199036819969649705442767148016637594308774690745619578880",
55,
48,
53,
19,
48,
"47492849101242970779199036819969649705442767148016637594308774690745619578880",
54,
10,
15,
57,
48,
0,
48,
"53545048851664692004060005546177757518248266694338929000325674008596820525056",
54,
48,
"47492849101242970779199036819969649705442767148016637594308774690745619578880",
54,
20,
61,
48,
1,
48,
"47492849101242970779199036819969649705442767148016637594308774690745619578880",
54,
1,
48,
"47492849101242970779199036819969649705442767148016637594308774690745619578880",
55,
48,
22,
56,
0
],
"47492849101242970779199036819969649705442767148016637594308774690745619578880" : [
2
],
"53545048851664692004060005546177757518248266694338929000325674008596820525056" : [
450000000000000000
]
}
}
},
"pre" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : 0,
"extroPrice" : 0,
"nonce" : 0,
"store" : {
"0" : [
48,
8,
48,
100000000000000000,
18,
12,
57,
0,
19,
48,
100000000000000000,
18,
3,
4,
48,
"53545048851664692004060005546177757518248266694338929000325674008596820525056",
55,
48,
0,
48,
"47492849101242970779199036819969649705442767148016637594308774690745619578880",
55,
48,
53,
19,
48,
"47492849101242970779199036819969649705442767148016637594308774690745619578880",
54,
10,
15,
57,
48,
0,
48,
"53545048851664692004060005546177757518248266694338929000325674008596820525056",
54,
48,
"47492849101242970779199036819969649705442767148016637594308774690745619578880",
54,
20,
61,
48,
1,
48,
"47492849101242970779199036819969649705442767148016637594308774690745619578880",
54,
1,
48,
"47492849101242970779199036819969649705442767148016637594308774690745619578880",
55,
48,
22,
56
]
}
}
},
"txs" : [
{
"data" : [
],
"destination" : "cd1722f3947def4cf144679da39c4c32bdc35681",
"value" : 450000000000000000
},
{
"data" : [
],
"destination" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"value" : 450000000000000000
}
]
},
"mktx" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "256",
"currentTimestamp" : 1,
"feeMultiplier" : 1,
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
"previousNonce" : "9c9c6567b5ec0c5f3f25df79be42707090f1e62e9db84cbb556ae2a2f6ccccae"
},
"exec" : [
{
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
"data" : [
],
"sender" : "cd1722f3947def4cf144679da39c4c32bdc35681",
"value" : 1000000000000000000
}
],
"post" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : 499999999999999900,
"extroPrice" : 0,
"nonce" : 1,
"store" : {
"0" : [
48,
0,
48,
500000000000000000,
17,
61,
0
]
}
}
},
"pre" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : 1000000000000000000,
"extroPrice" : 0,
"nonce" : 0,
"store" : {
"0" : [
48,
0,
48,
500000000000000000,
17,
61
]
}
}
},
"txs" : [
{
"data" : [
],
"destination" : "cd1722f3947def4cf144679da39c4c32bdc35681",
"value" : 500000000000000000
}
]
},
"suicide" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "256",
"currentTimestamp" : 1,
"feeMultiplier" : 1,
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
"previousNonce" : "9c9c6567b5ec0c5f3f25df79be42707090f1e62e9db84cbb556ae2a2f6ccccae"
},
"exec" : [
{
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
"data" : [
],
"sender" : "cd1722f3947def4cf144679da39c4c32bdc35681",
"value" : 1000000000000000000
}
],
"post" : {
"cd1722f3947def4cf144679da39c4c32bdc35681" : {
"balance" : 1000000000000000010,
"extroPrice" : 0,
"nonce" : 0
}
},
"pre" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : 1000000000000000000,
"extroPrice" : 0,
"nonce" : 0,
"store" : {
"0" : [
17,
63
]
}
}
},
"txs" : [
]
}
}