Skip to content

Instantly share code, notes, and snippets.

@JokerCatz
Last active September 8, 2021 15:10
Show Gist options
  • Save JokerCatz/62731a5b24b1f0d95e3ea958fc7cf030 to your computer and use it in GitHub Desktop.
Save JokerCatz/62731a5b24b1f0d95e3ea958fc7cf030 to your computer and use it in GitHub Desktop.
Chia Hex Match
// please nowrap to check this file
// source := "ff02ffff01ff02ffff03ffff18ff2fffff010180ffff01ff02ff36ffff04ff02ffff04ff05ffff04ff17ffff04ffff02ff26ffff04ff02ffff04ff0bff80808080ffff04ff2fffff04ff0bffff04ff5fff808080808080808080ffff01ff088080ff0180ffff04ffff01ffffffff4602ff3304ffff0101ff02ffff02ffff03ff05ffff01ff02ff5cffff04ff02ffff04ff0dffff04ffff0bff2cffff0bff24ff3880ffff0bff2cffff0bff2cffff0bff24ff3480ff0980ffff0bff2cff0bffff0bff24ff8080808080ff8080808080ffff010b80ff0180ff02ffff03ff0bffff01ff02ff32ffff04ff02ffff04ff05ffff04ff0bffff04ff17ffff04ffff02ff2affff04ff02ffff04ffff02ffff03ffff09ff23ff2880ffff0181b3ff8080ff0180ff80808080ff80808080808080ffff01ff02ffff03ff17ff80ffff01ff088080ff018080ff0180ffffffff0bffff0bff17ffff02ff3affff04ff02ffff04ff09ffff04ff2fffff04ffff02ff26ffff04ff02ffff04ff05ff80808080ff808080808080ff5f80ff0bff81bf80ff02ffff03ffff20ffff22ff4fff178080ffff01ff02ff7effff04ff02ffff04ff6fffff04ffff04ffff02ffff03ff4fffff01ff04ff23ffff04ffff02ff3affff04ff02ffff04ff09ffff04ff53ffff04ffff02ff26ffff04ff02ffff04ff05ff80808080ff808080808080ffff04ff81b3ff80808080ffff011380ff0180ffff02ff7cffff04ff02ffff04ff05ffff04ff1bffff04ffff21ff4fff1780ff80808080808080ff8080808080ffff01ff088080ff0180ffff04ffff09ffff18ff05ffff010180ffff010180ffff09ff05ffff01818f8080ff0bff2cffff0bff24ff3080ffff0bff2cffff0bff2cffff0bff24ff3480ff0580ffff0bff2cffff02ff5cffff04ff02ffff04ff07ffff04ffff0bff24ff2480ff8080808080ffff0bff24ff8080808080ffffff02ffff03ffff07ff0580ffff01ff0bffff0102ffff02ff26ffff04ff02ffff04ff09ff80808080ffff02ff26ffff04ff02ffff04ff0dff8080808080ffff01ff0bffff0101ff058080ff0180ff02ff5effff04ff02ffff04ff05ffff04ff0bffff04ffff02ff3affff04ff02ffff04ff09ffff04ff17ffff04ffff02ff26ffff04ff02ffff04ff05ff80808080ff808080808080ffff04ff17ffff04ff2fffff04ff5fffff04ff81bfff80808080808080808080ffff04ffff04ff20ffff04ff17ff808080ffff02ff7cffff04ff02ffff04ff05ffff04ffff02ff82017fffff04ffff04ffff04ff17ff2f80ffff04ffff04ff5fff81bf80ffff04ff0bff05808080ff8202ff8080ffff01ff80808080808080ffff02ff2effff04ff02ffff04ff05ffff04ff0bffff04ffff02ffff03ff3bffff01ff02ff22ffff04ff02ffff04ff05ffff04ff17ffff04ff13ffff04ff2bffff04ff5bffff04ff5fff808080808080808080ffff01ff02ffff03ffff09ff15ffff0bff13ff1dff2b8080ffff01ff0bff15ff17ff5f80ffff01ff088080ff018080ff0180ffff04ff17ffff04ff2fffff04ff5fffff04ff81bfffff04ff82017fff8080808080808080808080ff02ffff03ff05ffff011bffff010b80ff0180ff018080"
// treehash_result := "24e044101e57b3d8c908b8a38ad57848afd29d3eecc439dba45f4412df4954fd"
//ff02ffff01ff02ffff03ffff18ff2fffff01 0180ffff 01ff02ff36ffff04ff02ffff04ff05ffff04ff17ffff04ffff02ff26ffff04ff02ffff04ff0bff 80808080 ffff04ff2fffff04ff0bffff04ff5fff808080808080808080 ffff01ff088080 ff01 80ffff04ffff01ffffffff46 02ff 33 04ffff 01 01ff 02ffff02ffff03ff05ffff01ff02ff5cffff04ff02ffff04ff0dffff04ffff0bff2cffff0bff24ff3880 ffff0bff2cffff0bff2cffff0bff24ff3480 ff0980 ffff0bff2cff0bffff0bff24ff 8080808080ff8080808080 ffff01 0b80ff 0180ff 02ffff03ff0bffff01ff02ff32ffff04ff02ffff04ff05ffff04ff0bffff04ff17ffff04ffff02ff2affff04ff02ffff04ffff02ffff03ffff09ff23ff2880ffff 0181b3ff8080ff 01 80ff80808080ff80808080808080ffff 01ff02ffff03ff17ff80ffff01ff088080ff 018080ff 0180ffffffff 0bffff0bff17ffff02ff3affff04ff02ffff04ff09ffff04ff2fffff04ffff02ff26ffff04ff02ffff04ff05ff80808080ff808080808080ff 5f80ff 0bff81bf80ff 02ffff03ffff20ffff22ff4fff178080ffff 01ff02ff7effff04ff02ffff04ff6fffff04ffff04ffff02ffff03ff4fffff01ff04ff23ffff04ffff02ff3affff04ff02ffff04ff09ffff04ff53ffff04ffff02ff26ffff04ff02ffff04ff05ff80808080ff808080808080ffff 04ff81b3ff80808080ffff 01 1380ff 0180ffff 02ff7cffff04ff02ffff04ff05ffff04ff1bffff04ffff21ff4fff1780ff80808080808080ff8080808080ffff 01ff088080ff 0180ffff 04ffff09ffff18ff05ffff01 0180ffff 01 0180ffff 09ff05ffff01818f8080ff 0bff2cffff0bff24ff3080ffff 0bff2cffff0bff2cffff0bff24ff3480ff 0580ffff 0bff2cffff02ff5cffff04ff02ffff04ff07ffff04ffff0bff24ff2480ff8080808080ffff 0bff24ff8080808080ffffff 02ffff03ffff07ff0580ffff 01ff0bffff01 02ffff02ff26ffff04ff02ffff04ff09ff80808080ffff 02ff26ffff04ff02ffff04ff0dff8080808080ffff 01ff0bffff01 01ff 058080ff 0180ff 02ff5effff04ff02ffff04ff05ffff04ff0bffff04ffff02ff3affff04ff02ffff04ff09ffff04ff17ffff04ffff02ff26ffff04ff02ffff04ff05ff80808080ff808080808080 ffff04ff17ffff04ff2fffff04ff5fffff04ff81bfff80808080808080808080ffff 04ffff04ff20ffff04ff17ff808080ffff 02ff7cffff04ff02ffff04ff05ffff04ffff02ff82017fffff04ffff04ffff04ff17ff2f80ffff 04ffff04ff5fff81bf80ffff 04ff0bff05808080ff 8202ff8080ffff 01ff80808080808080ffff 02ff2effff04ff02ffff04ff05ffff04ff0bffff04ffff02ffff03ff3b ffff01ff02ff22ffff04ff02ffff04ff05ffff04ff17ffff04ff13ffff 04ff2bffff04ff5bffff04ff5fff808080808080808080ffff 01ff02ffff03ffff09ff15ffff0bff13ff1dff 2b8080ffff 01ff0bff15ff17ff5f80ffff 01ff088080ff018080ff0180ffff ?? 04ff17ffff04ff2fffff04ff5fffff04ff81bfffff04ff82017fff8080808080808080808080ff 02ffff03ff05ffff011bffff01 0b80ff0180ff018080
// {02:{{ 01:{02:{{ 03:{ 18:{2f:{{ 01:01}:''}}:{{01:{02:{36:{{ 04:{02:{{ 04:{05:{{ 04:{17:{{ 04:{{ 02:{26:{{ 04:{02:{{ 04:{00:{'':''}}}:''}}}:''}}}:{{04:{2f:{{ 04:{00:{{ 04:{5f:{'':''}}}:''}}}:''}}}:''}}}:''}}}:''}}}:''}}}:''}}}}:{{01:{08:''}}:''}}}}:{01:''}}}}:{{04:{{ 01:{{{{ 46:02}:{33:04}}:{{01:01}:{02:{{ 02:{{ 03:{05:{{ 01:{02:{5c:{{ 04:{02:{{ 04:{0d:{{ 04:{{00:{2c:{{ 00:{24:{38:''}}}:{{00:{2c:{{ 00:{2c:{{ 00:{24:{34:''}}}:{09:''}}}}:{{00:{2c:{00:{{ 00:{24:{'':''}}}:''}}}}:''}}}}:''}}}}:{'':''}}}:''}}}:''}}}:''}}}}:{{01:00}:''}}}}:{01:''}}}:{02:{{ 03:{00:{{ 01:{02:{32:{{ 04:{02:{{ 04:{05:{{ 04:{00:{{ 04:{17:{{ 04:{{ 02:{2a:{{ 04:{02:{{ 04:{{ 02:{{ 03:{{ 09:{23:{28:''}}}:{{01: b3}:{'':''}}}}:{01:''}}}:{'':''}}}:''}}}:''}}}:{'':''}}}:''}}}:''}}}:''}}}:''}}}:''}}}}:{{01:{02:{{ 03:{17:{'':{{ 01:{08:''}}:''}}}}:{01:''}}}}:''}}}}:{01:''}}}}}}}:{{{{00:{{ 00:{17:{{ 02:{3a:{{ 04:{02:{{ 04:{09:{{ 04:{2f:{{ 04:{{ 02:{26:{{ 04:{02:{{ 04:{05:{'':''}}}:''}}}:''}}}:{'':''}}}:''}}}:''}}}:''}}}:''}}}:{5f:''}}}}:{00:{ bf:''}}}}:{02:{{ 03:{{ 20:{{ 22:{4f:{17:''}}}:''}}:{{01:{02:{7e:{{ 04:{02:{{ 04:{6f:{{ 04:{{ 04:{{ 02:{{ 03:{4f:{{ 01:{04:{23:{{ 04:{ 02:{3a:{{ 04:{02:{{ 04:{09:{{ 04:{53:{{ 04:{{ 02:{26:{{ 04:{02:{{ 04:{05:{'':''}}}:''}}}:''}}}:{'':''}}}:''}}}:''}}}:''}}}:''}}:{{04:{ b3:{'':''}}}:''}}}:''}}}}:{{01:13}:''}}}}:{01:''}}}:{{02:{7c:{{ 04:{02:{{ 04:{05:{{ 04:{01:{{ 04:{{ 21:{4f:{17:''}}}:{'':''}}}:''}}}:''}}}:''}}}:''}}}:''}}}:{'':''}}}:''}}}:''}}}:''}}}}:{{01:{08:''}}:''}}}}:{01:''}}}}:{{04:{{ 09:{{ 18:{05:{{ 01:01}:''}}}:{{01:01}:''}}}:{{09:{05:{{ 01: 8f}:''}}}:''}}}:{00:{2c:{{ 00:{24:{30:''}}}:{{00:{2c:{{ 00:{2c:{{ 00:{24:{34:''}}}:{05:''}}}}:{{00:{2c:{{ 02:{5c:{{ 04:{02:{{ 04:{07:{{ 04:{{ 00:{24:{24:''}}}:{'':''}}}:''}}}:''}}}:''}}}:{{00:{24:{'':''}}}:''}}}}:''}}}}:''}}}}}}:{{{02:{{ 03:{{ 07:{05:''}}:{{01:{00:{{ 01:02}:{{02:{26:{{ 04:{02:{{ 04:{09:{'':''}}}:''}}}:''}}}:{{02:{26:{{ 04:{02:{{ 04:{0d:{'':''}}}:''}}}:''}}}:''}}}}}:{{01:{00:{{ 01:01}:{05:''}}}}:''}}}}:{01:''}}}:{02:{5e:{{ 04:{02:{{ 04:{05:{{ 04:{00:{{ 04:{{ 02:{3a:{{ 04:{02:{{ 04:{09:{{ 04:{17:{{ 04:{{ 02:{26:{{ 04:{02:{{ 04:{05:{'':''}}}:''}}}:''}}}:{'':''}}}:''}}}:''}}}:''}}}:''}}}:{{04:{17:{{ 04:{2f:{{ 04:{5f:{{ 04:{ bf:{'':''}}}:''}}}:''}}}:''}}}:''}}}:''}}}:''}}}:''}}}:''}}}}:{{04:{{ 04:{20:{{ 04:{17:{'':''}}}:''}}}:{{02:{7c:{{ 04:{02:{{ 04:{05:{{ 04:{{ 02:{' 017f':{{04:{{ 04:{{ 04:{17:{2f:''}}}:{{04:{{ 04:{5f:{ bf:''}}}:{{04:{00:{05:''}}}:''}}}:''}}}:{'02ff':''}}}:''}}}:{{01:{'':''}}:''}}}:''}}}:''}}}:''}}}:''}}}:{{02:{2e:{{ 04:{02:{{ 04:{05:{{ 04:{00:{{ 04:{{ 02:{{ 03:{'3':{{ 01:{02:{22:{{ 04:{02:{{ 04:{05:{{ 04:{17:{{ 04:{13:{{ 04:{'2':{{04:{'5':{{ 04:{5f:{'':''}}}:''}}}:''}}}:''}}}:''}}}:''}}}:''}}}:''}}}}:{{01:{02:{{ 03:{{ 09:{15:{{ 00:{13:{1d:{'2':''}}}}:''}}}:{{01:{00:{15:{17:{5f:''}}}}}:{{01:{08:''}}:''}}}}:{01:''}}}}:''}}}}:{01:''}}}:{{04:{17:{{ 04:{2f:{{ 04:{5f:{{ 04:{ bf:{{ 04:{' 017f':{'':''}}}:''}}}:''}}}:''}}}:''}}}:''}}}:''}}}:''}}}:''}}}:''}}}:{02:{{ 03:{05:{{01:01}:{{01:00}:''}}}}:{01:''}}}}}}}}}:{01:''}}}:''}}}
// dump code like (need fix format)
def show_tree(sexp: CLVMObject, deep: int):
log = logging.getLogger(__name__)
if sexp.pair:
p0, p1 = sexp.pair
log.warning(f"_deep{deep} : p : {id(sexp)} => {id(p0)} : {id(p1)}")
show_tree(p0, deep + 1)
show_tree(p1, deep + 1)
else:
log.warning(f"_deep{deep} : a : {id(sexp)} => {binascii.hexlify(sexp.atom)}")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment