Skip to content

Commit d02308f

Browse files
authored
Merge pull request #14 from arkpar/arkpar/trie
2 parents 5af0d27 + ba6ee04 commit d02308f

File tree

2 files changed

+14
-14
lines changed

2 files changed

+14
-14
lines changed

trie/merkle.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,19 @@ def hash(data):
1515
def branch(l, r):
1616
assert len(l) == 32
1717
assert len(r) == 32
18-
head = l[0] & 0xfe
18+
head = l[0] & 0x7f
1919
return bytes([head]) + l[1:] + r
2020

2121
# GP (287)
2222
def leaf(k, v):
2323
if len(v) <= 32:
24-
head = 0b01 | (len(v) << 2)
24+
head = 0b10000000 | len(v)
2525
return bytes([head]) + k[:-1] + v + ((32 - len(v)) * b'\0')
26-
head = 0b11
26+
head = 0b11000000
2727
return bytes([head]) + k[:-1] + hash(v)
2828

2929
def bit(k, i):
30-
return (k[i >> 3] & (1 << (i & 7))) != 0
30+
return (k[i >> 3] & (1 << (7 - i & 7))) != 0
3131

3232
# GP (289)
3333
def merkle(kvs, i=0):

trie/trie.json

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,52 +7,52 @@
77
"input": {
88
"16c72e0c2e0b78157e3a116d86d90461a199e439325317aea160b30347adb8ec": ""
99
},
10-
"output": "17d7a1c738dfa055bc810110004585ca79be323586764e14179ee20e54376592"
10+
"output": "99ecb1509d2cbc16bab389714e5933932977e742472fcd9277d67f45699e076a"
1111
},
1212
{
1313
"input": {
1414
"645eece27fdce6fd3852790131a50dc5b2dd655a855421b88700e6eb43279ad9": "72"
1515
},
16-
"output": "75978696ab7bd70492c2abbecf26fd03eb2c41e0d83daf968f45c20f566b9a9b"
16+
"output": "e9a89ab2f10d45a46d47127110e8353d6443b635b08e989a743c27bb82740d7d"
1717
},
1818
{
1919
"input": {
2020
"3dbc5f775f6156957139100c343bb5ae6589af7398db694ab6c60630a9ed0fcd": "4227b4a465084852cd87d8f23bec0db6fa7766b9685ab5e095ef9cda9e15e49d"
2121
},
22-
"output": "9ea1799e255f9b5edb960cf6640aa42ec2fac24a199be8155853ddcce9b896c4"
22+
"output": "5fd68f074c914741601931d64c6c772c18ab8a4cd0cd3a4fff0611a5d97ecc94"
2323
},
2424
{
2525
"input": {
2626
"d44438ec54b3f4d9771a43ed435f21b53a4f1f42be4c34b5d998bb9d53adc517": "2bdea5ab5a70d42dbd29c5944a90aa6f1774815854a21d9af07a9ca98d936150c0"
2727
},
28-
"output": "de6ffcbc0c3c6e3e5b6ef8f7ba875b77707f502228db0b6b9173b3f659b8edb6"
28+
"output": "fb982161f7deefc8b66af5814a01396fba3cb78b6c826feedef9433fdd234666"
2929
},
3030
{
3131
"input": {
3232
"d484d55a6f532466b844c01500e503cafad33b4f4f1493a2da0b3b1377bd383b": "fd3b2d4981a80d6a3a2b500dd3516b9f6891b0a2b93af8dc1285af7c3ebbdbf18a8d2615c5a26fd00c46d64112603bbfb765cfa460c1dac87de5790b"
3333
},
34-
"output": "720f6a3acf7c3de97febd9508c7a9e4d0a12fb65283588f596aeb4e2423d3bda"
34+
"output": "ef11722d05e21b20e7a37e355c685df020a4dcf22fb888f10b0138c7cd162461"
3535
},
3636
{
3737
"input": {
3838
"f2a9fcaf8ae0ff770b0908ebdee1daf8457c0ef5e1106c89ad364236333c5fb3": "22c62f84ee5775d1e75ba6519f6dfae571eb1888768f2a203281579656b6a29097f7c7e2cf44e38da9a541d9b4c773db8b71e1d3",
3939
"f3a9fcaf8ae0ff770b0908ebdee1daf8457c0ef5e1106c89ad364236333c5fb3": "44d0b26211d9d4a44e375207"
4040
},
41-
"output": "b9c99f66e5784879a178795b63ae178f8a49ee113652a122cd4b3b2a321418c1"
41+
"output": "fb4bc560e0c314b09a29fc3f83a7f063ec118ff3fc1fba4430fcc0fbea09a207"
4242
},
4343
{
4444
"input": {
4545
"27a30d678b05b75bd7c5ce723d7dbe919c9ee57d03f687c6097228ae37d7db81": "ec568a22939875f3aba1c9d5751a8bf1114716dc12ca18389e30cca648d490c9f23817bb54135c12",
4646
"27a20d678b05b75bd7c5ce723d7dbe919c9ee57d03f687c6097228ae37d7db81": "e8a9e5097a500730bc63cb"
4747
},
48-
"output": "846fd6a4c1913db012ee6bf3184b85db4b9d9c3f429305c9c60ae610f6bd2d0b"
48+
"output": "8b2d0ec28b64cad96370853a51ba61ba6af904bf7964ea60ca5f939e3ff9b24d"
4949
},
5050
{
5151
"input": {
5252
"8e758c6d2b87bd72bb121e82801a212717d730343ed555bd8757f3f976eb5476": "74e30dd46bb8dcae80e82f7585a5d652e00cbf1b43a8873f6977b7891cbca312aaac17b7c6ab",
5353
"80542dacde2838f3383f47eca425ca657d4bb7814368be746cf57ea6df2f7da1": "384905461e004f92366ceb267347688aa01e9f8cd362"
5454
},
55-
"output": "e79ee404bb7caf984f99f7a5d997200a306b0302fa08262b380662562d693313"
55+
"output": "5a2b3aad444bc24514076cb876b20eeed158b81dc07f52369433862e3cdadf33"
5656
},
5757
{
5858
"input": {
@@ -62,7 +62,7 @@
6262
"15207c233b055f921701fc62b41a440d01dfa488016a97cc653a84afb5f94fd5": "157b6c821169dacabcf26690df",
6363
"b05ff8a05bb23c0d7b177d47ce466ee58fd55c6a0351a3040cf3cbf5225aab19": "6a208734106f38b73880684b"
6464
},
65-
"output": "55634c70b9dca56f2f40b343f750a5c9744798370cbf3f669e29ebe0b8d64ceb"
65+
"output": "f6ac87ea6258a68bd3288cf73ac9d03419b548858c5466b1927b796f29db13fc"
6666
},
6767
{
6868
"input": {
@@ -77,6 +77,6 @@
7777
"9e78a15cc0b45c83c83218efadd234cbac22dbffb24a76e2eb5f6a81d32df616": "e8256c6b5a9623cf2b293090f78f8fbceea6fc3991ac5f872400608f14d2a8b3d494fcda1c51d93b9904e3242cdeaa4b227c68cea89cca05ab6b5296edf105",
7878
"03345958f90731bce89d07c2722dc693425a541b5230f99a6867882993576a23": "cd759a8d88edb46dda489a45ba6e48a42ce7efd36f1ca31d3bdfa40d2091f27740c5ec5de746d90d9841b986f575d545d0fb642398914eaab5"
7979
},
80-
"output": "0120dd8239fdc65ef0485215493b6de1b4b31b96d9bae99617afb6178e4d43e3"
80+
"output": "7d874bf70ea045e278f5cd2eafb28b74cdaee9c225ca884dee82532caa7bad0f"
8181
}
8282
]

0 commit comments

Comments
 (0)