dequanto 0.2.46 → 0.2.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/docs/ai/INDEX.md +41 -0
  2. package/docs/ai/examples/contract-read.spec.ts +44 -0
  3. package/docs/ai/examples/contract-write.spec.ts +16 -0
  4. package/docs/ai/examples/deploy-contract.spec.ts +32 -0
  5. package/docs/ai/examples/erc4337-userop.spec.ts +37 -0
  6. package/docs/ai/examples/explorer-abi.spec.ts +18 -0
  7. package/docs/ai/examples/generate-client.spec.ts +22 -0
  8. package/docs/ai/examples/index-events.spec.ts +27 -0
  9. package/docs/ai/examples/rpc-read.spec.ts +15 -0
  10. package/docs/ai/examples/safe-batch.spec.ts +55 -0
  11. package/docs/ai/examples/send-transaction.spec.ts +22 -0
  12. package/docs/ai/examples/storage-read.spec.ts +27 -0
  13. package/docs/ai/examples/token-transfer.spec.ts +22 -0
  14. package/docs/ai/references/contracts.md +111 -0
  15. package/docs/ai/references/deployments.md +98 -0
  16. package/docs/ai/references/events-indexing.md +97 -0
  17. package/docs/ai/references/explorer.md +77 -0
  18. package/docs/ai/references/generation.md +182 -0
  19. package/docs/ai/references/migration-from-ethers-viem.md +43 -0
  20. package/docs/ai/references/rpc-clients.md +115 -0
  21. package/docs/ai/references/safe-erc4337.md +134 -0
  22. package/docs/ai/references/storage.md +93 -0
  23. package/docs/ai/references/tokens-accounts.md +99 -0
  24. package/docs/ai/references/transactions.md +146 -0
  25. package/docs/ai/skill/dequanto/SKILL.md +59 -0
  26. package/lib/cjs/abi/$abiCoder.js +14 -0
  27. package/lib/cjs/abi/$abiCoder.js.map +1 -1
  28. package/lib/cjs/clients/ClientPool.js +14 -0
  29. package/lib/cjs/clients/ClientPool.js.map +1 -1
  30. package/lib/cjs/clients/Web3Client.js +14 -4
  31. package/lib/cjs/clients/Web3Client.js.map +1 -1
  32. package/lib/cjs/clients/Web3ClientFactory.js.map +1 -1
  33. package/lib/cjs/clients/model/ClientStatus.js +1 -0
  34. package/lib/cjs/clients/model/ClientStatus.js.map +1 -1
  35. package/lib/cjs/clients/utils/ClientErrorUtil.js +9 -0
  36. package/lib/cjs/clients/utils/ClientErrorUtil.js.map +1 -1
  37. package/lib/cjs/config/ConfigDefaults.js +0 -3
  38. package/lib/cjs/config/ConfigDefaults.js.map +1 -1
  39. package/lib/cjs/contracts/ContractCreationResolver.js +1 -0
  40. package/lib/cjs/contracts/ContractCreationResolver.js.map +1 -1
  41. package/lib/cjs/rpc/RpcBase.js +4 -1
  42. package/lib/cjs/rpc/RpcBase.js.map +1 -1
  43. package/lib/cjs/solidity/utils/$str.js +1 -1
  44. package/lib/cjs/solidity/utils/$str.js.map +1 -1
  45. package/lib/cjs/utils/$abiParser.js +85 -1
  46. package/lib/cjs/utils/$abiParser.js.map +1 -1
  47. package/lib/cjs/utils/$base.js +1 -1
  48. package/lib/cjs/utils/$base.js.map +1 -1
  49. package/lib/cjs/utils/$crypto.js.map +1 -1
  50. package/lib/cjs/utils/$hex.js +15 -3
  51. package/lib/cjs/utils/$hex.js.map +1 -1
  52. package/lib/esm/abi/$abiCoder.js.map +1 -1
  53. package/lib/esm/abi/$abiCoder.mjs +14 -0
  54. package/lib/esm/clients/ClientPool.js.map +1 -1
  55. package/lib/esm/clients/ClientPool.mjs +14 -0
  56. package/lib/esm/clients/Web3Client.js.map +1 -1
  57. package/lib/esm/clients/Web3Client.mjs +14 -4
  58. package/lib/esm/clients/Web3ClientFactory.js.map +1 -1
  59. package/lib/esm/clients/model/ClientStatus.js.map +1 -1
  60. package/lib/esm/clients/model/ClientStatus.mjs +1 -0
  61. package/lib/esm/clients/utils/ClientErrorUtil.js.map +1 -1
  62. package/lib/esm/clients/utils/ClientErrorUtil.mjs +9 -0
  63. package/lib/esm/config/ConfigDefaults.js.map +1 -1
  64. package/lib/esm/config/ConfigDefaults.mjs +0 -3
  65. package/lib/esm/contracts/ContractCreationResolver.js.map +1 -1
  66. package/lib/esm/contracts/ContractCreationResolver.mjs +1 -0
  67. package/lib/esm/rpc/RpcBase.js.map +1 -1
  68. package/lib/esm/rpc/RpcBase.mjs +4 -1
  69. package/lib/esm/solidity/utils/$str.js.map +1 -1
  70. package/lib/esm/solidity/utils/$str.mjs +1 -1
  71. package/lib/esm/utils/$abiParser.js.map +1 -1
  72. package/lib/esm/utils/$abiParser.mjs +85 -1
  73. package/lib/esm/utils/$base.js.map +1 -1
  74. package/lib/esm/utils/$base.mjs +1 -1
  75. package/lib/esm/utils/$crypto.js.map +1 -1
  76. package/lib/esm/utils/$hex.js.map +1 -1
  77. package/lib/esm/utils/$hex.mjs +15 -3
  78. package/lib/types/abi/$abiCoder.d.ts +11 -9
  79. package/lib/types/clients/ClientPool.d.ts +2 -0
  80. package/lib/types/clients/Web3Client.d.ts +4 -1
  81. package/lib/types/clients/Web3ClientFactory.d.ts +3 -2
  82. package/lib/types/clients/model/ClientStatus.d.ts +1 -0
  83. package/lib/types/clients/utils/ClientErrorUtil.d.ts +4 -0
  84. package/lib/types/contracts/ContractBase.d.ts +1 -1
  85. package/lib/types/contracts/wrappers/FnRequestWrapper.d.ts +1 -1
  86. package/lib/types/models/TAccount.d.ts +1 -1
  87. package/lib/types/rpc/RpcBase.d.ts +1 -0
  88. package/lib/types/utils/$abiParser.d.ts +6 -0
  89. package/lib/types/utils/$crypto.d.ts +3 -0
  90. package/lib/types/utils/$hex.d.ts +2 -0
  91. package/package.json +1 -1
  92. package/src/abi/$abiCoder.ts +31 -10
  93. package/src/clients/ClientPool.ts +17 -1
  94. package/src/clients/Web3Client.ts +20 -7
  95. package/src/clients/Web3ClientFactory.ts +10 -5
  96. package/src/clients/model/ClientStatus.ts +1 -0
  97. package/src/clients/utils/ClientErrorUtil.ts +8 -0
  98. package/src/config/ConfigDefaults.ts +0 -3
  99. package/src/contracts/ContractCreationResolver.ts +1 -0
  100. package/src/contracts/wrappers/FnRequestWrapper.ts +1 -1
  101. package/src/models/TAccount.ts +1 -1
  102. package/src/rpc/RpcBase.ts +5 -1
  103. package/src/solidity/utils/$str.ts +1 -1
  104. package/src/utils/$abiParser.ts +93 -1
  105. package/src/utils/$base.ts +1 -1
  106. package/src/utils/$crypto.ts +1 -0
  107. package/src/utils/$hex.ts +12 -3
