@artblocks/abx-sdk 0.1.0-alpha.0
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.
- package/LICENSE +21 -0
- package/dist/abi/generated.d.ts +6185 -0
- package/dist/abi/generated.d.ts.map +1 -0
- package/dist/abi/generated.js +28 -0
- package/dist/abi/generated.js.map +1 -0
- package/dist/abi/index.d.ts +3227 -0
- package/dist/abi/index.d.ts.map +1 -0
- package/dist/abi/index.js +38 -0
- package/dist/abi/index.js.map +1 -0
- package/dist/chains.d.ts +27 -0
- package/dist/chains.d.ts.map +1 -0
- package/dist/chains.js +71 -0
- package/dist/chains.js.map +1 -0
- package/dist/chunks.d.ts +168 -0
- package/dist/chunks.d.ts.map +1 -0
- package/dist/chunks.js +232 -0
- package/dist/chunks.js.map +1 -0
- package/dist/clients.d.ts +42 -0
- package/dist/clients.d.ts.map +1 -0
- package/dist/clients.js +90 -0
- package/dist/clients.js.map +1 -0
- package/dist/create2.d.ts +42 -0
- package/dist/create2.d.ts.map +1 -0
- package/dist/create2.js +47 -0
- package/dist/create2.js.map +1 -0
- package/dist/deploy.d.ts +192 -0
- package/dist/deploy.d.ts.map +1 -0
- package/dist/deploy.js +231 -0
- package/dist/deploy.js.map +1 -0
- package/dist/deployments.d.ts +60 -0
- package/dist/deployments.d.ts.map +1 -0
- package/dist/deployments.js +81 -0
- package/dist/deployments.js.map +1 -0
- package/dist/deps.d.ts +109 -0
- package/dist/deps.d.ts.map +1 -0
- package/dist/deps.js +103 -0
- package/dist/deps.js.map +1 -0
- package/dist/env.d.ts +2 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +45 -0
- package/dist/env.js.map +1 -0
- package/dist/fastlz.d.ts +20 -0
- package/dist/fastlz.d.ts.map +1 -0
- package/dist/fastlz.js +123 -0
- package/dist/fastlz.js.map +1 -0
- package/dist/generator.d.ts +129 -0
- package/dist/generator.d.ts.map +1 -0
- package/dist/generator.js +81 -0
- package/dist/generator.js.map +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/ops.d.ts +379 -0
- package/dist/ops.d.ts.map +1 -0
- package/dist/ops.js +811 -0
- package/dist/ops.js.map +1 -0
- package/dist/probe.d.ts +30 -0
- package/dist/probe.d.ts.map +1 -0
- package/dist/probe.js +74 -0
- package/dist/probe.js.map +1 -0
- package/dist/reconstruct.d.ts +97 -0
- package/dist/reconstruct.d.ts.map +1 -0
- package/dist/reconstruct.js +597 -0
- package/dist/reconstruct.js.map +1 -0
- package/dist/spine.d.ts +110 -0
- package/dist/spine.d.ts.map +1 -0
- package/dist/spine.js +0 -0
- package/dist/spine.js.map +1 -0
- package/dist/token.d.ts +33 -0
- package/dist/token.d.ts.map +1 -0
- package/dist/token.js +66 -0
- package/dist/token.js.map +1 -0
- package/dist/tokendata.d.ts +50 -0
- package/dist/tokendata.d.ts.map +1 -0
- package/dist/tokendata.js +178 -0
- package/dist/tokendata.js.map +1 -0
- package/dist/traits.d.ts +38 -0
- package/dist/traits.d.ts.map +1 -0
- package/dist/traits.js +92 -0
- package/dist/traits.js.map +1 -0
- package/dist/types.d.ts +145 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +53 -0
package/dist/ops.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ops.js","sourceRoot":"","sources":["../src/ops.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAE,KAAK,EAAE,WAAW,EAAyB,MAAM,MAAM,CAAC;AACpF,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,4BAA4B,EAC5B,cAAc,EACd,qBAAqB,EACrB,0BAA0B,EAC1B,2BAA2B,EAC3B,sBAAsB,EACtB,2BAA2B,EAC3B,aAAa,EACb,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AAsBrC,MAAM,UAAU,GAAG,KAAc,CAAC;AAElC,SAAS,KAAK,CAAC,IAAY;IACzB,OAAO,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3E,CAAC;AAED;;sBAEsB;AACtB,MAAM,aAAa,GAAG;IACpB;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW;QACjB,eAAe,EAAE,SAAS;QAC1B,MAAM,EAAE,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC;QACzC,OAAO,EAAE,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC;KAC9C;CACO,CAAC;AAEX;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAIhC;IACC,MAAM,EAAC,GAAG,EAAC,GAAG,IAAI,CAAC;IACnB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC3E,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrB,IAAI,EAAE,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC1F,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,wHAAwH,CACzH,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,EAAE,+CAA+C,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IACD,OAAO;QACL,EAAE,EAAE,WAAW;QACf,EAAE;QACF,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,aAAa;YAClB,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC/B,CAAC;QACF,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO;QACvC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS,GAAG,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACjG,MAAM,EAAE,EAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAC;KACzF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAiB;IACxC,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,IAAI,GAAG,GAAiB,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAClC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAC,GAAG,EAAE,GAAG,EAAC,CAAC,CAAC,CAAC;QAChE,GAAG,GAAG,EAAE,CAAC;IACX,CAAC,CAAC;IACF,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,KAAK,KAAK,UAAU,CAAC;QAC5D,IAAI,SAAS,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YACvD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;aAAM,CAAC;YACN,KAAK,EAAE,CAAC;YACR,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,yCAAyC;QACzE,CAAC;IACH,CAAC;IACD,KAAK,EAAE,CAAC;IACR,OAAO,GAAG,CAAC;AACb,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,eAAe,CAAC,IAM/B;IACC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,OAAO;QACL,EAAE,EAAE,UAAU;QACd,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,gBAAgB;YACrB,YAAY,EAAE,kBAAkB;YAChC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;SAC/B,CAAC;QACF,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QACpD,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAC;KACxF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,IAAuD;IACjF,OAAO;QACL,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC,EAAC,GAAG,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAC,CAAC;QACxF,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,+FAA+F;QAC/F,gGAAgG;QAChG,wDAAwD;QACxD,OAAO,EAAE,yBAAyB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QAClD,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,eAAe,EAAC;KACvE,CAAC;AACJ,CAAC;AAED;;0CAE0C;AAC1C,MAAM,UAAU,sBAAsB,CAAC,IAAwD;IAC7F,OAAO;QACL,EAAE,EAAE,oBAAoB;QACxB,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC,EAAC,GAAG,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC;QACrG,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,uBAAuB,IAAI,CAAC,IAAI,EAAE;QAC3C,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,EAAC;KAC3D,CAAC;AACJ,CAAC;AAED;oFACoF;AACpF,MAAM,UAAU,0BAA0B,CAAC,IAK1C;IACC,OAAO;QACL,EAAE,EAAE,wBAAwB;QAC5B,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,gBAAgB;YACrB,YAAY,EAAE,qBAAqB;YACnC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC;SACvC,CAAC;QACF,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,GAAG;YACf,CAAC,CAAC,0BAA0B,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,GAAG,EAAE;YACxD,CAAC,CAAC,4BAA4B,IAAI,CAAC,OAAO,EAAE;QAC9C,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,GAAG,EAAC;KAC7F,CAAC;AACJ,CAAC;AAED;8DAC8D;AAC9D,MAAM,UAAU,yBAAyB,CAAC,IAAwD;IAChG,OAAO;QACL,EAAE,EAAE,uBAAuB;QAC3B,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC,EAAC,GAAG,EAAE,gBAAgB,EAAE,YAAY,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC;QACxG,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,0BAA0B,IAAI,CAAC,IAAI,EAAE;QAC9C,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAC;KAC9D,CAAC;AACJ,CAAC;AAED;uDACuD;AACvD,MAAM,UAAU,6BAA6B,CAAC,IAAuD;IACnG,OAAO;QACL,EAAE,EAAE,2BAA2B;QAC/B,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC,EAAC,GAAG,EAAE,gBAAgB,EAAE,YAAY,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAC,CAAC;QAC3G,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,8BAA8B,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,4BAA4B;QAC3F,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,mBAAmB,EAAE,IAAI,CAAC,GAAG,EAAC;KACjE,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAI1C;IACC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,KAAK,WAAW,CAAC;IAC9C,OAAO;QACL,EAAE,EAAE,wBAAwB;QAC5B,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,gBAAgB;YACrB,YAAY,EAAE,qBAAqB;YACnC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;SACtB,CAAC;QACF,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,iCAAiC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,6CAA6C;QAC1H,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC;KAC3D,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,6BAA6B,CAAC,IAI7C;IACC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,KAAK,WAAW,CAAC;IAC9C,OAAO;QACL,EAAE,EAAE,2BAA2B;QAC/B,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,gBAAgB;YACrB,YAAY,EAAE,wBAAwB;YACtC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;SACtB,CAAC;QACF,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,oCAAoC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,gDAAgD;QAChI,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC;KAC3D,CAAC;AACJ,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,mBAAmB,CAAC,IAA0C;IAC5E,OAAO;QACL,EAAE,EAAE,gBAAgB;QACpB,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC,EAAC,GAAG,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAC,CAAC;QACzF,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,6DAA6D;QACtE,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC;KAClC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,sBAAsB,CAAC,IAA0C;IAC/E,OAAO;QACL,EAAE,EAAE,mBAAmB;QACvB,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC,EAAC,GAAG,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAC,CAAC;QAC5F,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,gEAAgE;QACzE,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC;KAClC,CAAC;AACJ,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,iBAAiB,CAAC,IAKjC;IACC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACzG,OAAO;QACL,EAAE,EAAE,aAAa;QACjB,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,gBAAgB;YACrB,YAAY,EAAE,mBAAmB;YACjC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC;SAChC,CAAC;QACF,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QACnF,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAC;KAClF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAOpC;IACC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,OAAO;QACL,EAAE,EAAE,WAAW;QACf,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,gBAAgB;YACrB,YAAY,EAAE,eAAe;YAC7B,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;SAC9E,CAAC;QACF,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,gBAAgB,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,cAAc,gBAAgB,EAAE,EAAE;QAC/E,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC;KACrI,CAAC;AACJ,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,qBAAqB,CAAC,IAKrC;IACC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,OAAO;QACL,EAAE,EAAE,YAAY;QAChB,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC,EAAC,GAAG,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAC,CAAC;QACpH,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,eAAe,EAAE,WAAW,IAAI,CAAC,KAAK,eAAe;QAC9D,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC;KAC7E,CAAC;AACJ,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,uBAAuB,CAAC,IAMvC;IACC,OAAO;QACL,EAAE,EAAE,sBAAsB;QAC1B,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,gBAAgB;YACrB,YAAY,EAAE,kBAAkB;YAChC,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;SAC1E,CAAC;QACF,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,2BAA2B,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,cAAc,GAAG;QACzE,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC;KAC7G,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,wBAAwB,CAAC,IAAyD;IAChG,OAAO;QACL,EAAE,EAAE,uBAAuB;QAC3B,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC,EAAC,GAAG,EAAE,gBAAgB,EAAE,YAAY,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAC,CAAC;QACnH,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,0BAA0B,IAAI,CAAC,KAAK,eAAe;QAC5D,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC;KACrD,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,wBAAwB,CAAC,IAIxC;IACC,OAAO;QACL,EAAE,EAAE,WAAW;QACf,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC,EAAC,GAAG,EAAE,gBAAgB,EAAE,YAAY,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,CAAC;QAC3G,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,iCAAiC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAChE,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC;KAC3D,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAMrC;IACC,OAAO;QACL,EAAE,EAAE,QAAQ;QACZ,EAAE,EAAE,IAAI,CAAC,OAAO;QAChB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,uBAAuB;YAC5B,YAAY,EAAE,qBAAqB;YACnC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAe,EAAE,IAAI,CAAC,IAAI,CAAC;SACxC,CAAC;QACF,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,WAAW,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,IAAI,CAAC,KAAK,EAAE;QACvD,MAAM,EAAE;YACN,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;SACzB;KACF,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,oBAAoB,CAAC,IAAuB;IAC1D,OAAO;QACL,EAAE,EAAE,gBAAgB;QACpB,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,4BAA4B;QAClC,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,mDAAmD;QAC5D,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,qBAAqB,CAAC,IAAuB;IAC3D,OAAO;QACL,EAAE,EAAE,iBAAiB;QACrB,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,2BAA2B;QACjC,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,iDAAiD;QAC1D,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,0FAA0F;AAC1F,6FAA6F;AAE7F;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAuD;IACvF,OAAO;QACL,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC,EAAC,GAAG,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAC,CAAC;QACtF,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,gCAAgC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QACzD,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAC;KAC/C,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,qBAAqB,CAAC,IAKrC;IACC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO;QACL,EAAE,EAAE,WAAW;QACf,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,cAAc;YACnB,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpC,CAAC;QACF,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,QAAQ,CAAC,wBAAwB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QAC1D,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAC;KACjE,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAA2D;IAC1F,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC;IAC7C,OAAO;QACL,EAAE,EAAE,YAAY;QAChB,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC,EAAC,GAAG,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAC,CAAC;QAC/F,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,2BAA2B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QAChH,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC;KACvD,CAAC;AACJ,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,wBAAwB,CAAC,IAIxC;IACC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACxC,OAAO;QACL,EAAE,EAAE,qBAAqB;QACzB,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC,EAAC,GAAG,EAAE,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAC,CAAC;QAC/F,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,yBAAyB,GAAG,EAAE;QACvC,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAC;KAClE,CAAC;AACJ,CAAC;AAED;mEACmE;AACnE,MAAM,UAAU,gBAAgB,CAAC,IAA2D;IAC1F,OAAO;QACL,EAAE,EAAE,YAAY;QAChB,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC,EAAC,GAAG,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAC,CAAC;QAC/F,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC,CAAC,sCAAsC;QAC3G,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAC;KAC/D,CAAC;AACJ,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,sBAAsB,CAAC,IAA0D;IAC/F,OAAO;QACL,EAAE,EAAE,mBAAmB;QACvB,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC,EAAC,GAAG,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAC,CAAC;QACpG,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,uBAAuB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB;QACxG,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,EAAC;KAC5D,CAAC;AACJ,CAAC;AAED,gHAAgH;AAChH,MAAM,UAAU,mBAAmB,CAAC,IAMnC;IACC,OAAO;QACL,EAAE,EAAE,eAAe;QACnB,EAAE,EAAE,IAAI,CAAC,OAAO;QAChB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,qBAAqB;YAC1B,YAAY,EAAE,qBAAqB;YACnC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAe,EAAE,IAAI,CAAC,IAAI,CAAC;SACxC,CAAC;QACF,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,kBAAkB,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,IAAI,CAAC,KAAK,EAAE;QAC1G,MAAM,EAAE;YACN,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;SACnD;KACF,CAAC;AACJ,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,0BAA0B,CAAC,IAAuB;IAChE,OAAO;QACL,EAAE,EAAE,uBAAuB;QAC3B,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,0DAA0D;QACnE,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,uFAAuF;AACvF,uFAAuF;AAEvF;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAOpC;IACC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,WAAW,CAAC;IACtD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,YAAY,KAAK,WAAW,CAAC;IAC3C,OAAO;QACL,EAAE,EAAE,gBAAgB;QACpB,EAAE,EAAE,IAAI,CAAC,MAAM;QACf,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,sBAAsB;YAC3B,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,CAAC;SACpD,CAAC;QACF,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,mBAAmB,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,YAAY,CAAC,EAAE,sBAAsB,UAAU,EAAE;QAClH,MAAM,EAAE;YACN,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY;YACZ,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;YACvB,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;SAClC;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,IAM/B;IACC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,KAAK,WAAW,CAAC;IACvD,OAAO;QACL,EAAE,EAAE,UAAU;QACd,EAAE,EAAE,IAAI,CAAC,MAAM;QACf,IAAI,EAAE,WAAW;YACf,CAAC,CAAC,kBAAkB,CAAC,EAAC,GAAG,EAAE,sBAAsB,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAG,CAAC,EAAC,CAAC;YAC7G,CAAC,CAAC,kBAAkB,CAAC,EAAC,GAAG,EAAE,sBAAsB,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAC,CAAC;QACnG,KAAK,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU;QAC7C,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,WAAW;YAClB,CAAC,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,EAAG,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5E,CAAC,CAAC,cAAc,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACzD,MAAM,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAC;KACrG,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,6BAA6B,CAAC,IAAuB;IACnE,OAAO;QACL,EAAE,EAAE,2BAA2B;QAC/B,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,2BAA2B;QACjC,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,6DAA6D;QACtE,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,uBAAuB,CAAC,IAMvC;IACC,OAAO;QACL,EAAE,EAAE,aAAa;QACjB,EAAE,EAAE,IAAI,CAAC,OAAO;QAChB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,oBAAoB;YACzB,YAAY,EAAE,qBAAqB;YACnC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAe,EAAE,IAAI,CAAC,IAAI,CAAC;SACxC,CAAC;QACF,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,wBAAwB,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,IAAI,CAAC,KAAK,EAAE;QAChH,MAAM,EAAE;YACN,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAClC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;SACnD;KACF,CAAC;AACJ,CAAC;AAED;;4BAE4B;AAC5B,MAAM,UAAU,gBAAgB,CAAC,IAQhC;IACC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7B,OAAO;QACL,EAAE,EAAE,YAAY;QAChB,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC,EAAC,GAAG,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAC,CAAC;QAC7F,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,6FAA6F;QAC7F,6FAA6F;QAC7F,yFAAyF;QACzF,OAAO,EAAE,CAAC,GAAG,EAAE;YACb,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,UAAU;gBAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,UAAU,kBAAkB,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAC7H,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClJ,IAAI,IAAI,CAAC,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,aAAa,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtH,IAAI,IAAI,CAAC,UAAU;gBAAE,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;YACrG,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;QAC9E,CAAC,CAAC,EAAE;QACJ,MAAM,EAAE;YACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YACrC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG;YACzC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAC,UAAU,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD;KACF,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,2FAA2F;AAC3F,0FAA0F;AAC1F,uFAAuF;AAEvF;;2EAE2E;AAC3E,MAAM,UAAU,oBAAoB,CAAC,IAOpC;IACC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;IAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC;IACvC,OAAO;QACL,EAAE,EAAE,gBAAgB;QACpB,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,aAAa;YAClB,YAAY,EAAE,eAAe;YAC7B,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC;SACzC,CAAC;QACF,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,mBAAmB,KAAK,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,EAAE;QAC1G,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAC;KACzF,CAAC;AACJ,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,2BAA2B,CAAC,IAA0C;IACpF,OAAO;QACL,EAAE,EAAE,wBAAwB;QAC5B,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC,EAAC,GAAG,EAAE,aAAa,EAAE,YAAY,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,EAAC,CAAC;QAC9F,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,mDAAmD;QAC5D,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC;KAClC,CAAC;AACJ,CAAC;AAED;0EAC0E;AAC1E,MAAM,UAAU,4BAA4B,CAAC,IAI5C;IACC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,WAAW,CAAC;IAC/C,OAAO;QACL,EAAE,EAAE,yBAAyB;QAC7B,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC,EAAC,GAAG,EAAE,aAAa,EAAE,YAAY,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,CAAC;QAC5G,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,QAAQ;YACf,CAAC,CAAC,mEAAmE;YACrE,CAAC,CAAC,6BAA6B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,yBAAyB;QAC9E,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC;KAC3D,CAAC;AACJ,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,uBAAuB,CAAC,IAA0C;IAChF,OAAO;QACL,EAAE,EAAE,mBAAmB;QACvB,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC,EAAC,GAAG,EAAE,aAAa,EAAE,YAAY,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAC,CAAC;QAC1F,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,iEAAiE;QAC1E,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC;KAClC,CAAC;AACJ,CAAC;AAED;;;gCAGgC;AAChC,MAAM,UAAU,uBAAuB,CAAC,IAMvC;IACC,OAAO;QACL,EAAE,EAAE,oBAAoB;QACxB,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,aAAa;YAClB,YAAY,EAAE,kBAAkB;YAChC,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;SACxC,CAAC;QACF,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,sBAAsB,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE;QACzE,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,EAAC;KACpF,CAAC;AACJ,CAAC;AAED;yGACyG;AACzG,MAAM,UAAU,2BAA2B,CAAC,IAK3C;IACC,OAAO;QACL,EAAE,EAAE,yBAAyB;QAC7B,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,aAAa;YAClB,YAAY,EAAE,sBAAsB;YACpC,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;SACvC,CAAC;QACF,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,sBAAsB,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS;QACrF,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAC;KACjD,CAAC;AACJ,CAAC;AAED;;;iGAGiG;AACjG,MAAM,UAAU,oBAAoB,CAAC,IAMpC;IACC,OAAO;QACL,EAAE,EAAE,iBAAiB;QACrB,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,aAAa;YAClB,YAAY,EAAE,eAAe;YAC7B,IAAI,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC;SAChE,CAAC;QACF,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,+BAA+B,IAAI,CAAC,aAAa,aAAa,IAAI,CAAC,WAAW,cAAc,IAAI,CAAC,YAAY,EAAE;QACxH,MAAM,EAAE;YACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC;KACF,CAAC;AACJ,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,0BAA0B,CAAC,IAO1C;IACC,OAAO;QACL,EAAE,EAAE,iBAAiB;QACrB,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,aAAa;YAClB,YAAY,EAAE,qBAAqB;YACnC,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;SACtD,CAAC;QACF,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,aAAa,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,aAAa,IAAI,CAAC,OAAO,EAAE;QAC3E,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAC;KACrG,CAAC;AACJ,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,8BAA8B,CAAC,IAM9C;IACC,OAAO;QACL,EAAE,EAAE,sBAAsB;QAC1B,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,aAAa;YAClB,YAAY,EAAE,yBAAyB;YACvC,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;SACrD,CAAC;QACF,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,aAAa,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,OAAO,EAAE;QACrG,MAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAC;KAChF,CAAC;AACJ,CAAC"}
|
package/dist/probe.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Capability probe for RPC endpoints. Reconstruction is `eth_getLogs`-heavy and
|
|
3
|
+
* needs *archive* depth (to read a project's deploy block) plus a usable block
|
|
4
|
+
* *range* (for speed). Providers differ wildly and change, so rather than trust a
|
|
5
|
+
* table we measure each endpoint and classify it for the job:
|
|
6
|
+
*
|
|
7
|
+
* • best — serves a wide recent range AND archive-depth logs (fast + complete)
|
|
8
|
+
* • capped — archive works but the getLogs range is small (works via chunking, slower)
|
|
9
|
+
* • unusable — unreachable, or can't serve archive-depth logs (can't reconstruct old projects)
|
|
10
|
+
*
|
|
11
|
+
* The toolkit's client already fails over across endpoints at request time; this is
|
|
12
|
+
* the deliberate, explainable view `doctor` shows so a human/agent can pick or fix.
|
|
13
|
+
*/
|
|
14
|
+
export type RpcVerdict = 'best' | 'capped' | 'unusable';
|
|
15
|
+
export interface RpcProbe {
|
|
16
|
+
url: string;
|
|
17
|
+
label: string;
|
|
18
|
+
reachable: boolean;
|
|
19
|
+
headBlock?: string;
|
|
20
|
+
chainId?: number;
|
|
21
|
+
wideRange: boolean;
|
|
22
|
+
archive: boolean;
|
|
23
|
+
verdict: RpcVerdict;
|
|
24
|
+
reason?: string;
|
|
25
|
+
}
|
|
26
|
+
export declare function probeRpcEndpoints(opts?: {
|
|
27
|
+
chainKey?: string;
|
|
28
|
+
urls?: string[];
|
|
29
|
+
}): Promise<RpcProbe[]>;
|
|
30
|
+
//# sourceMappingURL=probe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"probe.d.ts","sourceRoot":"","sources":["../src/probe.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAExD,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAKD,wBAAsB,iBAAiB,CACrC,IAAI,GAAE;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAAM,GAC9C,OAAO,CAAC,QAAQ,EAAE,CAAC,CAIrB"}
|
package/dist/probe.js
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { createPublicClient, http, zeroAddress } from 'viem';
|
|
2
|
+
import { resolveChain, resolveRpcUrls, redactRpcUrl } from './chains.js';
|
|
3
|
+
import { isGetLogsRangeError } from './reconstruct.js';
|
|
4
|
+
const RANGE_PROBE = 2000n; // "wide" recent range to test the getLogs window
|
|
5
|
+
const ARCHIVE_DEPTH = 100000n; // deep enough that non-archive nodes refuse
|
|
6
|
+
export async function probeRpcEndpoints(opts = {}) {
|
|
7
|
+
const chain = resolveChain(opts.chainKey);
|
|
8
|
+
const urls = opts.urls ?? resolveRpcUrls(opts.chainKey);
|
|
9
|
+
return Promise.all(urls.map((url) => probeOne(chain, url)));
|
|
10
|
+
}
|
|
11
|
+
async function probeOne(chain, url) {
|
|
12
|
+
const probe = { url, label: redactRpcUrl(url), reachable: false, wideRange: false, archive: false, verdict: 'unusable' };
|
|
13
|
+
const client = createPublicClient({ chain, transport: http(url, { retryCount: 0 }) });
|
|
14
|
+
let head;
|
|
15
|
+
try {
|
|
16
|
+
head = await client.getBlockNumber();
|
|
17
|
+
}
|
|
18
|
+
catch (err) {
|
|
19
|
+
probe.reason = `unreachable: ${firstLine(err)}`;
|
|
20
|
+
return probe;
|
|
21
|
+
}
|
|
22
|
+
probe.reachable = true;
|
|
23
|
+
probe.headBlock = head.toString();
|
|
24
|
+
// network identity — the var names a chain, but the URL behind it could point anywhere.
|
|
25
|
+
// A wrong-network endpoint is unusable regardless of range/archive (and would send writes
|
|
26
|
+
// to the wrong chain), so flag it first and stop.
|
|
27
|
+
try {
|
|
28
|
+
probe.chainId = await client.getChainId();
|
|
29
|
+
if (probe.chainId !== chain.id) {
|
|
30
|
+
probe.verdict = 'unusable';
|
|
31
|
+
probe.reason = `wrong network: reports chain ${probe.chainId}, expected ${chain.id} (${chain.name})`;
|
|
32
|
+
return probe;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
/* some endpoints flake on eth_chainId; fall through to the capability probes */
|
|
37
|
+
}
|
|
38
|
+
// wide recent range — tests the getLogs window (a range cap fails here)
|
|
39
|
+
try {
|
|
40
|
+
await client.getLogs({ address: zeroAddress, fromBlock: head > RANGE_PROBE ? head - RANGE_PROBE : 0n, toBlock: head });
|
|
41
|
+
probe.wideRange = true;
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
if (!isGetLogsRangeError(err))
|
|
45
|
+
probe.reason = firstLine(err); // non-range failure is the telling one
|
|
46
|
+
}
|
|
47
|
+
// archive depth — one block, deep in the past, to isolate archive from range
|
|
48
|
+
const old = head > ARCHIVE_DEPTH ? head - ARCHIVE_DEPTH : 0n;
|
|
49
|
+
try {
|
|
50
|
+
await client.getLogs({ address: zeroAddress, fromBlock: old, toBlock: old });
|
|
51
|
+
probe.archive = true;
|
|
52
|
+
}
|
|
53
|
+
catch (err) {
|
|
54
|
+
if (!probe.reason)
|
|
55
|
+
probe.reason = firstLine(err);
|
|
56
|
+
}
|
|
57
|
+
if (!probe.archive) {
|
|
58
|
+
probe.verdict = 'unusable';
|
|
59
|
+
probe.reason = probe.reason ?? 'no archive access — can’t read a project’s deploy block';
|
|
60
|
+
}
|
|
61
|
+
else if (probe.wideRange) {
|
|
62
|
+
probe.verdict = 'best';
|
|
63
|
+
probe.reason = undefined;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
probe.verdict = 'capped';
|
|
67
|
+
probe.reason = probe.reason ?? 'small eth_getLogs range — works via chunking, slower on wide ranges';
|
|
68
|
+
}
|
|
69
|
+
return probe;
|
|
70
|
+
}
|
|
71
|
+
function firstLine(err) {
|
|
72
|
+
return (err?.message ?? String(err)).split('\n')[0].slice(0, 100);
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=probe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"probe.js","sourceRoot":"","sources":["../src/probe.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { type Address, type Hex, type PublicClient } from 'viem';
|
|
2
|
+
import type { DependencyInfo, ExtensionInfo, MetadataField, ParamHooks, ParamSchema, ParamValue, ProjectState, SpineEvent, TokenState } from './types.js';
|
|
3
|
+
export interface ReconstructOptions {
|
|
4
|
+
address: Address;
|
|
5
|
+
fromBlock: bigint;
|
|
6
|
+
toBlock?: bigint | 'latest';
|
|
7
|
+
/** Canonical factory — lets reconstruction verify trust (isAbxClone), not just discovery. */
|
|
8
|
+
factory?: Address;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Rebuild a project's full state from the chain alone — the canonical replay.
|
|
12
|
+
*
|
|
13
|
+
* Structure comes from folding the event spine (idempotent, last-writer-wins);
|
|
14
|
+
* string *values* the events only ping (tokenURI, contractURI, name/symbol) are
|
|
15
|
+
* read at head — exactly the spine's design. No provider is involved, and the
|
|
16
|
+
* result is byte-for-byte reproducible from the same chain range. This is the
|
|
17
|
+
* durability proof: delete the projection, run this, get identical state.
|
|
18
|
+
*/
|
|
19
|
+
export declare function reconstructProject(client: PublicClient, opts: ReconstructOptions): Promise<ProjectState>;
|
|
20
|
+
/**
|
|
21
|
+
* The same state, but resumed from a prior reconstruction's checkpoint — so a
|
|
22
|
+
* re-index only fetches the blocks added since (a wide head gap costs nothing),
|
|
23
|
+
* yet the result is identical to a full replay. We fetch strictly `prior.toBlock + 1`
|
|
24
|
+
* onward (no reorg lookback — post-PoS reorgs are rare enough that the repair is the
|
|
25
|
+
* deterministic full replay: `abx index <addr> --full`), merge + de-dup with the prior
|
|
26
|
+
* event log, re-fold the complete sorted spine in-memory, and re-read head values fresh.
|
|
27
|
+
* Folding the whole history each time is microseconds; not re-fetching it is the win.
|
|
28
|
+
*/
|
|
29
|
+
export declare function reconstructIncremental(client: PublicClient, prior: ProjectState, opts?: {
|
|
30
|
+
factory?: Address;
|
|
31
|
+
}): Promise<ProjectState>;
|
|
32
|
+
/** The structural projection folded from the spine (everything that isn't a head read).
|
|
33
|
+
* Exported for tests and advanced consumers; the shape may evolve with the spine. */
|
|
34
|
+
export interface Fold {
|
|
35
|
+
abxVersion: number | null;
|
|
36
|
+
deployBlock: string | null;
|
|
37
|
+
deployTx: Hex | null;
|
|
38
|
+
owner: Address | null;
|
|
39
|
+
royalty: {
|
|
40
|
+
receiver: Address;
|
|
41
|
+
bps: number;
|
|
42
|
+
} | null;
|
|
43
|
+
extById: Map<string, ExtensionInfo>;
|
|
44
|
+
tokens: Map<string, TokenState>;
|
|
45
|
+
tokenFields: Map<string, Map<string, MetadataField>>;
|
|
46
|
+
tokenLocked: Map<string, Set<string>>;
|
|
47
|
+
collectionFields: Map<string, MetadataField>;
|
|
48
|
+
collectionLocked: Set<string>;
|
|
49
|
+
maxInvocations: string | null;
|
|
50
|
+
minter: Address | null;
|
|
51
|
+
paused: boolean;
|
|
52
|
+
primaryPayee: Address | null;
|
|
53
|
+
tokenParams: Map<string, Map<string, ParamValue>>;
|
|
54
|
+
contractParams: Map<string, ParamValue>;
|
|
55
|
+
paramSchemas: Map<string, ParamSchema>;
|
|
56
|
+
paramHooks: ParamHooks | null;
|
|
57
|
+
delegateRegistry: Address | null | undefined;
|
|
58
|
+
seedSource: Address | null;
|
|
59
|
+
scriptLocked: boolean;
|
|
60
|
+
dependencies: DependencyInfo[];
|
|
61
|
+
dependencyRegistry: Address | null;
|
|
62
|
+
dependenciesLocked: boolean;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Fold an *ordered* spine into structure. Operates on {@link SpineEvent} (string
|
|
66
|
+
* args) so full and incremental use one implementation, and a stored event log
|
|
67
|
+
* re-folds identically. Idempotent + last-writer-wins, so re-folding the same
|
|
68
|
+
* events (e.g. the reorg overlap) yields the same result.
|
|
69
|
+
*/
|
|
70
|
+
export declare function foldSpine(events: SpineEvent[]): Fold;
|
|
71
|
+
/** Does this error look like an RPC rejecting the block range (vs a real failure)? */
|
|
72
|
+
export declare function isGetLogsRangeError(err: unknown): boolean;
|
|
73
|
+
/** Thrown when a reconstruction would need more getLogs requests than the cap allows. */
|
|
74
|
+
export declare class GetLogsScanTooLargeError extends Error {
|
|
75
|
+
readonly spanBlocks: bigint;
|
|
76
|
+
readonly window: bigint;
|
|
77
|
+
readonly estimatedRequests: number;
|
|
78
|
+
readonly cap: number;
|
|
79
|
+
constructor(spanBlocks: bigint, window: bigint, estimatedRequests: number, cap: number);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Discover the block a contract's code first appears — its deployment block — by binary
|
|
83
|
+
* searching `eth_getCode` between genesis and head. ~log2(head) calls (~24 on Sepolia),
|
|
84
|
+
* NONE of them `eth_getLogs`, so it's independent of an RPC's log-range cap. This is the
|
|
85
|
+
* scan floor for a fresh reconstruction: without it an `add` defaults to genesis and
|
|
86
|
+
* sweeps the whole chain (millions of blocks) — the difference between an instant index
|
|
87
|
+
* and a rate-limited grind (and the root cause of a hosted resolver "not indexing").
|
|
88
|
+
*
|
|
89
|
+
* **Fail-safe by design.** It reads archive-depth `getCode`, and a pruned/non-archive node
|
|
90
|
+
* can make old blocks read empty (breaking the search's monotonicity) and return a too-HIGH
|
|
91
|
+
* floor — which is worse than genesis, because you'd silently miss the deploy event and
|
|
92
|
+
* index an incomplete project. So any `getCode` error, or no code at head, returns `null`,
|
|
93
|
+
* and the caller must require an explicit `--from-block` rather than guess. Assumes the
|
|
94
|
+
* contract has no code at block 0 (true for every ABX clone — deployed long after genesis).
|
|
95
|
+
*/
|
|
96
|
+
export declare function discoverDeployBlock(client: PublicClient, address: Address, toBlock?: bigint): Promise<bigint | null>;
|
|
97
|
+
//# sourceMappingURL=reconstruct.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reconstruct.d.ts","sourceRoot":"","sources":["../src/reconstruct.ts"],"names":[],"mappings":"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"}
|