foo.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. var varint = require('varint')
  2. //
  3. //
  4. t = {
  5. 'contract': '0620010181004880220001000000000000000000000000000000000000000000000000000000000000000448880001433204810312443300102212443300088190943d124433002032031244330009320312443301108106124433011922124433011881df0412443301203203124433021022124433020881001244330220802050b9d5cd33b835f53649f25be3ba6e6b8271b6d16c0af8aa97cc11761e417feb1244330209320312442243',
  6. 'TMPL_ADDR_IDX': 0,
  7. 'TMPL_APP_ADDRESS': '50b9d5cd33b835f53649f25be3ba6e6b8271b6d16c0af8aa97cc11761e417feb',
  8. 'TMPL_APP_ID': 607,
  9. 'TMPL_EMITTER_ID': '00010000000000000000000000000000000000000000000000000000000000000004',
  10. 'TMPL_SEED_AMT': 1002000
  11. }
  12. t2 = {
  13. 'contract': '062001018101488008677561726469616e48880001433204810312443300102212443300088190943d124433002032031244330009320312443301108106124433011922124433011881df0412443301203203124433021022124433020881001244330220802050b9d5cd33b835f53\
  14. 649f25be3ba6e6b8271b6d16c0af8aa97cc11761e417feb1244330209320312442243',
  15. 'TMPL_ADDR_IDX': 1,
  16. 'TMPL_APP_ADDRESS': '50b9d5cd33b835f53649f25be3ba6e6b8271b6d16c0af8aa97cc11761e417feb',
  17. 'TMPL_APP_ID': 607,
  18. 'TMPL_EMITTER_ID': '677561726469616e',
  19. 'TMPL_SEED_AMT': 1002000
  20. }
  21. function properHex(v) {
  22. if (v < 10)
  23. return '0' + v.toString(16)
  24. else
  25. return v.toString(16)
  26. }
  27. function populate(v) {
  28. foo = [
  29. '0620010181',
  30. varint.encode(v["TMPL_ADDR_IDX"]).map (n => properHex(n)).join(''),
  31. '4880',
  32. varint.encode(v["TMPL_EMITTER_ID"].length / 2).map (n => properHex(n)).join(''),
  33. v["TMPL_EMITTER_ID"],
  34. '488800014332048103124433001022124433000881',
  35. varint.encode(v["TMPL_SEED_AMT"]).map (n => properHex(n)).join(''),
  36. '124433002032031244330009320312443301108106124433011922124433011881',
  37. varint.encode(v["TMPL_APP_ID"]).map (n => properHex(n)).join(''),
  38. '1244330120320312443302102212443302088100124433022080',
  39. varint.encode(v["TMPL_APP_ADDRESS"].length/2).map (n => properHex(n)).join(''),
  40. v["TMPL_APP_ADDRESS"],
  41. '1244330209320312442243'
  42. ].join('')
  43. return foo
  44. }
  45. if (t["contract"] == populate(t)) {
  46. console.log("omg it works!")
  47. } else {
  48. console.log("You are weak")
  49. }
  50. if (t2["contract"] == populate(t2)) {
  51. console.log("omg it works!")
  52. } else {
  53. console.log("You are weak")
  54. }