@@ -1 +1 @@
1
- {"version":3,"file":"$abiParser.js","sourceRoot":"","sources":["../../../src/utils/$abiParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"$abiParser.js","sourceRoot":"","sources":["../../../src/utils/$abiParser.ts"],"names":[],"mappings":";;;AACA,yCAAsC;AACtC,wDAAqD;AAOrD,IAAiB,UAAU,CAmP1B;AAnPD,WAAiB,UAAU;IACvB,SAAgB,aAAa,CAAE,GAAa;QACxC,IAAI,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC1B,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;YACxC,OAAO,SAAS,CAAC;SACpB;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YAC1C,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SAC1B;QACD,IAAI,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,IAAI,OAAO,EAAE;YACT,OAAO,QAAQ,CAAC;SACnB;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAbe,wBAAa,gBAa5B,CAAA;IACD,SAAgB,sBAAsB,CAAE,OAAqB;QACzD,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;YACxC,OAAO,SAAS,CAAC;SACpB;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YAC1C,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SAC1B;QACD,IAAI,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,IAAI,OAAO,EAAE;YACT,OAAO,QAAQ,CAAC;SACnB;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAZe,iCAAsB,yBAYrC,CAAA;IAED,MAAM,SAAS,GAAG,yGAAyG,CAAC;IAE5H,MAAM,aAAa,GAAG,kDAAkD,CAAC;IACzE,MAAM,eAAe,GAAG,8BAA8B,CAAC;IACvD,MAAM,YAAY,GAAG,UAAU,CAAC;IAChC,MAAM,YAAY,GAAG,iBAAiB,CAAA;IACtC;;;;OAIG;IACH,SAAgB,WAAW,CAAE,SAAiB;QAC1C,IAAI,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,mBAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,sBAAsB,SAAS,kDAAkD,CAAC,CAAC;QAErH,IAAI,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAElD,IAAI,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC;QAC/C,IAAI,QAAQ,GAAG,WAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;QACrF,mBAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,2BAA2B,SAAS,kDAAkD,CAAC,CAAC;QAEtI,IAAI,eAAe,GAAG,KAAK,CAAC,CAAC;QAC7B,IAAI,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,WAAW,EAAE;YACb,IAAI,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;YACxB,eAAe,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;YAC7D,QAAQ,GAAG,WAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;SAC3D;QAED,uBAAuB;QACvB,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEtD,IAAI,OAAO,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAEtE,IAAI,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;QAC3C,IAAI,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE3C,OAAkB;YACd,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;YACd,eAAe;YAEf,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;YAClC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,IAAI,IAAI,UAAU;SAClD,CAAC;IACN,CAAC;IArCe,sBAAW,cAqC1B,CAAA;IAGD;;;;OAIG;IACH,SAAgB,WAAW,CAAE,MAAc;QACvC,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpC,mBAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,uBAAuB,MAAM,EAAE,CAAC,CAAC;QAEhE,IAAI,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAE,CAAC,CAAC,CAAC;QACtD,IAAI,KAAK,GAAG,IAAI,GAAG,EAAqB,CAAC;QAEzC,SAAS,OAAO,CAAE,IAAY;YAC1B,IAAI,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,MAAM,IAAI,IAAI,EAAE;gBAChB,OAAO,MAAM,CAAC;aACjB;YACD,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3B,mBAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,IAAI,eAAe,CAAC,CAAC;YAErD,IAAI,KAAK,GAAc;gBACnB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,UAAU,IAAI,EAAE;gBAC9B,UAAU,EAAE,EAAE;aACjB,CAAC;YACF,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvB,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC;iBACnD,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjD,GAAG,CAAC,cAAc,CAAC,CAAC;YAEzB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,SAAS,cAAc,CAAE,KAAgB;YACrC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE;gBAC5B,IAAI,KAAK,CAAC,UAAU,IAAI,IAAI,EAAE;oBAC1B,OAAO;wBACH,GAAG,KAAK;wBACR,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC;qBACnD,CAAC;iBACL;gBACD,OAAO,KAAK,CAAC;aAChB;YAED,IAAI,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1B,OAAO;gBACH,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,QAAQ,KAAK,EAAE;gBACrB,YAAY,EAAE,UAAU,IAAI,GAAG,KAAK,EAAE;gBACtC,UAAU,EAAE,KAAK,CAAC,UAAU;aAC/B,CAAC;QACN,CAAC;QAED,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,OAAO;YACH,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;SACC,CAAC;IACzB,CAAC;IAvDe,sBAAW,cAuD1B,CAAA;IAED,UAAU;IACV,YAAY;IACZ,qBAAqB;IACrB,6BAA6B;IAC7B,+BAA+B;IAC/B,gDAAgD;IAChD,SAAgB,cAAc,CAAE,IAAY;QACxC,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;QAEpB,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;YACxB,OAAO,EAAE,CAAC;SACb;QACD,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,oDAAoD,CAAC,CAAC;SAChF;QAGD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;YACxB,IAAI,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACxC,IAAI,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC5C,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YAClD,IAAI,OAAO,EAAE;gBACT,OAAO;oBACH;wBACI,IAAI,EAAE,EAAE;wBACR,IAAI,EAAE,SAAS;wBACf,UAAU,EAAE,MAAM;qBACrB;iBACJ,CAAC;aACL;YACD,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACvC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;gBAClB,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;aAC3B;YACD,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1D,IAAI,SAAS,EAAE;gBACX,IAAI,IAAI,GAAG,OAAO,CAAC;gBACnB,oEAAoE;gBACpE,IAAI,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC5C,IAAI,QAAQ,IAAI,IAAI,EAAE;oBAClB,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC1B,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;iBAC9D;gBACD,OAAO;oBACH;wBACI,IAAI,EAAE,SAAS;wBACf,IAAI;wBACJ,UAAU,EAAE,MAAM;qBACrB;iBACJ,CAAC;aACL;YAGD,6BAA6B;YAC7B,6BAA6B;YAE7B,iBAAiB;YACjB,YAAY;YACZ,wBAAwB;YACxB,0BAA0B;YAC1B,aAAa;YACb,SAAS;YACT,IAAI;YAEJ,OAAO,MAAM,CAAC;SACjB;QAED,mBAAmB;QACnB,uDAAuD;QAEvD,oEAAoE;QACpE,yFAAyF;QAEzF,mBAAmB;QACnB,iCAAiC;QACjC,iCAAiC;QACjC,aAAa;QACb,UAAU;QACV,IAAI;QAEJ,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,KAAK,GAAG,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,KAAK,EAAE;YACP,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YAEzB,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,OAAO,KAAK,EAAE,EAAE;gBAChB,IAAI,GAAG,OAAO,CAAC;aAClB;SACJ;QACD,OAAO;YACH;gBACI,IAAI;gBACJ,IAAI;aACP;SACJ,CAAC;IACN,CAAC;IA9Fe,yBAAc,iBA8F7B,CAAA;AACL,CAAC,EAnPgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAmP1B;AAED,IAAU,KAAK,CAyFd;AAzFD,WAAU,KAAK;IACX,qCAAqC;IACrC,SAAgB,cAAc,CAAE,SAAiB;QAC7C,IAAI,GAAG,GAAG,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;QAC1C,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACf,gDAAgD;YAChD,8CAA8C;YAC9C,IAAI,MAAM,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC9C,OAAO;oBACH,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,OAAO;oBACb,UAAU,EAAE,MAAM;iBACD,CAAC;aACzB;YAAA,CAAC;YACF,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACX,CAAC;IAfe,oBAAc,iBAe7B,CAAA;IAED,SAAgB,gBAAgB,CAAE,IAAY,EAAE,SAAiB;QAC7D,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,IAAI,CAAC,KAAK,SAAS,EAAE;gBACjB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC5C,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,SAAS;aACZ;YACD,IAAI,CAAC,KAAK,GAAG,EAAE;gBACX,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5B,SAAS;aACZ;SACJ;QACD,aAAa;QACb,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAlBe,sBAAgB,mBAkB/B,CAAA;IAED,SAAgB,WAAW,CAAE,GAAW,EAAE,MAAc,EAAE,QAAgB,EAAE,SAAkB;QAC1F,SAAS,GAAG,SAAS,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBACrB,KAAK,EAAE,CAAC;aACX;YACD,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;gBACtB,KAAK,EAAE,CAAC;aACX;YACD,IAAI,KAAK,KAAK,CAAC,EAAE;gBACb,OAAO,CAAC,CAAC;aACZ;SACJ;QACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,IAAI,SAAS,OAAO,GAAG,EAAE,CAAC,CAAC;IAClF,CAAC;IAfe,iBAAW,cAe1B,CAAA;IAED,MAAM,WAAW,GAAG;QAChB,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;KACX,CAAC;IAEF,SAAgB,OAAO,CAAE,MAAc;QACnC,IAAI,GAAG,GAAG,mCAAmC,CAAC;QAC9C,IAAI,GAAG,GAAqC,EAAE,CAAC;QAC/C,IAAI,KAAsB,CAAC;QAC3B,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,EAAE;YACvC,IAAI,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YAC7C,GAAG,CAAC,IAAI,CAAC;gBACL,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;gBACvB,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE;aACnD,CAAC,CAAC;YACH,GAAG,CAAC,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC;SAC9B;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAde,aAAO,UActB,CAAA;IAED,SAAgB,YAAY,CAAE,IAAY;QACtC,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,OAAO,IAAI,EAAE;YACT,IAAI,KAAK,GAAG,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;aAC1B;YACD,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,KAAK,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC;SAC3C;IACL,CAAC;IAVe,kBAAY,eAU3B,CAAA;AACL,CAAC,EAzFS,KAAK,KAAL,KAAK,QAyFd"}
@@ -72,6 +72,61 @@ export var $abiParser;
72
72
  };
73
73
  }
