#!/usr/bin/python3
import sys
sys.path.append('..')
from urbit.util import strings, from_le
from urbit.cue import cue
import binascii
import sys

if sys.version_info[0:2] < (3, 0):
    print("Requires python3", file=sys.stderr)
    exit(1)

packets_hex = [
    b'015facce8d9c058f07fe0c1de0910b234b7b1b38cc871bdc1ce0a99b2b939b17700102180e684598dee8eae6c4022e40809e2d10f7000f3ea137b634bb30397e011720e0db00cf2d21b9b4303790a9b73ab6b26e01fc69d272fb40582aef165dca0be778d9ff16700102360ef0db422a7393cb0309aa63a3eb1640002000d760ee0bdb19a0ab73142627574607b254c6c696a7178000abab8a60d505ddec397738522c00ce480b60bfdc07a40d43534fabf3a2849e009f722de001046801bc6c1d85b195b9815cbdb19995b54085d5b1e5750bb800018506f0b875c5164696d6962607a2046217e60642562607c21416e6d62d0001f0e4e9a5a993f8ec75a2a95b4d7c63b1003cf69b4b8373cb236ba14b7393cb736ba17b73732b136b414b239bcba36b69994ba3232b3b6b810b9b23ab9b6b114b2383cbc36b414b7373cbc317700102043ddcae0b880001e600ef2d28b434b63438902190a637b7b56e01172020a543715dc004081008e0612b284ceecd0d44a86c6cad4cae2dccad5bc00408c0096844c6dadac4022e4040a0017c6f1185b9a595b181a0bcd1a195c98dc9a5d195c9a585a5802cb195a5b9750bb80001b806f86e1d85c9c995d1812c95b1b1e5750b4000fc895733d0b78be0420d47fef5b2f6b3055c80808c037cb7944090cadce4f24082ead8e8ba050c808000efada13a39bab43990ac3039bb34b76e01ec5d150a2e552063df415c6cd2a82b2aa1052040be712d300b5a78071820ce58814836dc0266090069402f9257269657e62616700102cc385c7a0be04e3e994bd82588ae13f2b7209293106b001efbb185c1cd9589b5cca5b1a195d1b5d085b99995cdb5b8a589d195cdb5b490a5b9b9958db5b0a5d1b5959db59085b1c195e1b5b8a5cdcdd5b90b9800010001bc6d4dd195d995b981a0b4c991bdb5a5b9bda580109595750b4000655146405a867ed28423e24d108b13b3055480804987c4fb0210d00ffb5dc072f724ef1911ae53457d5eaf'
]
# see ++meal in zuze.hoon
d = []
for packet in packets_hex:
    packet = binascii.a2b_hex(packet)
    num = from_le(packet)
    cake = cue(num)
    print(cake)
    #print(urbit_util.format_hexnum(num))
    print(strings(cake))

#d = ((d[1] & ((1<<8192)-1)) << 8191) | d[0]
#d = (d[1]<<8192) | d[0]

#print(cue(d))
Esempio n. 2
0
#!/usr/bin/python3
import sys
sys.path.append('..')
from urbit.util import strings, from_le
from urbit.cue import cue
import binascii
import sys

if sys.version_info[0:2] < (3,0):
    print("Requires python3", file=sys.stderr)
    exit(1)