74
74
  $abiParser.parseMethod = parseMethod;
75
+ /**
76
+ * Parses Solidity struct declarations into a tuple ABI component.
77
+ * Supports multiple declarations so later structs can reference earlier ones,
78
+ * and returns the ABI component for the last struct in the input.
79
+ */
80
+ function parseStruct(struct) {
81
+ let structs = Parse.structs(struct);
82
+ $require.gt(structs.length, 0, `No structs found in ${struct}`);
83
+ let byName = new Map(structs.map(x => [x.name, x]));
84
+ let cache = new Map();
85
+ function toTuple(name) {
86
+ let cached = cache.get(name);
87
+ if (cached != null) {
88
+ return cached;
89
+ }
90
+ let def = byName.get(name);
91
+ $require.notNull(def, `Struct ${name} is not found`);
92
+ let tuple = {
93
+ name: '',
94
+ type: 'tuple',
95
+ internalType: `struct ${name}`,
96
+ components: []
97
+ };
98
+ cache.set(name, tuple);
99
+ tuple.components = Parse.splitByDelimiter(def.body, ';')
100
+ .map(field => $abiParser.parseArguments(field)[0])
101
+ .map(resolveStructs);
102
+ return tuple;
103
+ }
104
+ function resolveStructs(param) {
105
+ let { type, array } = Parse.extractArray(param.type);
106
+ if (byName.has(type) === false) {
107
+ if (param.components != null) {
108
+ return {
109
+ ...param,
110
+ components: param.components.map(resolveStructs)
111
+ };
112
+ }
113
+ return param;
114
+ }
115
+ let tuple = toTuple(type);
116
+ return {
117
+ name: param.name,
118
+ type: `tuple${array}`,
119
+ internalType: `struct ${type}${array}`,
120
+ components: tuple.components
121
+ };
122
+ }
123
+ let last = structs[structs.length - 1];
124
+ return {
125
+ ...toTuple(last.name),
126
+ name: last.name
127
+ };
128
+ }
129
+ $abiParser.parseStruct = parseStruct;
75
130
  // uint256
76
131
  // address[]
77
132
  // (uint256, uint256)
@@ -223,8 +278,37 @@ var Parse;
223
278
  Parse.goToClosing = goToClosing;
224
279
  const CLOSE_CHARS = {
225
280
  '[': ']',
226
- '(': ')'
281
+ '(': ')',
282
+ '{': '}'
227
283
  };
284
+ function structs(source) {
285
+ let rgx = /\bstruct\s+(?<name>[\w_$]+)\s*\{/g;
286
+ let arr = [];
287
+ let match;
288
+ while ((match = rgx.exec(source)) != null) {
289
+ let openI = source.indexOf('{', match.index);
290
+ let closeI = goToClosing(source, openI, '{');
291
+ arr.push({
292
+ name: match.groups.name,
293
+ body: source.substring(openI + 1, closeI).trim()
294
+ });
295
+ rgx.lastIndex = closeI + 1;
296
+ }
297
+ return arr;
298
+ }
299
+ Parse.structs = structs;
300
+ function extractArray(type) {
301
+ let array = '';
302
+ while (true) {
303
+ let match = /^(?<type>.+?)(?<array>\[[^\]]*\])$/.exec(type);
304
+ if (match == null) {
305
+ return { type, array };
306
+ }
307
+ type = match.groups.type;
308
+ array = `${match.groups.array}${array}`;
309
+ }
310
+ }
311
+ Parse.extractArray = extractArray;
228
312
  })(Parse || (Parse = {}));
229
313
  //# sourceMappingURL=$abiParser.js.map
230
314
  //# sourceMappingURL=$abiParser.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"$base.js","sourceRoot":"","sources":["../../../src/utils/$base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"$base.js","sourceRoot":"","sources":["../../../src/utils/$base.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export var $base;
14
14
  }