packets_hex = [
    b'015facce8d9c058f07fe0c1de0910b234b7b1b38cc871bdc1ce0a99b2b939b17700102180e684598dee8eae6c4022e40809e2d10f7000f3ea137b634bb30397e011720e0db00cf2d21b9b4303790a9b73ab6b26e01fc69d272fb40582aef165dca0be778d9ff16700102360ef0db422a7393cb0309aa63a3eb1640002000d760ee0bdb19a0ab73142627574607b254c6c696a7178000abab8a60d505ddec397738522c00ce480b60bfdc07a40d43534fabf3a2849e009f722de001046801bc6c1d85b195b9815cbdb19995b54085d5b1e5750bb800018506f0b875c5164696d6962607a2046217e60642562607c21416e6d62d0001f0e4e9a5a993f8ec75a2a95b4d7c63b1003cf69b4b8373cb236ba14b7393cb736ba17b73732b136b414b239bcba36b69994ba3232b3b6b810b9b23ab9b6b114b2383cbc36b414b7373cbc317700102043ddcae0b880001e600ef2d28b434b63438902190a637b7b56e01172020a543715dc004081008e0612b284ceecd0d44a86c6cad4cae2dccad5bc00408c0096844c6dadac4022e4040a0017c6f1185b9a595b181a0bcd1a195c98dc9a5d195c9a585a5802cb195a5b9750bb80001b806f86e1d85c9c995d1812c95b1b1e5750b4000fc895733d0b78be0420d47fef5b2f6b3055c80808c037cb7944090cadce4f24082ead8e8ba050c808000efada13a39bab43990ac3039bb34b76e01ec5d150a2e552063df415c6cd2a82b2aa1052040be712d300b5a78071820ce58814836dc0266090069402f9257269657e62616700102cc385c7a0be04e3e994bd82588ae13f2b7209293106b001efbb185c1cd9589b5cca5b1a195d1b5d085b99995cdb5b8a589d195cdb5b490a5b9b9958db5b0a5d1b5959db59085b1c195e1b5b8a5cdcdd5b90b9800010001bc6d4dd195d995b981a0b4c991bdb5a5b9bda580109595750b4000655146405a867ed28423e24d108b13b3055480804987c4fb0210d00ffb5dc072f724ef1911ae53457d5eaf'
]
# see ++meal in zuze.hoon
d = []
for packet in packets_hex:
    packet = binascii.a2b_hex(packet)
    num = from_le(packet)
    cake = cue(num)
    print(cake)
    #print(urbit_util.format_hexnum(num))
    print(strings(cake))

#d = ((d[1] & ((1<<8192)-1)) << 8191) | d[0]
#d = (d[1]<<8192) | d[0]