15
15
  encode(hex) {
16
16
  hex = $hex.toHexBuffer(hex);
17
- hex = $hex.trimBytes(hex);
17
+ hex = $hex.trimBytesStart(hex);
18
18
  let buffer = $buffer.fromHex(hex);
19
19
  let result = [];
20
20
  let BASE = this.BASE;
@@ -1 +1 @@
1
- {"version":3,"file":"$crypto.js","sourceRoot":"","sources":["../../../src/utils/$crypto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"$crypto.js","sourceRoot":"","sources":["../../../src/utils/$crypto.ts"],"names":[],"mappings":";;;AACA,uCAAoC;AACpC,yCAAsC;AACtC,+BAA4B;AAwB5B,MAAM,WAAW,GAAG,aAAa,CAAC;AAElC,MAAe,UAAU;IAOrB,KAAK,CAAC,MAAM,CAAE,GAAmC,EAAE,IAAsC;QACrF,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,IAAI,EAAE,QAAQ,KAAK,KAAK,EAAE;YAC1B,OAAO,iBAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC9B;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAKD,KAAK,CAAC,OAAO,CAAC,GAAmC,EAAE,IAAuB;QACtE,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnC,mBAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,uCAAuC,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,mBAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAEtD,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC9D,QAAQ,IAAI,CAAC,QAAQ,EAAE;YACnB,KAAK,KAAK;gBACN,OAAO,iBAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACpC,KAAK,MAAM;gBACP,OAAO,iBAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACvC;gBACI,OAAO,SAAS,CAAC;SACxB;IACL,CAAC;IAKD,KAAK,CAAC,OAAO,CAAC,GAA0B,EAAE,IAAuB;QAC7D,MAAM,MAAM,GAAG,iBAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnC,mBAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,uCAAuC,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,mBAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,4BAA4B,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAEtD,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC9D,QAAQ,IAAI,CAAC,QAAQ,EAAE;YACnB,KAAK,KAAK;gBACN,OAAO,iBAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACpC,KAAK,MAAM;gBACP,OAAO,iBAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC/C;gBACI,OAAO,SAAS,CAAC;SACxB;IACL,CAAC;IAMO,KAAK,CAAC,aAAa,CAAE,MAAsC;QAC/D,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,SAAG,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE;YAChE,IAAI,MAAM,GAAG,iBAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACxC,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACzC;QACD,OAAO,iBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;CACJ;AAED,IAAU,aAAa,CA8DtB;AA9DD,WAAU,aAAa;IACnB,MAAa,SAAU,SAAQ,UAAU;QAAzC;;YACI,WAAM,GAAG,MAAM,CAAC;QA2DpB,CAAC;QAzDG,WAAW,CAAC,IAAY;YACpB,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC7C,OAAO,GAAG,CAAC;QACf,CAAC;QACD,UAAU;YACN,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAyD,CAAC;QAC3F,CAAC;QACD,UAAU,CAAC,KAAa;YACpB,uCAAuC;YACvC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC9C,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,MAAkB,EAAE,MAAkB;YACrD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAChC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAC/C;gBACI,IAAI,EAAE,SAAS;gBACf,EAAE;aACL,EACD,GAAG,EACH,MAAM,CACT,CAAC;YACF,MAAM,SAAS,GAAG,iBAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACnE,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,MAAkB,EAAE,MAAkB;YAErD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAEnC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CACtC;gBACE,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,EAAE;aACP,EACD,GAAG,EACH,SAAS,CACV,CAAC;YACJ,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QACO,KAAK,CAAC,iBAAiB,CAAC,MAAkB;YAE9C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE;gBAChE,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,GAAG;aACd,EACG,IAAI,EACJ,CAAC,SAAS,EAAE,SAAS,CAAC,CACzB,CAAC;YACF,OAAO,SAAS,CAAC;QACrB,CAAC;QACS,KAAK,CAAC,WAAW,CAAC,MAAkB;YAC1C,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAClE,OAAO,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;KACJ;IA5DY,uBAAS,YA4DrB,CAAA;AACL,CAAC,EA9DS,aAAa,KAAb,aAAa,QA8DtB;AAED,IAAU,cAAc,CAuCvB;AAvCD,WAAU,cAAc;IACpB,MAAa,UAAW,SAAQ,UAAU;QAA1C;;YACI,WAAM,GAA4B,OAAO,CAAC,QAAQ,CAAC,CAAC;QAoCxD,CAAC;QAlCG,WAAW,CAAC,IAAY;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC5C,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,UAAU;YACN,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAyD,CAAC;QAC3F,CAAC;QACD,UAAU,CAAC,KAAa;YACpB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QAES,KAAK,CAAC,YAAY,CAAC,MAAkB,EAAE,MAAkB;YAC/D,mBAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,uCAAuC,CAAC,CAAC;YAEvE,MAAM,GAAG,GAAG,MAAM,CAAC;YACnB,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAEhE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,SAAS,GAAG,iBAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACnE,OAAO,SAAS,CAAC;QACrB,CAAC;QACS,KAAK,CAAC,YAAY,CAAC,MAAkB,EAAE,MAAkB;YAC/D,MAAM,GAAG,GAAG,MAAM,CAAC;YACnB,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YACpE,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,iBAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC9E,OAAO,MAAM,CAAC;QAClB,CAAC;QAES,KAAK,CAAC,WAAW,CAAC,MAAkB;YAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAA;QACnE,CAAC;KACJ;IArCY,yBAAU,aAqCtB,CAAA;AACL,CAAC,EAvCS,cAAc,KAAd,cAAc,QAuCvB;AAEY,QAAA,OAAO,GAAY,OAAO,MAAM,KAAK,WAAW;IACzD,CAAC,CAAC,IAAI,cAAc,CAAC,UAAU,EAAE;IACjC,CAAC,CAAC,IAAI,aAAa,CAAC,SAAS,EAAE,CAC9B;AAEQ,QAAA,WAAW,GAAG;IACvB,GAAG,EAAE,aAAa,CAAC,SAAS;IAC5B,IAAI,EAAE,cAAc,CAAC,UAAU;CAClC,CAAC;AAGF,IAAU,KAAK,CAOd;AAPD,WAAU,KAAK;IACX,SAAgB,QAAQ,CAAE,GAAmC;QACzD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,SAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;YAC1D,OAAO,iBAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SAClC;QACD,OAAO,iBAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IALe,cAAQ,WAKvB,CAAA;AACL,CAAC,EAPS,KAAK,KAAL,KAAK,QAOd"}
@@ -1 +1 @@
1
- {"version":3,"file":"$hex.js","sourceRoot":"","sources":["../../../src/utils/$hex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"$hex.js","sourceRoot":"","sources":["../../../src/utils/$hex.ts"],"names":[],"mappings":"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"}
@@ -22,12 +22,23 @@ export var $hex;
22
22
  * Trims '00' bytes from start or end, e.g. 0x68656c6c6f000000 => 0x68656c6c6f
23
23
  */
24
24
  function trimBytes(hex) {
25
- if (hex.startsWith('0x00') === false && hex.endsWith('00') === false) {
25
+ return trimBytesEnd(trimBytesStart(hex));
26
+ }
27
+ $hex.trimBytes = trimBytes;
28
+ function trimBytesStart(hex) {
29
+ if (hex.startsWith('0x00') === false) {
26
30
  return hex;
27
31
  }
28
- return hex.replace(/^0x(0{2})+/, '0x').replace(/(0{2})+$/, '');
32
+ return hex.replace(/^0x(0{2})+/, '0x');
29
33
  }
30
- $hex.trimBytes = trimBytes;
34
+ $hex.trimBytesStart = trimBytesStart;
35
+ function trimBytesEnd(hex) {
36
+ if (hex.endsWith('00') === false) {
37
+ return hex;
38
+ }
39
+ return hex.replace(/(0{2})+$/, '');
40
+ }
41
+ $hex.trimBytesEnd = trimBytesEnd;
31
42
  function trimLeadingZerosFromNumber(hex) {
32
43
  hex = hex.replace(/^0x0*/, '');
33
44
  return hex === '' ? '0x0' : `0x${hex}`;
@@ -130,6 +141,7 @@ export var $hex;
130
141
  if (typeof mix === 'boolean') {
131
142
  return mix ? '0x1' : '0x0';
132
143
  }
144
+ $require.match(/^(0x)?[\da-f]*$/i, mix, 'NotValidHex');
133
145
  if (mix.startsWith('0x')) {
134
146
  return mix;
135
147
  }
@@ -2,15 +2,17 @@ import { TAbiInput } from '../types/TAbi';
2
2
  import { ParamType } from './fragments';
3
3
  import { TEth } from '../models/TEth';
4
4
  export declare namespace $abiCoder {
5
- function encode(types: (string | ParamType | TAbiInput)[], values: any[]): TEth.Hex;
6
- function encodeSingle(type: (string | ParamType | TAbiInput), value: any): TEth.Hex;
7
- function encodePacked(types: string[], values: any[]): TEth.Hex;
8
- function decode(types: (string | ParamType | TAbiInput)[], hex: string, opts?: {
5
+ type TAbiType = string | ParamType | TAbiInput;
6
+ type TDecodeOptions = {
9
7
  loose?: boolean;
10
8
  dynamic?: boolean;
11
- }): any;
12
- function decodeSingle(type: (string | ParamType | TAbiInput), hex: string, opts?: {
13
- loose?: boolean;
14
- dynamic?: boolean;
15
- }): any;
9
+ };
10
+ export function encode(types: TAbiType, values: any): TEth.Hex;
11
+ export function encode(types: TAbiType[], values: any[]): TEth.Hex;
12
+ export function encodeSingle(type: TAbiType, value: any): TEth.Hex;
13
+ export function encodePacked(types: string[], values: any[]): TEth.Hex;
14
+ export function decode(types: TAbiType, hex: string, opts?: TDecodeOptions): any;
15
+ export function decode(types: TAbiType[], hex: string, opts?: TDecodeOptions): any[];
16
+ export function decodeSingle(type: TAbiType, hex: string, opts?: TDecodeOptions): any;
17
+ export {};
16
18
  }
@@ -53,6 +53,8 @@ export interface IPoolWeb3Request {
53
53
  method?: string;
54
54
  batchRequestCount?: number;
55
55
  blockRangeCount?: number;
56
+ /** Try another node when the RPC succeeds but returns null, e.g. tx not found on one provider. */
57
+ tryNextOnNull?: boolean;
56
58
  }
57
59
  export declare class ClientPool {
58
60
  private discoveredPartial;
@@ -37,6 +37,9 @@ export declare abstract class Web3Client implements IWeb3Client {
37
37
  batch(requests: TRpc.IRpcAction[], options?: {
38
38
  allowErrors?: boolean;
39
39
  }): Promise<any[]>;
40
+ batchContractCalls(requests: TRpcContractCall[], options?: {
41
+ allowErrors?: boolean;
42
+ }): Promise<any[]>;
40
43
  getEventStream(address: TEth.Address, abi: TAbiItem[], event: string): ClientEventsStream<any>;
41
44
  with<TResult>(fn: (wClient: WClient) => Promise<TResult>): Promise<TResult>;
42
45
  getWeb3(options?: IPoolWeb3Request): Promise<void>;
@@ -86,7 +89,7 @@ export declare abstract class Web3Client implements IWeb3Client {
86
89
  chainId: number | string;
87
90
  }, options: IPoolWeb3Request): Promise<void>;
88
91
  sendSignedTransaction(signedTxBuffer: TEth.Hex): PromiseEvent<TEth.TxReceipt>;
89
- sign(address: TEth.Address, message: string): Promise<string>;
92
+ sign(address: TEth.Address, message: string): Promise<TEth.Hex>;
90
93
  signTypedData(address: TEth.Address, typedData: DataLike<RpcTypes.TypedData>): Promise<TEth.Hex>;
91
94
  sendTransaction(data: TEth.TxLike): PromiseEvent<TEth.TxReceipt>;
92
95
  getBlockNumber(): Promise<number>;
@@ -1,8 +1,9 @@
1
1
  import { TPlatform } from '../models/TPlatform';
2
2
  import { IWeb3EndpointOptions } from './interfaces/IWeb3EndpointOptions';
3
3
  import { EvmWeb3Client } from './EvmWeb3Client';
4
+ import type { HardhatWeb3Client } from '../hardhat/HardhatWeb3Client';
4
5
  export declare namespace Web3ClientFactory {
5
- function get(platform: TPlatform | number, opts?: IWeb3EndpointOptions): import("../hardhat/HardhatWeb3Client").HardhatWeb3Client | EvmWeb3Client;
6
+ function get<TClient extends EvmWeb3Client | HardhatWeb3Client = EvmWeb3Client>(platform: TPlatform | number, opts?: IWeb3EndpointOptions): TClient;
6
7
  /** Same as the sync variant, but ensures the config is fetched */
7
- function getAsync(platform: TPlatform | string | number, opts?: IWeb3EndpointOptions): Promise<import("../hardhat/HardhatWeb3Client").HardhatWeb3Client | EvmWeb3Client>;
8
+ function getAsync<TClient extends EvmWeb3Client | HardhatWeb3Client = EvmWeb3Client>(platform: TPlatform | string | number, opts?: IWeb3EndpointOptions): Promise<TClient>;
8
9
  }
@@ -2,5 +2,6 @@ export declare enum ClientStatus {
2
2
  Ok = 200,
3
3
  NetworkError = 500,
4
4
  RateLimited = 501,
5
+ NodeConfigurationError = 502,
5
6
  CallError = 400
6
7
  }
@@ -3,6 +3,10 @@ export declare namespace ClientErrorUtil {
3
3
  code?: any;
4
4
  reason?: any;
5
5
  }): boolean;
6
+ function isNodeConfigurationError(error: Error & {
7
+ code?: any;
8
+ reason?: any;
9
+ }): boolean;
6
10
  function isAlreadyKnown(error: Error & {
7
11
  code?: any;
8
12
  reason?: any;
@@ -56,7 +56,7 @@ export declare abstract class ContractBase {
56
56
  from?: TAddress;
57
57
  }): any;
58
58
  $gas(): any;
59
- $req(): { [K in keyof this]: this[K] extends (...any: any[]) => Promise<any> ? (...params: Parameters<this[K]>) => ContractReaderUtils.IContractReadParams<Awaited<ReturnType<this[K]>>> : never; };
59
+ $req(): { [K in keyof this]: this[K] extends (...any: any[]) => Promise<any> ? (...params: Parameters<this[K]>) => Promise<ContractReaderUtils.IContractReadParams<Awaited<ReturnType<this[K]>>>> : never; };
60
60
  $signed(builderConfig?: ITxBuilderOptions, writerConfig?: ITxWriterOptions): any;
61
61
  private $signedCreate;
62
62
  $receipt<T extends this>(this: T): T;
@@ -4,6 +4,6 @@ export declare namespace FnRequestWrapper {
4
4
  function create<T extends ContractBase>($base: T): TRequests<T>;
5
5
  }
6
6
  type TRequests<T extends ContractBase> = {
7
- [K in keyof T]: T[K] extends (...any: any[]) => Promise<any> ? (...params: Parameters<T[K]>) => ContractReaderUtils.IContractReadParams<Awaited<ReturnType<T[K]>>> : never;
7
+ [K in keyof T]: T[K] extends (...any: any[]) => Promise<any> ? (...params: Parameters<T[K]>) => Promise<ContractReaderUtils.IContractReadParams<Awaited<ReturnType<T[K]>>>> : never;
8
8
  };
9
9
  export {};
@@ -45,7 +45,7 @@ export interface TimelockAccount extends IAccount {
45
45
  type: 'timelock';
46
46
  provider?: 'default' | string;
47
47
  platform: TPlatform;
48
- operator: EoAccount;
48
+ operator: IAccount;
49
49
  }
50
50
  export type TAccount = string | IAccount | EoAccount | SafeAccount | Erc4337Account;
51
51
  export {};
@@ -22,6 +22,7 @@ export declare abstract class RpcBase {
22
22
  private _unwrapBody;
23
23
  private _deserialize;
24
24
  protected abstract returnSchemas: any;
25
+ static unwrapBody(resp: any): any;
25
26
  }
26
27
  export declare namespace TRpc {
27
28
  interface IRpc {
@@ -8,5 +8,11 @@ export declare namespace $abiParser {
8
8
  * function foo(uint256) returns (address)
9
9
  */
10
10
  function parseMethod(methodAbi: string): TAbiItem;
11
+ /**
12
+ * Parses Solidity struct declarations into a tuple ABI component.
13
+ * Supports multiple declarations so later structs can reference earlier ones,
14
+ * and returns the ABI component for the last struct in the input.
15
+ */
16
+ function parseStruct(struct: string): TAbiItem;
11
17
  function parseArguments(line: string): TAbiInput[];
12
18
  }
@@ -3,6 +3,9 @@ interface ICrypto {
3
3
  randomBytes(size: number): Uint8Array;
4
4
  randomUUID(): `${string}-${string}-${string}-${string}-${string}`;
5
5
  createECDH(curve: string): any;
6
+ sha256(mix: string | TEth.Hex | Uint8Array, opts?: {
7
+ encoding: 'hex';
8
+ }): Promise<TEth.Hex>;
6
9
  sha256(mix: string | TEth.Hex | Uint8Array): Promise<Uint8Array>;
7
10
  encrypt(buffer: string | TEth.Hex | Uint8Array, opts: IEncryptionParams & {
8
11
  encoding?: undefined | 'binary';
@@ -13,6 +13,8 @@ export declare namespace $hex {
13
13
  * Trims '00' bytes from start or end, e.g. 0x68656c6c6f000000 => 0x68656c6c6f
14
14
  */
15
15
  function trimBytes(hex: TEth.Hex): TEth.Hex;
16
+ function trimBytesStart(hex: TEth.Hex): TEth.Hex;
17
+ function trimBytesEnd(hex: TEth.Hex): TEth.Hex;
16
18
  function trimLeadingZerosFromNumber(hex: string): string;
17
19
  function getBytes(hex: string, offset: number, length: number): TEth.Hex;
18
20
  function getBytesLength(hex: string): number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dequanto",
3
- "version": "0.2.46",
3
+ "version": "0.2.48",
4
4
  "author": {
5
5
  "name": "Alex Kit",
6
6
  "email": "alex.kit@atmajs.com"
@@ -6,11 +6,24 @@ import { TEth } from '@dequanto/models/TEth';
6
6
  import { $abiParser } from '@dequanto/utils/$abiParser';
7
7
 
8
8
  export namespace $abiCoder {
9
- export function encode(types: (string | ParamType | TAbiInput)[], values: any[]): TEth.Hex {
9
+
10
+ type TAbiType = string | ParamType | TAbiInput;
11
+ type TDecodeOptions = {
12
+ loose?: boolean
13
+ dynamic?: boolean
14
+ };
15
+
16
+ export function encode(types: TAbiType, values: any): TEth.Hex
17
+ export function encode(types: TAbiType[], values: any[]): TEth.Hex
18
+ export function encode(types: TAbiType | TAbiType[], values: any | any[]): TEth.Hex {
19
+ if (Array.isArray(types) == false) {
20
+ return encodeSingle(types, values)
21
+ }
10
22
  let coder = new AbiCoder();
11
23
  return coder.encode(types, values) as TEth.Hex;
12
24
  }
13
- export function encodeSingle(type: (string | ParamType | TAbiInput), value: any): TEth.Hex {
25
+ export function encodeSingle(type: TAbiType, value: any): TEth.Hex {
26
+ type = normalizeType(type);
14
27
  let coder = new AbiCoder();
15
28
  return coder.encodeSingle(type, value) as TEth.Hex;
16
29
  }
@@ -19,20 +32,20 @@ export namespace $abiCoder {
19
32
  return solidityPacked(types, values) as TEth.Hex;
20
33
  }
21
34
 
22
- export function decode(types: (string | ParamType | TAbiInput)[], hex: string, opts?: {
23
- loose?: boolean
24
- dynamic?: boolean
25
- }): any {
35
+ export function decode(types: TAbiType, hex: string, opts?: TDecodeOptions): any
36
+ export function decode(types: TAbiType[], hex: string, opts?: TDecodeOptions): any[]
37
+ export function decode(types: TAbiType| TAbiType[], hex: string, opts?: TDecodeOptions): any {
38
+ if (Array.isArray(types) == false) {
39
+ return decodeSingle(types, hex, opts)
40
+ }
26
41
  let coder = new AbiCoder();
27
42
  let arr = coder.decode(types, hex, opts);
28
43
  return arr.map((x, i) => {
29
44
  return unwrap(types[i] as TAbiInput, x);
30
45
  });
31
46
  }
32
- export function decodeSingle(type: (string | ParamType | TAbiInput), hex: string, opts?: {
33
- loose?: boolean
34
- dynamic?: boolean
35
- }): any {
47
+ export function decodeSingle(type: TAbiType, hex: string, opts?: TDecodeOptions): any {
48
+ type = normalizeType(type);
36
49
  let coder = new AbiCoder();
37
50
  let x = coder.decodeSingle(type, hex, opts);
38
51
  return unwrap(type as TAbiInput, x);
@@ -72,4 +85,12 @@ export namespace $abiCoder {
72
85
  }
73
86
  return mixValue;
74
87
  }
88
+
89
+
90
+ function normalizeType (type: TAbiType) {
91
+ if (typeof type === 'string' && /\bstruct /.test(type)) {
92
+ return $abiParser.parseStruct(type);
93
+ }
94
+ return type;
95
+ }
75
96
  }
@@ -93,6 +93,9 @@ export interface IPoolWeb3Request {
93
93
 
94
94
  // When fetching logs, specifies the desired block range to query
95
95
  blockRangeCount?: number
96
+
97
+ /** Try another node when the RPC succeeds but returns null, e.g. tx not found on one provider. */
98
+ tryNextOnNull?: boolean
96
99
  }
97
100
 
98
101
  export class ClientPool {
@@ -156,12 +159,18 @@ export class ClientPool {
156
159
  // Client - Retries
157
160
  let used = new Map<WClient, number>();
158
161
  let errors = [];
162
+ let dataIsNull: boolean;
159
163
 
160
164
  while (true) {
161
165
  let wClient = await this.next(used, opts);
162
166
  if (wClient == null) {
163
167
  let error = errors.pop();
164
168
  if (error == null) {
169
+ if (dataIsNull) {
170
+ // No provider returned an error, but none found the requested data
171
+ return null;
172
+ }
173
+
165
174
  let urls = this
166
175
  .clients
167
176
  .map(x => ` ${x.config.url}`)
@@ -182,7 +191,6 @@ export class ClientPool {
182
191
  ?.trace
183
192
  ?.onComplete({ status, error, time, url: wClient.config.url })
184
193
 
185
-
186
194
  if (wClientUsage == null) {
187
195
  // By default, NO_RETRIES
188
196
  used.set(wClient, 0);
@@ -194,6 +202,12 @@ export class ClientPool {
194
202
  errors.push(error ?? result);
195
203
 
196
204
  if (status == ClientStatus.Ok) {
205
+ if (opts?.tryNextOnNull === true) {
206
+ if (result == null) {
207
+ dataIsNull = true;
208
+ continue;
209
+ }
210
+ }
197
211
  return result;
198
212
  }
199
213
  if (status == ClientStatus.RateLimited) {
@@ -994,6 +1008,8 @@ export class WClient {
994
1008
  l`yellow<New BatchLimit> for "${this.config.url}" bold<${limit}>`;
995
1009
  this.batchLimit = limit;
996
1010
  }
1011
+ } else if (ClientErrorUtil.isNodeConfigurationError(error)) {
1012
+ status = ClientStatus.NodeConfigurationError;
997
1013
  } else if (ClientErrorUtil.isConnectionFailed(error)) {
998
1014
  status = ClientStatus.NetworkError;
999
1015
  }
@@ -97,6 +97,8 @@ export abstract class Web3Client implements IWeb3Client {
97
97
  });
98
98
  }
99
99
 
100
+ // Low-level batch for raw RPC calls.
101
+ // For contract batch calls, use batchContractCalls to decode the responses.
100
102
  async batch(requests: TRpc.IRpcAction[], options?: {
101
103
  allowErrors?: boolean
102
104
  }): Promise<any[]> {
@@ -105,6 +107,15 @@ export abstract class Web3Client implements IWeb3Client {
105
107
  });
106
108
  }
107
109
 
110
+ // Submit contract calls in a batch and decode the responses.
111
+ async batchContractCalls(requests: TRpcContractCall[], options?: {
112
+ allowErrors?: boolean
113
+ }) {
114
+ let reader = new RpcContract(this);
115
+ let result = await reader.batch(requests, options);
116
+ return result;
117
+ }
118
+
108
119
  getEventStream(address: TEth.Address, abi: TAbiItem[], event: string) {
109
120
  let eventAbi = abi.find(x => x.type === 'event' && x.name === event);
110
121
  if (eventAbi == null) {
@@ -189,12 +200,11 @@ export abstract class Web3Client implements IWeb3Client {
189
200
  return result;
190
201
  }
191
202
 
203
+ // Alias for batchContractCalls.
192
204
  async readContractBatch(requests: TRpcContractCall[], options?: {
193
205
  allowErrors?: boolean
194
206
  }) {
195
- let reader = new RpcContract(this);
196
- let result = await reader.batch(requests, options);
197
- return result;
207
+ return this.batchContractCalls(requests, options);
198
208
  }
199
209
 
200
210
 
@@ -227,7 +237,10 @@ export abstract class Web3Client implements IWeb3Client {
227
237
  getTransaction(txHash: TEth.Hex, opts?: IPoolWeb3Request): Promise<TEth.Tx> {
228
238
  return this.pool.call(web3 => {
229
239
  return web3.rpc.eth_getTransactionByHash(txHash);
230
- }, opts);
240
+ }, {
241
+ tryNextOnNull: true,
242
+ ...(opts ?? {})
243
+ });
231
244
  }
232
245
  getTransactions(txHashes: TEth.Hex[], opts?: IPoolWeb3Request): Promise<TEth.Tx[]> {
233
246
  return this.pool.call(async web3 => {
@@ -409,12 +422,12 @@ export abstract class Web3Client implements IWeb3Client {
409
422
  // return tx;
410
423
  // }
411
424
 
412
- async sign(address: TEth.Address, message: string): Promise<string> {
425
+ async sign(address: TEth.Address, message: string): Promise<TEth.Hex> {
413
426
  if (this.wallet.isConnected(address)) {
414
- return this.wallet.eth_sign(address, message);
427
+ return this.wallet.eth_sign(address, message) as Promise<TEth.Hex>;
415
428
  }
416
429
  return this.pool.call(wClient => {
417
- return wClient.sign(address, message);
430
+ return wClient.sign(address, message) as Promise<TEth.Hex>;
418
431
  }, {
419
432
  wallet: true
420
433
  });