#print(cue(d))
Esempio n. 3
0
    b'01dfec4dae1cf00002b409000c792ab96f018080420380002d80803f1626078fe3900108a8bfa58fedcf9577f6c7e36666958f9306004ab77062b2072c8950258e3d03da9730f30d9bbb9fa9926c3473beec14d8533683b8afc55a94921a30d2e54a6b8a7ef5227e62e3856131d7c3a39a2e4d75777875c736a8998c45fc61be01258787ad450b1d3288b5c588efa6b81e44efaccf52723b08c357a0d758055489e5f0c66bfa5871bb4e358a9243d59926a3fc8eba73011a007ce44299aa89d57b3e5099bed39fc1072c1700f45ff229981941d9b7f3cbc3597d97632dd4f6d1bca35e24918de57036be0fd1a906f1064edfc6b8e66b42f2491842fe819bbf86cbb23f52c6699e078057b72aafbf5c88e3d16236d12d91079d05400521c9e9ab27a93099d0086ebc4214cb41c19ccd878505a967b543bbdf1fdff6eec5d484d74aff5da8aa74449af5cb4f16e2181c6940047bf08a256b118a1c8af723406e75c78a4aeab55b2335ddb01f2201ab3124ac598a9fc8b73e3500d78d5e0b1941cf2066a90c6e049a2d5c9d8395a415d0877f7f98be37852398ae2abe8afd99774d83974cd7ab199ded53de2e04d870d645606401c10a7f86310e605dd32f0ac84861e0a13760b0d212baf6fc06f5aecc041000000000000080104d07f230d20000005843ca63c01fd30b930b001e20ec2ee5798a18eb68525dd3ef1f292d7e810675c09a4d4c66b4aa42d339ffe3b7f004fc1ece6e6f67b20ccc2fa3e25f36b9ee4ddafa054f61914a6cf9b2c97a36a1fd91a2c23e2f66bd69c833a9be9a33c8663177e4304735da4bbea6589ef02d93d3a3cbb4ce94048b2d26f3aefbfbea0b8d3204aed4c127c1f04af1134ce862749eee6c97a735ae1aed8749e3b32470a507981ca78231ee4146206738ed6940ea7169dc7caaa3dad018e88607f9292413688fe3c98e45e1b954dbef115fcf4b8369c93f68c6d1dacd2bc4bf1efd14de00b648a95e67b31386c6e68d1c282b78dcbb778b22186151ad3d088c084ea435a0e69512d40ec295754b9af479d9e6eaca02c0ff51d42a2c07e4330a372d7134a5990a13ab9076d61fa4c183f1e1cb68af228ce5401feb928a2a1a086124a5a48d9d392c2f698d7b3e6c3dba7621995e316229d8894ce2eab6b3a8bf3149ee24ad1f678b48e8826ee4a85f1e9cb196cc7bb07abd4f192dbd89bfc5b9db67fbce289f6d87f1bfbe839a2ac53d630207eec888a0ff20fc4042fb27db323f7e6cbed5981f170044f18088ad47f4fd34fea5d0e6d06db1be12ec61b677c46c1e3889aca6fd1a41fc5d4a9d4ad1073c29b8790261f65d2cb7920a80796889f8beb4d7040013786dfdec0017c2d71ff14b0e29b30012ce93e44ddbdc39d35c60cb5e40ae6dd67eb9b9746e7a2e9d0fdc54daf556e78a98'
]
# see ++meal in zuze.hoon
d = []
for packet in packets_hex:
    packet = binascii.a2b_hex(packet)
    num = urbit_util.from_le(packet)
    cake = cue(num)
    assert (urbit_util.num_to_term(cake[0]) == '%fore')
    inner = cake[1][1][1]
    print(urbit_util.format_hexnum(inner & ((1 << 96) - 1)))
    inner >>= 96  # drop routing info
    inner_cake = cue(inner)
    assert (urbit_util.num_to_term(inner_cake[0]) == '%carp')
    #print(inner_cake)
    inner2_skin = inner_cake[1][0]
    inner2_idx = inner_cake[1][1][0]
    inner2_cnt = inner_cake[1][1][1][0]
    inner2_hdr = inner_cake[1][1][1][1][0]
    inner2 = inner_cake[1][1][1][1][1]
    d.append(inner2)
    #print(binascii.b2a_hex(to_le(inner2_hdr)))
    #print(binascii.b2a_hex(to_le(inner2)))
    print(inner2_skin)

d = (d[1] << 8192) | d[0]

hypercake = cue(d)
print(hypercake)
print(strings(hypercake))
Esempio n. 4
0
]
# see ++meal in zuze.hoon
d = []
for packet in packets_hex:
    packet = binascii.a2b_hex(packet)
    num = urbit_util.from_le(packet)
    cake = cue(num)
    assert(urbit_util.num_to_term(cake[0]) == '%fore')
    inner = cake[1][1][1]
    print(urbit_util.format_hexnum(inner & ((1<<96)-1)))
    inner >>= 96 # drop routing info
    inner_cake = cue(inner)
    assert(urbit_util.num_to_term(inner_cake[0]) == '%carp')
    #print(inner_cake)
    inner2_skin = inner_cake[1][0]
    inner2_idx = inner_cake[1][1][0]
    inner2_cnt = inner_cake[1][1][1][0]
    inner2_hdr = inner_cake[1][1][1][1][0]
    inner2 = inner_cake[1][1][1][1][1]
    d.append(inner2)
    #print(binascii.b2a_hex(to_le(inner2_hdr)))
    #print(binascii.b2a_hex(to_le(inner2)))
    print(inner2_skin)

d = (d[1]<<8192) | d[0]

hypercake = cue(d)
print(hypercake)
print(strings(hypercake))