@hashgraphonline/standards-sdk 0.1.189 → 0.1.190
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/dist/browser/hcs-25/adapters/agentverse.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/availability.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/connectivity.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/ethos.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/model-evals.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/simple-evals.d.ts.map +1 -1
- package/dist/browser/hcs-25/adapters/x402.d.ts.map +1 -1
- package/dist/browser/hcs-25/collectors/acp.d.ts +42 -0
- package/dist/browser/hcs-25/collectors/acp.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/agentverse.d.ts +37 -0
- package/dist/browser/hcs-25/collectors/agentverse.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/availability.d.ts +29 -0
- package/dist/browser/hcs-25/collectors/availability.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/catalog.d.ts +57 -0
- package/dist/browser/hcs-25/collectors/catalog.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/connectivity.d.ts +49 -0
- package/dist/browser/hcs-25/collectors/connectivity.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/endpoints.d.ts +9 -0
- package/dist/browser/hcs-25/collectors/endpoints.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/erc8004.d.ts +104 -0
- package/dist/browser/hcs-25/collectors/erc8004.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/ethos.d.ts +95 -0
- package/dist/browser/hcs-25/collectors/ethos.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/freshness.d.ts +36 -0
- package/dist/browser/hcs-25/collectors/freshness.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/http.d.ts +67 -0
- package/dist/browser/hcs-25/collectors/http.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/index.d.ts +21 -0
- package/dist/browser/hcs-25/collectors/index.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/merge.d.ts +11 -0
- package/dist/browser/hcs-25/collectors/merge.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/model-evals.d.ts +315 -0
- package/dist/browser/hcs-25/collectors/model-evals.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/oss-popularity.d.ts +51 -0
- package/dist/browser/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/output-verification.d.ts +37 -0
- package/dist/browser/hcs-25/collectors/output-verification.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/pipeline.d.ts +19 -0
- package/dist/browser/hcs-25/collectors/pipeline.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/runner.d.ts +20 -0
- package/dist/browser/hcs-25/collectors/runner.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/simple-evals.d.ts +91 -0
- package/dist/browser/hcs-25/collectors/simple-evals.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/types.d.ts +113 -0
- package/dist/browser/hcs-25/collectors/types.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/x402-onchain.d.ts +105 -0
- package/dist/browser/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
- package/dist/browser/hcs-25/collectors/x402.d.ts +48 -0
- package/dist/browser/hcs-25/collectors/x402.d.ts.map +1 -0
- package/dist/browser/hcs-25/index.d.ts +1 -0
- package/dist/browser/hcs-25/index.d.ts.map +1 -1
- package/dist/browser/hcs-25/signals/marketplace.d.ts +6 -6
- package/dist/browser/hcs-25/signals/marketplace.d.ts.map +1 -1
- package/dist/browser/hcs-25/signals/model-evals.d.ts +12 -12
- package/dist/browser/hcs-25/signals/model-evals.d.ts.map +1 -1
- package/dist/browser/hcs-25/signals/operational.d.ts +15 -12
- package/dist/browser/hcs-25/signals/operational.d.ts.map +1 -1
- package/dist/browser/hcs-25/signals/simple-evals.d.ts +1 -1
- package/dist/browser/hcs-25/signals/simple-evals.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/agentverse.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/availability.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/connectivity.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/ethos.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/model-evals.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/simple-evals.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/adapters/x402.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/collectors/acp.d.ts +42 -0
- package/dist/browser-root/hcs-25/collectors/acp.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/agentverse.d.ts +37 -0
- package/dist/browser-root/hcs-25/collectors/agentverse.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/availability.d.ts +29 -0
- package/dist/browser-root/hcs-25/collectors/availability.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/catalog.d.ts +57 -0
- package/dist/browser-root/hcs-25/collectors/catalog.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/connectivity.d.ts +49 -0
- package/dist/browser-root/hcs-25/collectors/connectivity.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/endpoints.d.ts +9 -0
- package/dist/browser-root/hcs-25/collectors/endpoints.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/erc8004.d.ts +104 -0
- package/dist/browser-root/hcs-25/collectors/erc8004.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/ethos.d.ts +95 -0
- package/dist/browser-root/hcs-25/collectors/ethos.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/freshness.d.ts +36 -0
- package/dist/browser-root/hcs-25/collectors/freshness.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/http.d.ts +67 -0
- package/dist/browser-root/hcs-25/collectors/http.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/index.d.ts +21 -0
- package/dist/browser-root/hcs-25/collectors/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/merge.d.ts +11 -0
- package/dist/browser-root/hcs-25/collectors/merge.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/model-evals.d.ts +315 -0
- package/dist/browser-root/hcs-25/collectors/model-evals.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/oss-popularity.d.ts +51 -0
- package/dist/browser-root/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/output-verification.d.ts +37 -0
- package/dist/browser-root/hcs-25/collectors/output-verification.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/pipeline.d.ts +19 -0
- package/dist/browser-root/hcs-25/collectors/pipeline.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/runner.d.ts +20 -0
- package/dist/browser-root/hcs-25/collectors/runner.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/simple-evals.d.ts +91 -0
- package/dist/browser-root/hcs-25/collectors/simple-evals.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/types.d.ts +113 -0
- package/dist/browser-root/hcs-25/collectors/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/x402-onchain.d.ts +105 -0
- package/dist/browser-root/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/collectors/x402.d.ts +48 -0
- package/dist/browser-root/hcs-25/collectors/x402.d.ts.map +1 -0
- package/dist/browser-root/hcs-25/index.d.ts +1 -0
- package/dist/browser-root/hcs-25/index.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/signals/marketplace.d.ts +6 -6
- package/dist/browser-root/hcs-25/signals/marketplace.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/signals/model-evals.d.ts +12 -12
- package/dist/browser-root/hcs-25/signals/model-evals.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/signals/operational.d.ts +15 -12
- package/dist/browser-root/hcs-25/signals/operational.d.ts.map +1 -1
- package/dist/browser-root/hcs-25/signals/simple-evals.d.ts +1 -1
- package/dist/browser-root/hcs-25/signals/simple-evals.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/agentverse.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/availability.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/connectivity.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/ethos.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/model-evals.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/simple-evals.d.ts.map +1 -1
- package/dist/cjs/hcs-25/adapters/x402.d.ts.map +1 -1
- package/dist/cjs/hcs-25/collectors/acp.d.ts +42 -0
- package/dist/cjs/hcs-25/collectors/acp.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/agentverse.d.ts +37 -0
- package/dist/cjs/hcs-25/collectors/agentverse.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/availability.d.ts +29 -0
- package/dist/cjs/hcs-25/collectors/availability.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/catalog.d.ts +57 -0
- package/dist/cjs/hcs-25/collectors/catalog.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/connectivity.d.ts +49 -0
- package/dist/cjs/hcs-25/collectors/connectivity.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/endpoints.d.ts +9 -0
- package/dist/cjs/hcs-25/collectors/endpoints.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/erc8004.d.ts +104 -0
- package/dist/cjs/hcs-25/collectors/erc8004.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/ethos.d.ts +95 -0
- package/dist/cjs/hcs-25/collectors/ethos.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/freshness.d.ts +36 -0
- package/dist/cjs/hcs-25/collectors/freshness.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/http.d.ts +67 -0
- package/dist/cjs/hcs-25/collectors/http.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/index.d.ts +21 -0
- package/dist/cjs/hcs-25/collectors/index.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/merge.d.ts +11 -0
- package/dist/cjs/hcs-25/collectors/merge.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/model-evals.d.ts +315 -0
- package/dist/cjs/hcs-25/collectors/model-evals.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/oss-popularity.d.ts +51 -0
- package/dist/cjs/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/output-verification.d.ts +37 -0
- package/dist/cjs/hcs-25/collectors/output-verification.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/pipeline.d.ts +19 -0
- package/dist/cjs/hcs-25/collectors/pipeline.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/runner.d.ts +20 -0
- package/dist/cjs/hcs-25/collectors/runner.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/simple-evals.d.ts +91 -0
- package/dist/cjs/hcs-25/collectors/simple-evals.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/types.d.ts +113 -0
- package/dist/cjs/hcs-25/collectors/types.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/x402-onchain.d.ts +105 -0
- package/dist/cjs/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
- package/dist/cjs/hcs-25/collectors/x402.d.ts +48 -0
- package/dist/cjs/hcs-25/collectors/x402.d.ts.map +1 -0
- package/dist/cjs/hcs-25/index.d.ts +1 -0
- package/dist/cjs/hcs-25/index.d.ts.map +1 -1
- package/dist/cjs/hcs-25/signals/marketplace.d.ts +6 -6
- package/dist/cjs/hcs-25/signals/marketplace.d.ts.map +1 -1
- package/dist/cjs/hcs-25/signals/model-evals.d.ts +12 -12
- package/dist/cjs/hcs-25/signals/model-evals.d.ts.map +1 -1
- package/dist/cjs/hcs-25/signals/operational.d.ts +15 -12
- package/dist/cjs/hcs-25/signals/operational.d.ts.map +1 -1
- package/dist/cjs/hcs-25/signals/simple-evals.d.ts +1 -1
- package/dist/cjs/hcs-25/signals/simple-evals.d.ts.map +1 -1
- package/dist/cjs/standards-sdk.cjs +2 -2
- package/dist/cjs/standards-sdk.cjs.map +1 -1
- package/dist/es/hcs-25/adapters/agentverse.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/availability.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/connectivity.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/ethos.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/model-evals.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/simple-evals.d.ts.map +1 -1
- package/dist/es/hcs-25/adapters/x402.d.ts.map +1 -1
- package/dist/es/hcs-25/collectors/acp.d.ts +42 -0
- package/dist/es/hcs-25/collectors/acp.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/agentverse.d.ts +37 -0
- package/dist/es/hcs-25/collectors/agentverse.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/availability.d.ts +29 -0
- package/dist/es/hcs-25/collectors/availability.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/catalog.d.ts +57 -0
- package/dist/es/hcs-25/collectors/catalog.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/connectivity.d.ts +49 -0
- package/dist/es/hcs-25/collectors/connectivity.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/endpoints.d.ts +9 -0
- package/dist/es/hcs-25/collectors/endpoints.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/erc8004.d.ts +104 -0
- package/dist/es/hcs-25/collectors/erc8004.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/ethos.d.ts +95 -0
- package/dist/es/hcs-25/collectors/ethos.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/freshness.d.ts +36 -0
- package/dist/es/hcs-25/collectors/freshness.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/http.d.ts +67 -0
- package/dist/es/hcs-25/collectors/http.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/index.d.ts +21 -0
- package/dist/es/hcs-25/collectors/index.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/merge.d.ts +11 -0
- package/dist/es/hcs-25/collectors/merge.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/model-evals.d.ts +315 -0
- package/dist/es/hcs-25/collectors/model-evals.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/oss-popularity.d.ts +51 -0
- package/dist/es/hcs-25/collectors/oss-popularity.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/output-verification.d.ts +37 -0
- package/dist/es/hcs-25/collectors/output-verification.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/pipeline.d.ts +19 -0
- package/dist/es/hcs-25/collectors/pipeline.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/runner.d.ts +20 -0
- package/dist/es/hcs-25/collectors/runner.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/simple-evals.d.ts +91 -0
- package/dist/es/hcs-25/collectors/simple-evals.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/types.d.ts +113 -0
- package/dist/es/hcs-25/collectors/types.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/x402-onchain.d.ts +105 -0
- package/dist/es/hcs-25/collectors/x402-onchain.d.ts.map +1 -0
- package/dist/es/hcs-25/collectors/x402.d.ts +48 -0
- package/dist/es/hcs-25/collectors/x402.d.ts.map +1 -0
- package/dist/es/hcs-25/index.d.ts +1 -0
- package/dist/es/hcs-25/index.d.ts.map +1 -1
- package/dist/es/hcs-25/signals/marketplace.d.ts +6 -6
- package/dist/es/hcs-25/signals/marketplace.d.ts.map +1 -1
- package/dist/es/hcs-25/signals/model-evals.d.ts +12 -12
- package/dist/es/hcs-25/signals/model-evals.d.ts.map +1 -1
- package/dist/es/hcs-25/signals/operational.d.ts +15 -12
- package/dist/es/hcs-25/signals/operational.d.ts.map +1 -1
- package/dist/es/hcs-25/signals/simple-evals.d.ts +1 -1
- package/dist/es/hcs-25/signals/simple-evals.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +137 -58
- package/dist/es/standards-sdk.es.js.map +1 -1
- package/dist/es/standards-sdk.es101.js +2 -2
- package/dist/es/standards-sdk.es103.js +2 -2
- package/dist/es/standards-sdk.es104.js +1 -1
- package/dist/es/standards-sdk.es106.js +1 -1
- package/dist/es/standards-sdk.es108.js +2 -2
- package/dist/es/standards-sdk.es11.js +1 -1
- package/dist/es/standards-sdk.es110.js +1 -1
- package/dist/es/standards-sdk.es111.js +2 -2
- package/dist/es/standards-sdk.es115.js +3 -3
- package/dist/es/standards-sdk.es116.js +4 -4
- package/dist/es/standards-sdk.es12.js +1 -1
- package/dist/es/standards-sdk.es120.js +4 -4
- package/dist/es/standards-sdk.es121.js +11 -11
- package/dist/es/standards-sdk.es122.js +176 -240
- package/dist/es/standards-sdk.es122.js.map +1 -1
- package/dist/es/standards-sdk.es123.js +41 -468
- package/dist/es/standards-sdk.es123.js.map +1 -1
- package/dist/es/standards-sdk.es124.js +28 -103
- package/dist/es/standards-sdk.es124.js.map +1 -1
- package/dist/es/standards-sdk.es125.js +185 -145
- package/dist/es/standards-sdk.es125.js.map +1 -1
- package/dist/es/standards-sdk.es126.js +13 -33
- package/dist/es/standards-sdk.es126.js.map +1 -1
- package/dist/es/standards-sdk.es127.js +44 -10
- package/dist/es/standards-sdk.es127.js.map +1 -1
- package/dist/es/standards-sdk.es128.js +150 -172
- package/dist/es/standards-sdk.es128.js.map +1 -1
- package/dist/es/standards-sdk.es129.js +166 -26
- package/dist/es/standards-sdk.es129.js.map +1 -1
- package/dist/es/standards-sdk.es13.js +1 -1
- package/dist/es/standards-sdk.es130.js +375 -18
- package/dist/es/standards-sdk.es130.js.map +1 -1
- package/dist/es/standards-sdk.es131.js +371 -139
- package/dist/es/standards-sdk.es131.js.map +1 -1
- package/dist/es/standards-sdk.es132.js +211 -180
- package/dist/es/standards-sdk.es132.js.map +1 -1
- package/dist/es/standards-sdk.es133.js +210 -770
- package/dist/es/standards-sdk.es133.js.map +1 -1
- package/dist/es/standards-sdk.es134.js +376 -10
- package/dist/es/standards-sdk.es134.js.map +1 -1
- package/dist/es/standards-sdk.es135.js +118 -564
- package/dist/es/standards-sdk.es135.js.map +1 -1
- package/dist/es/standards-sdk.es136.js +233 -608
- package/dist/es/standards-sdk.es136.js.map +1 -1
- package/dist/es/standards-sdk.es137.js +1328 -12
- package/dist/es/standards-sdk.es137.js.map +1 -1
- package/dist/es/standards-sdk.es138.js +133 -2
- package/dist/es/standards-sdk.es138.js.map +1 -1
- package/dist/es/standards-sdk.es139.js +258 -74
- package/dist/es/standards-sdk.es139.js.map +1 -1
- package/dist/es/standards-sdk.es14.js +1 -1
- package/dist/es/standards-sdk.es140.js +104 -38
- package/dist/es/standards-sdk.es140.js.map +1 -1
- package/dist/es/standards-sdk.es141.js +252 -2
- package/dist/es/standards-sdk.es141.js.map +1 -1
- package/dist/es/standards-sdk.es142.js +446 -203
- package/dist/es/standards-sdk.es142.js.map +1 -1
- package/dist/es/standards-sdk.es143.js +104 -1139
- package/dist/es/standards-sdk.es143.js.map +1 -1
- package/dist/es/standards-sdk.es144.js +144 -290
- package/dist/es/standards-sdk.es144.js.map +1 -1
- package/dist/es/standards-sdk.es145.js +31 -419
- package/dist/es/standards-sdk.es145.js.map +1 -1
- package/dist/es/standards-sdk.es146.js +10 -353
- package/dist/es/standards-sdk.es146.js.map +1 -1
- package/dist/es/standards-sdk.es147.js +144 -1084
- package/dist/es/standards-sdk.es147.js.map +1 -1
- package/dist/es/standards-sdk.es148.js +25 -204
- package/dist/es/standards-sdk.es148.js.map +1 -1
- package/dist/es/standards-sdk.es149.js +17 -1562
- package/dist/es/standards-sdk.es149.js.map +1 -1
- package/dist/es/standards-sdk.es15.js +1 -1
- package/dist/es/standards-sdk.es150.js +128 -1134
- package/dist/es/standards-sdk.es150.js.map +1 -1
- package/dist/es/standards-sdk.es151.js +199 -14
- package/dist/es/standards-sdk.es151.js.map +1 -1
- package/dist/es/standards-sdk.es152.js +773 -434
- package/dist/es/standards-sdk.es152.js.map +1 -1
- package/dist/es/standards-sdk.es153.js +10 -256
- package/dist/es/standards-sdk.es153.js.map +1 -1
- package/dist/es/standards-sdk.es154.js +567 -4
- package/dist/es/standards-sdk.es154.js.map +1 -1
- package/dist/es/standards-sdk.es155.js +619 -74
- package/dist/es/standards-sdk.es155.js.map +1 -1
- package/dist/es/standards-sdk.es156.js +12 -86
- package/dist/es/standards-sdk.es156.js.map +1 -1
- package/dist/es/standards-sdk.es157.js +2 -60
- package/dist/es/standards-sdk.es157.js.map +1 -1
- package/dist/es/standards-sdk.es158.js +87 -2547
- package/dist/es/standards-sdk.es158.js.map +1 -1
- package/dist/es/standards-sdk.es159.js +36 -155
- package/dist/es/standards-sdk.es159.js.map +1 -1
- package/dist/es/standards-sdk.es16.js +6 -6
- package/dist/es/standards-sdk.es160.js +2 -7
- package/dist/es/standards-sdk.es160.js.map +1 -1
- package/dist/es/standards-sdk.es161.js +223 -74
- package/dist/es/standards-sdk.es161.js.map +1 -1
- package/dist/es/standards-sdk.es162.js +1122 -47
- package/dist/es/standards-sdk.es162.js.map +1 -1
- package/dist/es/standards-sdk.es163.js +299 -187
- package/dist/es/standards-sdk.es163.js.map +1 -1
- package/dist/es/standards-sdk.es164.js +419 -23
- package/dist/es/standards-sdk.es164.js.map +1 -1
- package/dist/es/standards-sdk.es165.js +352 -55
- package/dist/es/standards-sdk.es165.js.map +1 -1
- package/dist/es/standards-sdk.es166.js +1113 -86
- package/dist/es/standards-sdk.es166.js.map +1 -1
- package/dist/es/standards-sdk.es167.js +200 -41
- package/dist/es/standards-sdk.es167.js.map +1 -1
- package/dist/es/standards-sdk.es168.js +1551 -188
- package/dist/es/standards-sdk.es168.js.map +1 -1
- package/dist/es/standards-sdk.es169.js +1161 -51
- package/dist/es/standards-sdk.es169.js.map +1 -1
- package/dist/es/standards-sdk.es170.js +15 -47
- package/dist/es/standards-sdk.es170.js.map +1 -1
- package/dist/es/standards-sdk.es171.js +445 -50
- package/dist/es/standards-sdk.es171.js.map +1 -1
- package/dist/es/standards-sdk.es172.js +255 -45
- package/dist/es/standards-sdk.es172.js.map +1 -1
- package/dist/es/standards-sdk.es173.js +4 -122
- package/dist/es/standards-sdk.es173.js.map +1 -1
- package/dist/es/standards-sdk.es174.js +77 -50
- package/dist/es/standards-sdk.es174.js.map +1 -1
- package/dist/es/standards-sdk.es175.js +85 -42
- package/dist/es/standards-sdk.es175.js.map +1 -1
- package/dist/es/standards-sdk.es176.js +60 -72
- package/dist/es/standards-sdk.es176.js.map +1 -1
- package/dist/es/standards-sdk.es177.js +2544 -65
- package/dist/es/standards-sdk.es177.js.map +1 -1
- package/dist/es/standards-sdk.es178.js +159 -44
- package/dist/es/standards-sdk.es178.js.map +1 -1
- package/dist/es/standards-sdk.es179.js +7 -36
- package/dist/es/standards-sdk.es179.js.map +1 -1
- package/dist/es/standards-sdk.es18.js +13 -13
- package/dist/es/standards-sdk.es180.js +86 -30
- package/dist/es/standards-sdk.es180.js.map +1 -1
- package/dist/es/standards-sdk.es181.js +65 -34
- package/dist/es/standards-sdk.es181.js.map +1 -1
- package/dist/es/standards-sdk.es182.js +196 -48
- package/dist/es/standards-sdk.es182.js.map +1 -1
- package/dist/es/standards-sdk.es183.js +23 -135
- package/dist/es/standards-sdk.es183.js.map +1 -1
- package/dist/es/standards-sdk.es184.js +54 -38
- package/dist/es/standards-sdk.es184.js.map +1 -1
- package/dist/es/standards-sdk.es185.js +102 -12470
- package/dist/es/standards-sdk.es185.js.map +1 -1
- package/dist/es/standards-sdk.es186.js +53 -52
- package/dist/es/standards-sdk.es186.js.map +1 -1
- package/dist/es/standards-sdk.es187.js +223 -103
- package/dist/es/standards-sdk.es187.js.map +1 -1
- package/dist/es/standards-sdk.es188.js +66 -75
- package/dist/es/standards-sdk.es188.js.map +1 -1
- package/dist/es/standards-sdk.es189.js +46 -197
- package/dist/es/standards-sdk.es189.js.map +1 -1
- package/dist/es/standards-sdk.es19.js +10 -10
- package/dist/es/standards-sdk.es190.js +58 -668
- package/dist/es/standards-sdk.es190.js.map +1 -1
- package/dist/es/standards-sdk.es191.js +45 -168
- package/dist/es/standards-sdk.es191.js.map +1 -1
- package/dist/es/standards-sdk.es192.js +115 -315
- package/dist/es/standards-sdk.es192.js.map +1 -1
- package/dist/es/standards-sdk.es193.js +51 -340
- package/dist/es/standards-sdk.es193.js.map +1 -1
- package/dist/es/standards-sdk.es194.js +54 -448
- package/dist/es/standards-sdk.es194.js.map +1 -1
- package/dist/es/standards-sdk.es195.js +72 -331
- package/dist/es/standards-sdk.es195.js.map +1 -1
- package/dist/es/standards-sdk.es196.js +75 -76
- package/dist/es/standards-sdk.es196.js.map +1 -1
- package/dist/es/standards-sdk.es197.js +44 -73
- package/dist/es/standards-sdk.es197.js.map +1 -1
- package/dist/es/standards-sdk.es198.js +34 -15
- package/dist/es/standards-sdk.es198.js.map +1 -1
- package/dist/es/standards-sdk.es199.js +30 -139
- package/dist/es/standards-sdk.es199.js.map +1 -1
- package/dist/es/standards-sdk.es2.js +2 -2
- package/dist/es/standards-sdk.es20.js +1 -1
- package/dist/es/standards-sdk.es200.js +34 -517
- package/dist/es/standards-sdk.es200.js.map +1 -1
- package/dist/es/standards-sdk.es201.js +48 -259
- package/dist/es/standards-sdk.es201.js.map +1 -1
- package/dist/es/standards-sdk.es202.js +127 -185
- package/dist/es/standards-sdk.es202.js.map +1 -1
- package/dist/es/standards-sdk.es203.js +36 -113
- package/dist/es/standards-sdk.es203.js.map +1 -1
- package/dist/es/standards-sdk.es204.js +12464 -134
- package/dist/es/standards-sdk.es204.js.map +1 -1
- package/dist/es/standards-sdk.es205.js +14 -181
- package/dist/es/standards-sdk.es205.js.map +1 -1
- package/dist/es/standards-sdk.es206.js +55 -683
- package/dist/es/standards-sdk.es206.js.map +1 -1
- package/dist/es/standards-sdk.es207.js +93 -167
- package/dist/es/standards-sdk.es207.js.map +1 -1
- package/dist/es/standards-sdk.es208.js +71 -225
- package/dist/es/standards-sdk.es208.js.map +1 -1
- package/dist/es/standards-sdk.es209.js +176 -215
- package/dist/es/standards-sdk.es209.js.map +1 -1
- package/dist/es/standards-sdk.es21.js +1 -1
- package/dist/es/standards-sdk.es210.js +675 -0
- package/dist/es/standards-sdk.es210.js.map +1 -0
- package/dist/es/standards-sdk.es211.js +76 -0
- package/dist/es/standards-sdk.es211.js.map +1 -0
- package/dist/es/standards-sdk.es212.js +175 -0
- package/dist/es/standards-sdk.es212.js.map +1 -0
- package/dist/es/standards-sdk.es213.js +325 -0
- package/dist/es/standards-sdk.es213.js.map +1 -0
- package/dist/es/standards-sdk.es214.js +349 -0
- package/dist/es/standards-sdk.es214.js.map +1 -0
- package/dist/es/standards-sdk.es215.js +456 -0
- package/dist/es/standards-sdk.es215.js.map +1 -0
- package/dist/es/standards-sdk.es216.js +334 -0
- package/dist/es/standards-sdk.es216.js.map +1 -0
- package/dist/es/standards-sdk.es217.js +79 -0
- package/dist/es/standards-sdk.es217.js.map +1 -0
- package/dist/es/standards-sdk.es218.js +142 -0
- package/dist/es/standards-sdk.es218.js.map +1 -0
- package/dist/es/standards-sdk.es219.js +520 -0
- package/dist/es/standards-sdk.es219.js.map +1 -0
- package/dist/es/standards-sdk.es22.js +1 -1
- package/dist/es/standards-sdk.es220.js +262 -0
- package/dist/es/standards-sdk.es220.js.map +1 -0
- package/dist/es/standards-sdk.es221.js +199 -0
- package/dist/es/standards-sdk.es221.js.map +1 -0
- package/dist/es/standards-sdk.es222.js +122 -0
- package/dist/es/standards-sdk.es222.js.map +1 -0
- package/dist/es/standards-sdk.es223.js +155 -0
- package/dist/es/standards-sdk.es223.js.map +1 -0
- package/dist/es/standards-sdk.es224.js +187 -0
- package/dist/es/standards-sdk.es224.js.map +1 -0
- package/dist/es/standards-sdk.es225.js +687 -0
- package/dist/es/standards-sdk.es225.js.map +1 -0
- package/dist/es/standards-sdk.es226.js +188 -0
- package/dist/es/standards-sdk.es226.js.map +1 -0
- package/dist/es/standards-sdk.es227.js +238 -0
- package/dist/es/standards-sdk.es227.js.map +1 -0
- package/dist/es/standards-sdk.es228.js +242 -0
- package/dist/es/standards-sdk.es228.js.map +1 -0
- package/dist/es/standards-sdk.es23.js +1 -1
- package/dist/es/standards-sdk.es24.js +1 -1
- package/dist/es/standards-sdk.es25.js +1 -1
- package/dist/es/standards-sdk.es26.js +1 -1
- package/dist/es/standards-sdk.es27.js +13 -13
- package/dist/es/standards-sdk.es30.js +2 -2
- package/dist/es/standards-sdk.es31.js +4 -4
- package/dist/es/standards-sdk.es32.js +1 -1
- package/dist/es/standards-sdk.es35.js +7 -7
- package/dist/es/standards-sdk.es36.js +4 -4
- package/dist/es/standards-sdk.es37.js +2 -2
- package/dist/es/standards-sdk.es38.js +2 -2
- package/dist/es/standards-sdk.es39.js +1 -1
- package/dist/es/standards-sdk.es4.js +2 -2
- package/dist/es/standards-sdk.es40.js +1 -1
- package/dist/es/standards-sdk.es41.js +2 -2
- package/dist/es/standards-sdk.es46.js +1 -1
- package/dist/es/standards-sdk.es5.js +2 -2
- package/dist/es/standards-sdk.es51.js +1 -1
- package/dist/es/standards-sdk.es53.js +1 -1
- package/dist/es/standards-sdk.es56.js +2 -2
- package/dist/es/standards-sdk.es59.js +1 -1
- package/dist/es/standards-sdk.es6.js +2 -2
- package/dist/es/standards-sdk.es60.js +1 -1
- package/dist/es/standards-sdk.es62.js +1 -1
- package/dist/es/standards-sdk.es63.js +2 -2
- package/dist/es/standards-sdk.es64.js +1 -1
- package/dist/es/standards-sdk.es65.js +1 -1
- package/dist/es/standards-sdk.es66.js +1 -1
- package/dist/es/standards-sdk.es67.js +8 -8
- package/dist/es/standards-sdk.es69.js +1 -1
- package/dist/es/standards-sdk.es7.js +1 -1
- package/dist/es/standards-sdk.es71.js +2 -2
- package/dist/es/standards-sdk.es72.js +3 -3
- package/dist/es/standards-sdk.es75.js +5 -5
- package/dist/es/standards-sdk.es76.js +3 -3
- package/dist/es/standards-sdk.es77.js +2 -2
- package/dist/es/standards-sdk.es78.js +1 -1
- package/dist/es/standards-sdk.es81.js +2 -2
- package/dist/es/standards-sdk.es83.js +2 -2
- package/dist/es/standards-sdk.es84.js +5 -5
- package/dist/es/standards-sdk.es85.js +1 -1
- package/dist/es/standards-sdk.es88.js +1 -1
- package/dist/es/standards-sdk.es89.js +2 -2
- package/dist/es/standards-sdk.es9.js +2 -2
- package/dist/es/standards-sdk.es90.js +4 -4
- package/dist/es/standards-sdk.es94.js +3 -3
- package/dist/es/standards-sdk.es96.js +2 -2
- package/dist/es/standards-sdk.es98.js +1 -1
- package/dist/es/standards-sdk.es99.js +3 -3
- package/package.json +1 -1
|
@@ -1,197 +1,309 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
1
|
+
import { proto } from "@hashgraph/proto";
|
|
2
|
+
import { hasTransactionType, parseKey } from "./standards-sdk.es217.js";
|
|
3
|
+
import { AccountId, Long, ScheduleId } from "@hashgraph/sdk";
|
|
4
|
+
class ScheduleParser {
|
|
5
|
+
/**
|
|
6
|
+
* Parse Schedule Service transaction using unified dual-branch approach
|
|
7
|
+
* This handles both regular transactions and signed transaction variants
|
|
8
|
+
*/
|
|
9
|
+
static parseScheduleTransaction(transaction, originalBytes) {
|
|
10
|
+
try {
|
|
11
|
+
if (originalBytes || transaction.toBytes) {
|
|
12
|
+
try {
|
|
13
|
+
const bytesToParse = originalBytes || transaction.toBytes();
|
|
14
|
+
const decoded = proto.TransactionList.decode(bytesToParse);
|
|
15
|
+
if (decoded.transactionList && decoded.transactionList.length > 0) {
|
|
16
|
+
const tx = decoded.transactionList[0];
|
|
17
|
+
let txBody = null;
|
|
18
|
+
if (tx.bodyBytes && tx.bodyBytes.length > 0) {
|
|
19
|
+
txBody = proto.TransactionBody.decode(tx.bodyBytes);
|
|
20
|
+
} else if (tx.signedTransactionBytes && tx.signedTransactionBytes.length > 0) {
|
|
21
|
+
const signedTx = proto.SignedTransaction.decode(
|
|
22
|
+
tx.signedTransactionBytes
|
|
23
|
+
);
|
|
24
|
+
if (signedTx.bodyBytes) {
|
|
25
|
+
txBody = proto.TransactionBody.decode(signedTx.bodyBytes);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
if (txBody) {
|
|
29
|
+
const protoResult = this.parseFromProtobufTxBody(txBody);
|
|
30
|
+
if (protoResult.type && protoResult.type !== "UNKNOWN") {
|
|
31
|
+
return protoResult;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
} catch (protoError) {
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return this.parseFromTransactionInternals(transaction);
|
|
39
|
+
} catch (error) {
|
|
40
|
+
return {
|
|
41
|
+
type: "UNKNOWN",
|
|
42
|
+
humanReadableType: "Unknown Schedule Transaction"
|
|
43
|
+
};
|
|
44
|
+
}
|
|
26
45
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Parse schedule transaction from protobuf TransactionBody
|
|
48
|
+
* Handles all schedule operations from decoded protobuf data
|
|
49
|
+
*/
|
|
50
|
+
static parseFromProtobufTxBody(txBody) {
|
|
51
|
+
if (txBody.scheduleCreate) {
|
|
52
|
+
const scheduleCreate = this.parseScheduleCreateFromProto(
|
|
53
|
+
txBody.scheduleCreate
|
|
54
|
+
);
|
|
55
|
+
if (scheduleCreate) {
|
|
56
|
+
return {
|
|
57
|
+
type: "SCHEDULECREATE",
|
|
58
|
+
humanReadableType: "Schedule Create",
|
|
59
|
+
scheduleCreate
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (txBody.scheduleSign) {
|
|
64
|
+
const scheduleSign = this.parseScheduleSignFromProto(txBody.scheduleSign);
|
|
65
|
+
if (scheduleSign) {
|
|
66
|
+
return {
|
|
67
|
+
type: "SCHEDULESIGN",
|
|
68
|
+
humanReadableType: "Schedule Sign",
|
|
69
|
+
scheduleSign
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (txBody.scheduleDelete) {
|
|
74
|
+
const scheduleDelete = this.parseScheduleDeleteFromProto(
|
|
75
|
+
txBody.scheduleDelete
|
|
76
|
+
);
|
|
77
|
+
if (scheduleDelete) {
|
|
78
|
+
return {
|
|
79
|
+
type: "SCHEDULEDELETE",
|
|
80
|
+
humanReadableType: "Schedule Delete",
|
|
81
|
+
scheduleDelete
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return {};
|
|
32
86
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
87
|
+
/**
|
|
88
|
+
* Extract schedule data from Transaction internal fields
|
|
89
|
+
* This handles cases where data is stored in Transaction object internals
|
|
90
|
+
*/
|
|
91
|
+
static parseFromTransactionInternals(transaction) {
|
|
92
|
+
try {
|
|
93
|
+
const tx = transaction;
|
|
94
|
+
if (hasTransactionType(transaction, "scheduleCreate")) {
|
|
95
|
+
const scheduleCreate = {
|
|
96
|
+
scheduledTransactionBody: Buffer.from(
|
|
97
|
+
tx._scheduledTransaction
|
|
98
|
+
).toString("base64"),
|
|
99
|
+
memo: tx._scheduleMemo,
|
|
100
|
+
adminKey: tx._adminKey ? parseKey(tx._adminKey) : void 0,
|
|
101
|
+
payerAccountId: tx._payerAccountId?.toString(),
|
|
102
|
+
expirationTime: tx._expirationTime?.toString(),
|
|
103
|
+
waitForExpiry: tx._waitForExpiry || false
|
|
104
|
+
};
|
|
105
|
+
return {
|
|
106
|
+
type: "SCHEDULECREATE",
|
|
107
|
+
humanReadableType: "Schedule Create",
|
|
108
|
+
scheduleCreate
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
if (hasTransactionType(transaction, "scheduleSign")) {
|
|
112
|
+
const scheduleSign = {
|
|
113
|
+
scheduleId: tx._scheduleId.toString()
|
|
114
|
+
};
|
|
115
|
+
return {
|
|
116
|
+
type: "SCHEDULESIGN",
|
|
117
|
+
humanReadableType: "Schedule Sign",
|
|
118
|
+
scheduleSign
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
if (hasTransactionType(transaction, "scheduleDelete")) {
|
|
122
|
+
const scheduleDelete = {
|
|
123
|
+
scheduleId: tx._scheduleId.toString()
|
|
124
|
+
};
|
|
125
|
+
return {
|
|
126
|
+
type: "SCHEDULEDELETE",
|
|
127
|
+
humanReadableType: "Schedule Delete",
|
|
128
|
+
scheduleDelete
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
return {};
|
|
132
|
+
} catch (error) {
|
|
133
|
+
return {};
|
|
134
|
+
}
|
|
41
135
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
);
|
|
47
|
-
|
|
48
|
-
|
|
136
|
+
/**
|
|
137
|
+
* Parse Schedule Create from protobuf data
|
|
138
|
+
*/
|
|
139
|
+
static parseScheduleCreateFromProto(body) {
|
|
140
|
+
if (!body) return void 0;
|
|
141
|
+
const data = {};
|
|
142
|
+
if (body.scheduledTransactionBody) {
|
|
143
|
+
const schedBytes = proto.SchedulableTransactionBody.encode(
|
|
144
|
+
proto.SchedulableTransactionBody.create(body.scheduledTransactionBody)
|
|
145
|
+
).finish();
|
|
146
|
+
data.scheduledTransactionBody = Buffer.from(schedBytes).toString("base64");
|
|
147
|
+
}
|
|
148
|
+
if (body.memo) {
|
|
149
|
+
data.memo = body.memo;
|
|
150
|
+
}
|
|
151
|
+
if (body.adminKey) {
|
|
152
|
+
data.adminKey = parseKey(body.adminKey);
|
|
153
|
+
}
|
|
154
|
+
if (body.payerAccountID) {
|
|
155
|
+
data.payerAccountId = new AccountId(
|
|
156
|
+
body.payerAccountID.shardNum ?? 0,
|
|
157
|
+
body.payerAccountID.realmNum ?? 0,
|
|
158
|
+
body.payerAccountID.accountNum ?? 0
|
|
159
|
+
).toString();
|
|
49
160
|
}
|
|
161
|
+
if (body.expirationTime?.seconds) {
|
|
162
|
+
data.expirationTime = `${Long.fromValue(
|
|
163
|
+
body.expirationTime.seconds
|
|
164
|
+
).toString()}.${body.expirationTime.nanos ?? 0}`;
|
|
165
|
+
}
|
|
166
|
+
if (body.waitForExpiry !== void 0) {
|
|
167
|
+
data.waitForExpiry = body.waitForExpiry;
|
|
168
|
+
}
|
|
169
|
+
return data;
|
|
50
170
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
171
|
+
/**
|
|
172
|
+
* Parse Schedule Sign from protobuf data
|
|
173
|
+
*/
|
|
174
|
+
static parseScheduleSignFromProto(body) {
|
|
175
|
+
if (!body) return void 0;
|
|
176
|
+
const data = {};
|
|
177
|
+
if (body.scheduleID) {
|
|
178
|
+
data.scheduleId = new ScheduleId(
|
|
179
|
+
body.scheduleID.shardNum ?? 0,
|
|
180
|
+
body.scheduleID.realmNum ?? 0,
|
|
181
|
+
body.scheduleID.scheduleNum ?? 0
|
|
182
|
+
).toString();
|
|
183
|
+
}
|
|
184
|
+
return data;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Parse Schedule Delete from protobuf data
|
|
188
|
+
*/
|
|
189
|
+
static parseScheduleDeleteFromProto(body) {
|
|
190
|
+
if (!body) return void 0;
|
|
191
|
+
const data = {};
|
|
192
|
+
if (body.scheduleID) {
|
|
193
|
+
data.scheduleId = new ScheduleId(
|
|
194
|
+
body.scheduleID.shardNum ?? 0,
|
|
195
|
+
body.scheduleID.realmNum ?? 0,
|
|
196
|
+
body.scheduleID.scheduleNum ?? 0
|
|
197
|
+
).toString();
|
|
198
|
+
}
|
|
199
|
+
return data;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Legacy method: Parse schedule create transaction
|
|
203
|
+
* @deprecated Use parseScheduleTransaction instead
|
|
204
|
+
*/
|
|
205
|
+
static parseScheduleCreate(transaction) {
|
|
206
|
+
try {
|
|
207
|
+
const result = this.parseScheduleTransaction(transaction);
|
|
208
|
+
return result.scheduleCreate || null;
|
|
209
|
+
} catch (error) {
|
|
210
|
+
console.warn("[ScheduleParser] Failed to parse schedule create:", error);
|
|
211
|
+
return null;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Legacy method: Parse schedule sign transaction
|
|
216
|
+
* @deprecated Use parseScheduleTransaction instead
|
|
217
|
+
*/
|
|
218
|
+
static parseScheduleSign(transaction) {
|
|
219
|
+
try {
|
|
220
|
+
const result = this.parseScheduleTransaction(transaction);
|
|
221
|
+
return result.scheduleSign || null;
|
|
222
|
+
} catch (error) {
|
|
223
|
+
console.warn("[ScheduleParser] Failed to parse schedule sign:", error);
|
|
224
|
+
return null;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Legacy method: Parse schedule delete transaction
|
|
229
|
+
* @deprecated Use parseScheduleTransaction instead
|
|
230
|
+
*/
|
|
231
|
+
static parseScheduleDelete(transaction) {
|
|
232
|
+
try {
|
|
233
|
+
const result = this.parseScheduleTransaction(transaction);
|
|
234
|
+
return result.scheduleDelete || null;
|
|
235
|
+
} catch (error) {
|
|
236
|
+
console.warn("[ScheduleParser] Failed to parse schedule delete:", error);
|
|
237
|
+
return null;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Parse schedule info from transaction body (for scheduled transactions)
|
|
242
|
+
*/
|
|
243
|
+
static extractScheduleInfo(transaction) {
|
|
244
|
+
try {
|
|
245
|
+
const transactionBody = transaction._transactionBody;
|
|
246
|
+
if (transactionBody?.scheduleRef) {
|
|
247
|
+
return {
|
|
248
|
+
isScheduled: true,
|
|
249
|
+
scheduleRef: transactionBody.scheduleRef.toString()
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
const tx = transaction;
|
|
253
|
+
if (tx._scheduleId || tx.scheduleId) {
|
|
254
|
+
return {
|
|
255
|
+
isScheduled: true,
|
|
256
|
+
scheduleRef: (tx._scheduleId || tx.scheduleId)?.toString()
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
return { isScheduled: false };
|
|
260
|
+
} catch (error) {
|
|
261
|
+
return { isScheduled: false };
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Parse a scheduled transaction body to extract the inner transaction
|
|
266
|
+
* This is used when a schedule contains another transaction to be executed
|
|
267
|
+
*/
|
|
268
|
+
static parseScheduledTransactionBody(scheduledTxBytes) {
|
|
269
|
+
try {
|
|
270
|
+
let bytes;
|
|
271
|
+
if (scheduledTxBytes.startsWith("0x")) {
|
|
272
|
+
const hexString = scheduledTxBytes.slice(2);
|
|
273
|
+
bytes = new Uint8Array(Buffer.from(hexString, "hex"));
|
|
274
|
+
} else {
|
|
275
|
+
bytes = new Uint8Array(Buffer.from(scheduledTxBytes, "base64"));
|
|
276
|
+
}
|
|
277
|
+
const schedulableBody = proto.SchedulableTransactionBody.decode(bytes);
|
|
278
|
+
const txType = Object.keys(schedulableBody).find(
|
|
279
|
+
(key) => schedulableBody[key] !== null && key !== "transactionFee" && key !== "memo"
|
|
280
|
+
);
|
|
281
|
+
if (txType) {
|
|
282
|
+
return {
|
|
283
|
+
type: txType.toUpperCase(),
|
|
284
|
+
body: schedulableBody[txType],
|
|
285
|
+
memo: schedulableBody.memo,
|
|
286
|
+
transactionFee: schedulableBody.transactionFee?.toString()
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
return null;
|
|
290
|
+
} catch (error) {
|
|
291
|
+
console.warn(
|
|
292
|
+
"[ScheduleParser] Failed to parse scheduled transaction body:",
|
|
293
|
+
error
|
|
294
|
+
);
|
|
295
|
+
return null;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Parse Schedule Service transaction from Transaction object
|
|
300
|
+
* This is the unified entry point that delegates to the comprehensive parsing logic
|
|
301
|
+
*/
|
|
302
|
+
static parseFromTransactionObject(transaction) {
|
|
303
|
+
return this.parseScheduleTransaction(transaction);
|
|
79
304
|
}
|
|
80
|
-
const operator = operation === "add" ? "+" : operation === "sub" ? "−" : "×";
|
|
81
|
-
return {
|
|
82
|
-
questionId: `math:${operation}:${expression}`,
|
|
83
|
-
prompt: `Answer with just the number.
|
|
84
|
-
|
|
85
|
-
What is ${left} ${operator} ${right}?`,
|
|
86
|
-
expected
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
function sciencePrompt(stem, options) {
|
|
90
|
-
const lines = options.map(
|
|
91
|
-
(option, index) => `${SCIENCE_CHOICE_LETTERS[index]}) ${option}`
|
|
92
|
-
);
|
|
93
|
-
return `Answer with just A, B, C, or D.
|
|
94
|
-
|
|
95
|
-
${stem}
|
|
96
|
-
${lines.join("\n")}`;
|
|
97
|
-
}
|
|
98
|
-
function scienceQuestion(questionId, stem, options, correctIndex) {
|
|
99
|
-
return {
|
|
100
|
-
questionId,
|
|
101
|
-
prompt: sciencePrompt(stem, options),
|
|
102
|
-
options: [options[0], options[1], options[2], options[3]],
|
|
103
|
-
correctChoice: SCIENCE_CHOICE_LETTERS[correctIndex]
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
const SIMPLE_SCIENCE_QUESTION_BANK = [
|
|
107
|
-
scienceQuestion(
|
|
108
|
-
"science:photosynthesis-gas",
|
|
109
|
-
"Which gas do plants primarily absorb during photosynthesis?",
|
|
110
|
-
["Oxygen", "Carbon dioxide", "Nitrogen", "Helium"],
|
|
111
|
-
1
|
|
112
|
-
),
|
|
113
|
-
scienceQuestion(
|
|
114
|
-
"science:water-formula",
|
|
115
|
-
"What is the chemical formula for water?",
|
|
116
|
-
["HO", "H2O2", "H2O", "O2H"],
|
|
117
|
-
2
|
|
118
|
-
),
|
|
119
|
-
scienceQuestion(
|
|
120
|
-
"science:blood-pump",
|
|
121
|
-
"Which organ pumps blood through the human body?",
|
|
122
|
-
["Liver", "Heart", "Lungs", "Kidneys"],
|
|
123
|
-
1
|
|
124
|
-
),
|
|
125
|
-
scienceQuestion(
|
|
126
|
-
"science:vacuum-speed",
|
|
127
|
-
"Which of these travels fastest in a vacuum?",
|
|
128
|
-
["Sound", "Water waves", "Wind", "Light"],
|
|
129
|
-
3
|
|
130
|
-
),
|
|
131
|
-
scienceQuestion(
|
|
132
|
-
"science:red-planet",
|
|
133
|
-
"Which planet is known as the Red Planet?",
|
|
134
|
-
["Mars", "Venus", "Jupiter", "Mercury"],
|
|
135
|
-
0
|
|
136
|
-
),
|
|
137
|
-
scienceQuestion(
|
|
138
|
-
"science:boiling-point",
|
|
139
|
-
"At what temperature does water boil at sea level, in Celsius?",
|
|
140
|
-
["50°C", "100°C", "150°C", "200°C"],
|
|
141
|
-
1
|
|
142
|
-
),
|
|
143
|
-
scienceQuestion(
|
|
144
|
-
"science:photosynthesis-energy",
|
|
145
|
-
"What is the primary source of energy for photosynthesis?",
|
|
146
|
-
["Sunlight", "Moonlight", "Lightning", "Starlight"],
|
|
147
|
-
0
|
|
148
|
-
),
|
|
149
|
-
scienceQuestion(
|
|
150
|
-
"science:atom-charge",
|
|
151
|
-
"What is the electrical charge of a proton?",
|
|
152
|
-
["Negative", "Neutral", "Positive", "Variable"],
|
|
153
|
-
2
|
|
154
|
-
)
|
|
155
|
-
];
|
|
156
|
-
function sampleSimpleScienceQuestion(rng = Math.random) {
|
|
157
|
-
const index = Math.floor(rng() * SIMPLE_SCIENCE_QUESTION_BANK.length) % SIMPLE_SCIENCE_QUESTION_BANK.length;
|
|
158
|
-
return SIMPLE_SCIENCE_QUESTION_BANK[index];
|
|
159
305
|
}
|
|
160
|
-
const hcs25SimpleEvalFieldsSchema = z.object({
|
|
161
|
-
a2aSimpleMathScore: z.number().nullish(),
|
|
162
|
-
a2aSimpleMathStatus: z.string().nullish(),
|
|
163
|
-
a2aSimpleMathQuestionId: z.string().nullish(),
|
|
164
|
-
a2aSimpleMathSessionId: z.string().nullish(),
|
|
165
|
-
a2aSimpleMathResponse: z.string().nullish(),
|
|
166
|
-
a2aSimpleMathError: z.string().nullish(),
|
|
167
|
-
a2aSimpleMathUpdatedAt: z.string().nullish(),
|
|
168
|
-
a2aSimpleScienceScore: z.number().nullish(),
|
|
169
|
-
a2aSimpleScienceStatus: z.string().nullish(),
|
|
170
|
-
a2aSimpleScienceQuestionId: z.string().nullish(),
|
|
171
|
-
a2aSimpleScienceSessionId: z.string().nullish(),
|
|
172
|
-
a2aSimpleScienceResponse: z.string().nullish(),
|
|
173
|
-
a2aSimpleScienceError: z.string().nullish(),
|
|
174
|
-
a2aSimpleScienceUpdatedAt: z.string().nullish(),
|
|
175
|
-
nandaSimpleMathScore: z.number().nullish(),
|
|
176
|
-
nandaSimpleMathStatus: z.string().nullish(),
|
|
177
|
-
nandaSimpleMathQuestionId: z.string().nullish(),
|
|
178
|
-
nandaSimpleMathResponse: z.string().nullish(),
|
|
179
|
-
nandaSimpleMathError: z.string().nullish(),
|
|
180
|
-
nandaSimpleMathUpdatedAt: z.string().nullish(),
|
|
181
|
-
nandaSimpleScienceScore: z.number().nullish(),
|
|
182
|
-
nandaSimpleScienceStatus: z.string().nullish(),
|
|
183
|
-
nandaSimpleScienceQuestionId: z.string().nullish(),
|
|
184
|
-
nandaSimpleScienceResponse: z.string().nullish(),
|
|
185
|
-
nandaSimpleScienceError: z.string().nullish(),
|
|
186
|
-
nandaSimpleScienceUpdatedAt: z.string().nullish()
|
|
187
|
-
}).passthrough();
|
|
188
306
|
export {
|
|
189
|
-
|
|
190
|
-
generateSimpleMathQuestion,
|
|
191
|
-
gradeSimpleMathResponse,
|
|
192
|
-
gradeSimpleScienceResponse,
|
|
193
|
-
hcs25SimpleEvalFieldsSchema,
|
|
194
|
-
mapSimpleEvalStatus,
|
|
195
|
-
sampleSimpleScienceQuestion
|
|
307
|
+
ScheduleParser
|
|
196
308
|
};
|
|
197
309
|
//# sourceMappingURL=standards-sdk.es163.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es163.js","sources":["../../src/hcs-25/signals/simple-evals.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport type { Hcs25SignalStatus } from '../types';\n\n/**\n * Status tokens emitted by simple eval runners, per the HCS-25 simple-evals\n * methodology.\n */\nexport type Hcs25SimpleEvalStatus =\n | 'correct'\n | 'wrong'\n | 'unparseable'\n | 'timeout'\n | 'missing'\n | 'empty'\n | 'skipped'\n | 'upstream-error'\n | 'error';\n\n/**\n * A graded simple-eval outcome. Scores are binary per the methodology.\n */\nexport interface Hcs25SimpleEvalGrade {\n status: Hcs25SimpleEvalStatus;\n score: number;\n}\n\nconst SIMPLE_EVAL_GRADE_CORRECT: Hcs25SimpleEvalGrade = {\n status: 'correct',\n score: 100,\n};\n\nconst SIMPLE_EVAL_GRADE_WRONG: Hcs25SimpleEvalGrade = {\n status: 'wrong',\n score: 0,\n};\n\nconst SIMPLE_EVAL_GRADE_UNPARSEABLE: Hcs25SimpleEvalGrade = {\n status: 'unparseable',\n score: 0,\n};\n\n/**\n * Maps a simple-eval status token onto an HCS-25 signal status code.\n * Substantive outcomes stay `ok` because the stored score carries the value;\n * skipped runs are treated as missing.\n */\nexport function mapSimpleEvalStatus(token: string | null): Hcs25SignalStatus {\n switch (token) {\n case 'timeout':\n return 'timeout';\n case 'missing':\n case 'skipped':\n return 'missing';\n case 'upstream-error':\n case 'error':\n return 'error';\n default:\n return 'ok';\n }\n}\n\n/**\n * Grades a SimpleMath response by extracting the first numeric token and\n * comparing it against the expected answer.\n */\nexport function gradeSimpleMathResponse(\n response: string,\n expected: number,\n): Hcs25SimpleEvalGrade {\n const match = response.match(/-?\\d+(?:\\.\\d+)?/);\n if (!match) {\n return SIMPLE_EVAL_GRADE_UNPARSEABLE;\n }\n\n const value = Number.parseFloat(match[0]);\n return value === expected\n ? SIMPLE_EVAL_GRADE_CORRECT\n : SIMPLE_EVAL_GRADE_WRONG;\n}\n\nconst SCIENCE_CHOICE_LETTERS = ['A', 'B', 'C', 'D'] as const;\n\n/**\n * Grades a SimpleScience response by extracting a standalone `A|B|C|D`\n * token, falling back to full option-text matching when options are\n * provided.\n */\nexport function gradeSimpleScienceResponse(\n response: string,\n correctChoice: (typeof SCIENCE_CHOICE_LETTERS)[number],\n options?: readonly string[],\n): Hcs25SimpleEvalGrade {\n const letterMatch = response.match(/\\b([A-Da-d])\\b/);\n if (letterMatch) {\n return letterMatch[1].toUpperCase() === correctChoice\n ? SIMPLE_EVAL_GRADE_CORRECT\n : SIMPLE_EVAL_GRADE_WRONG;\n }\n\n if (options) {\n const normalized = response.toLowerCase();\n const matchedIndex = options.findIndex(\n option => option.length > 0 && normalized.includes(option.toLowerCase()),\n );\n if (matchedIndex >= 0) {\n return SCIENCE_CHOICE_LETTERS[matchedIndex] === correctChoice\n ? SIMPLE_EVAL_GRADE_CORRECT\n : SIMPLE_EVAL_GRADE_WRONG;\n }\n }\n\n return SIMPLE_EVAL_GRADE_UNPARSEABLE;\n}\n\n/**\n * A generated SimpleMath question with its stable identifier and expected\n * answer.\n */\nexport interface Hcs25SimpleMathQuestion {\n questionId: string;\n prompt: string;\n expected: number;\n}\n\nfunction randomInt(\n rng: () => number,\n minInclusive: number,\n maxInclusive: number,\n): number {\n const span = maxInclusive - minInclusive + 1;\n return minInclusive + Math.floor(rng() * span);\n}\n\n/**\n * Generates a random SimpleMath question. Operand ranges follow the\n * methodology: addition uses two integers in 10–100, subtraction subtracts\n * 1–50 from 10–100, and multiplication uses small integers in 2–12. Pass a\n * seeded rng for deterministic generation.\n */\nexport function generateSimpleMathQuestion(\n rng: () => number = Math.random,\n): Hcs25SimpleMathQuestion {\n const operations = ['add', 'sub', 'mul'] as const;\n const operation =\n operations[Math.floor(rng() * operations.length) % operations.length];\n\n let left: number;\n let right: number;\n let expected: number;\n let expression: string;\n\n if (operation === 'add') {\n left = randomInt(rng, 10, 100);\n right = randomInt(rng, 10, 100);\n expected = left + right;\n expression = `${left}+${right}`;\n } else if (operation === 'sub') {\n left = randomInt(rng, 10, 100);\n right = randomInt(rng, 1, 50);\n expected = left - right;\n expression = `${left}-${right}`;\n } else {\n left = randomInt(rng, 2, 12);\n right = randomInt(rng, 2, 12);\n expected = left * right;\n expression = `${left}x${right}`;\n }\n\n const operator = operation === 'add' ? '+' : operation === 'sub' ? '−' : '×';\n\n return {\n questionId: `math:${operation}:${expression}`,\n prompt: `Answer with just the number.\\n\\nWhat is ${left} ${operator} ${right}?`,\n expected,\n };\n}\n\n/**\n * A curated SimpleScience multiple-choice question with exactly four\n * options and one unambiguous correct choice.\n */\nexport interface Hcs25SimpleScienceQuestion {\n questionId: string;\n prompt: string;\n options: readonly [string, string, string, string];\n correctChoice: (typeof SCIENCE_CHOICE_LETTERS)[number];\n}\n\nfunction sciencePrompt(stem: string, options: readonly string[]): string {\n const lines = options.map(\n (option, index) => `${SCIENCE_CHOICE_LETTERS[index]}) ${option}`,\n );\n return `Answer with just A, B, C, or D.\\n\\n${stem}\\n${lines.join('\\n')}`;\n}\n\nfunction scienceQuestion(\n questionId: string,\n stem: string,\n options: readonly string[],\n correctIndex: number,\n): Hcs25SimpleScienceQuestion {\n return {\n questionId,\n prompt: sciencePrompt(stem, options),\n options: [options[0], options[1], options[2], options[3]],\n correctChoice: SCIENCE_CHOICE_LETTERS[correctIndex],\n };\n}\n\n/**\n * A small curated bank of basic science facts spanning chemistry, biology,\n * physics, and earth science, per the methodology.\n */\nexport const SIMPLE_SCIENCE_QUESTION_BANK: readonly Hcs25SimpleScienceQuestion[] =\n [\n scienceQuestion(\n 'science:photosynthesis-gas',\n 'Which gas do plants primarily absorb during photosynthesis?',\n ['Oxygen', 'Carbon dioxide', 'Nitrogen', 'Helium'],\n 1,\n ),\n scienceQuestion(\n 'science:water-formula',\n 'What is the chemical formula for water?',\n ['HO', 'H2O2', 'H2O', 'O2H'],\n 2,\n ),\n scienceQuestion(\n 'science:blood-pump',\n 'Which organ pumps blood through the human body?',\n ['Liver', 'Heart', 'Lungs', 'Kidneys'],\n 1,\n ),\n scienceQuestion(\n 'science:vacuum-speed',\n 'Which of these travels fastest in a vacuum?',\n ['Sound', 'Water waves', 'Wind', 'Light'],\n 3,\n ),\n scienceQuestion(\n 'science:red-planet',\n 'Which planet is known as the Red Planet?',\n ['Mars', 'Venus', 'Jupiter', 'Mercury'],\n 0,\n ),\n scienceQuestion(\n 'science:boiling-point',\n 'At what temperature does water boil at sea level, in Celsius?',\n ['50°C', '100°C', '150°C', '200°C'],\n 1,\n ),\n scienceQuestion(\n 'science:photosynthesis-energy',\n 'What is the primary source of energy for photosynthesis?',\n ['Sunlight', 'Moonlight', 'Lightning', 'Starlight'],\n 0,\n ),\n scienceQuestion(\n 'science:atom-charge',\n 'What is the electrical charge of a proton?',\n ['Negative', 'Neutral', 'Positive', 'Variable'],\n 2,\n ),\n ];\n\n/**\n * Samples a random science question from the curated bank. Pass a seeded rng\n * for deterministic sampling.\n */\nexport function sampleSimpleScienceQuestion(\n rng: () => number = Math.random,\n): Hcs25SimpleScienceQuestion {\n const index =\n Math.floor(rng() * SIMPLE_SCIENCE_QUESTION_BANK.length) %\n SIMPLE_SCIENCE_QUESTION_BANK.length;\n return SIMPLE_SCIENCE_QUESTION_BANK[index];\n}\n\n/**\n * Stored-field schema for the shared A2A/NANDA simple-eval signal family.\n * Field names follow the `a2aSimple*` / `nandaSimple*` conventions.\n */\nexport const hcs25SimpleEvalFieldsSchema = z\n .object({\n a2aSimpleMathScore: z.number().nullish(),\n a2aSimpleMathStatus: z.string().nullish(),\n a2aSimpleMathQuestionId: z.string().nullish(),\n a2aSimpleMathSessionId: z.string().nullish(),\n a2aSimpleMathResponse: z.string().nullish(),\n a2aSimpleMathError: z.string().nullish(),\n a2aSimpleMathUpdatedAt: z.string().nullish(),\n a2aSimpleScienceScore: z.number().nullish(),\n a2aSimpleScienceStatus: z.string().nullish(),\n a2aSimpleScienceQuestionId: z.string().nullish(),\n a2aSimpleScienceSessionId: z.string().nullish(),\n a2aSimpleScienceResponse: z.string().nullish(),\n a2aSimpleScienceError: z.string().nullish(),\n a2aSimpleScienceUpdatedAt: z.string().nullish(),\n nandaSimpleMathScore: z.number().nullish(),\n nandaSimpleMathStatus: z.string().nullish(),\n nandaSimpleMathQuestionId: z.string().nullish(),\n nandaSimpleMathResponse: z.string().nullish(),\n nandaSimpleMathError: z.string().nullish(),\n nandaSimpleMathUpdatedAt: z.string().nullish(),\n nandaSimpleScienceScore: z.number().nullish(),\n nandaSimpleScienceStatus: z.string().nullish(),\n nandaSimpleScienceQuestionId: z.string().nullish(),\n nandaSimpleScienceResponse: z.string().nullish(),\n nandaSimpleScienceError: z.string().nullish(),\n nandaSimpleScienceUpdatedAt: z.string().nullish(),\n })\n .passthrough();\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es163.js","sources":["../../src/utils/parsers/schedule-parser.ts"],"sourcesContent":["import { Transaction } from '@hashgraph/sdk';\nimport { proto } from '@hashgraph/proto';\nimport {\n ScheduleCreateData,\n ScheduleSignData,\n ScheduleDeleteData,\n ParsedTransaction,\n} from '../transaction-parser-types';\nimport {\n parseKey,\n extractTransactionBody,\n hasTransactionType,\n} from './parser-utils';\nimport { AccountId, ScheduleId, Long } from '@hashgraph/sdk';\n\n/**\n * Schedule Operations Parser\n *\n * Specialized parser for schedule-related transaction types including:\n * - Schedule Create with inner transaction parsing\n * - Schedule Sign operations\n * - Schedule Delete operations\n * - Proper dual-branch parsing (regular vs signed transactions)\n * - Comprehensive protobuf extraction\n *\n * Scheduled transactions allow for deferred execution of transactions\n * that require multiple signatures or meet specific conditions.\n */\nexport class ScheduleParser {\n /**\n * Parse Schedule Service transaction using unified dual-branch approach\n * This handles both regular transactions and signed transaction variants\n */\n static parseScheduleTransaction(\n transaction: Transaction,\n originalBytes?: Uint8Array,\n ): {\n type?: string;\n humanReadableType?: string;\n scheduleCreate?: ScheduleCreateData;\n scheduleSign?: ScheduleSignData;\n scheduleDelete?: ScheduleDeleteData;\n [key: string]: unknown;\n } {\n try {\n if (originalBytes || transaction.toBytes) {\n try {\n const bytesToParse = originalBytes || transaction.toBytes();\n const decoded = proto.TransactionList.decode(bytesToParse);\n\n if (decoded.transactionList && decoded.transactionList.length > 0) {\n const tx = decoded.transactionList[0];\n let txBody: proto.ITransactionBody | null = null;\n\n if (tx.bodyBytes && tx.bodyBytes.length > 0) {\n txBody = proto.TransactionBody.decode(tx.bodyBytes);\n } else if (\n tx.signedTransactionBytes &&\n tx.signedTransactionBytes.length > 0\n ) {\n const signedTx = proto.SignedTransaction.decode(\n tx.signedTransactionBytes,\n );\n if (signedTx.bodyBytes) {\n txBody = proto.TransactionBody.decode(signedTx.bodyBytes);\n }\n }\n\n if (txBody) {\n const protoResult = this.parseFromProtobufTxBody(txBody);\n if (protoResult.type && protoResult.type !== 'UNKNOWN') {\n return protoResult;\n }\n }\n }\n } catch (protoError) {}\n }\n\n return this.parseFromTransactionInternals(transaction);\n } catch (error) {\n return {\n type: 'UNKNOWN',\n humanReadableType: 'Unknown Schedule Transaction',\n };\n }\n }\n\n /**\n * Parse schedule transaction from protobuf TransactionBody\n * Handles all schedule operations from decoded protobuf data\n */\n private static parseFromProtobufTxBody(txBody: proto.ITransactionBody): {\n type?: string;\n humanReadableType?: string;\n [key: string]: unknown;\n } {\n if (txBody.scheduleCreate) {\n const scheduleCreate = this.parseScheduleCreateFromProto(\n txBody.scheduleCreate,\n );\n if (scheduleCreate) {\n return {\n type: 'SCHEDULECREATE',\n humanReadableType: 'Schedule Create',\n scheduleCreate,\n };\n }\n }\n\n if (txBody.scheduleSign) {\n const scheduleSign = this.parseScheduleSignFromProto(txBody.scheduleSign);\n if (scheduleSign) {\n return {\n type: 'SCHEDULESIGN',\n humanReadableType: 'Schedule Sign',\n scheduleSign,\n };\n }\n }\n\n if (txBody.scheduleDelete) {\n const scheduleDelete = this.parseScheduleDeleteFromProto(\n txBody.scheduleDelete,\n );\n if (scheduleDelete) {\n return {\n type: 'SCHEDULEDELETE',\n humanReadableType: 'Schedule Delete',\n scheduleDelete,\n };\n }\n }\n\n return {};\n }\n\n /**\n * Extract schedule data from Transaction internal fields\n * This handles cases where data is stored in Transaction object internals\n */\n private static parseFromTransactionInternals(transaction: Transaction): {\n type?: string;\n humanReadableType?: string;\n [key: string]: unknown;\n } {\n try {\n const tx = transaction as unknown as {\n _scheduledTransaction?: Uint8Array;\n _scheduleMemo?: string;\n _adminKey?: unknown;\n _payerAccountId?: { toString(): string };\n _expirationTime?: { toString(): string };\n _waitForExpiry?: boolean;\n _scheduleId?: { toString(): string };\n constructor?: { name?: string };\n };\n\n if (hasTransactionType(transaction, 'scheduleCreate')) {\n const scheduleCreate: ScheduleCreateData = {\n scheduledTransactionBody: Buffer.from(\n tx._scheduledTransaction,\n ).toString('base64'),\n memo: tx._scheduleMemo,\n adminKey: tx._adminKey ? parseKey(tx._adminKey) : undefined,\n payerAccountId: tx._payerAccountId?.toString(),\n expirationTime: tx._expirationTime?.toString(),\n waitForExpiry: tx._waitForExpiry || false,\n };\n\n return {\n type: 'SCHEDULECREATE',\n humanReadableType: 'Schedule Create',\n scheduleCreate,\n };\n }\n\n if (hasTransactionType(transaction, 'scheduleSign')) {\n const scheduleSign: ScheduleSignData = {\n scheduleId: tx._scheduleId.toString(),\n };\n\n return {\n type: 'SCHEDULESIGN',\n humanReadableType: 'Schedule Sign',\n scheduleSign,\n };\n }\n\n if (hasTransactionType(transaction, 'scheduleDelete')) {\n const scheduleDelete: ScheduleDeleteData = {\n scheduleId: tx._scheduleId.toString(),\n };\n\n return {\n type: 'SCHEDULEDELETE',\n humanReadableType: 'Schedule Delete',\n scheduleDelete,\n };\n }\n\n return {};\n } catch (error) {\n return {};\n }\n }\n\n /**\n * Parse Schedule Create from protobuf data\n */\n static parseScheduleCreateFromProto(\n body: proto.IScheduleCreateTransactionBody,\n ): ScheduleCreateData | undefined {\n if (!body) return undefined;\n\n const data: ScheduleCreateData = {};\n\n if (body.scheduledTransactionBody) {\n const schedBytes = proto.SchedulableTransactionBody.encode(\n proto.SchedulableTransactionBody.create(body.scheduledTransactionBody),\n ).finish();\n data.scheduledTransactionBody =\n Buffer.from(schedBytes).toString('base64');\n }\n\n if (body.memo) {\n data.memo = body.memo;\n }\n\n if (body.adminKey) {\n data.adminKey = parseKey(body.adminKey);\n }\n\n if (body.payerAccountID) {\n data.payerAccountId = new AccountId(\n body.payerAccountID.shardNum ?? 0,\n body.payerAccountID.realmNum ?? 0,\n body.payerAccountID.accountNum ?? 0,\n ).toString();\n }\n\n if (body.expirationTime?.seconds) {\n data.expirationTime = `${Long.fromValue(\n body.expirationTime.seconds,\n ).toString()}.${body.expirationTime.nanos ?? 0}`;\n }\n\n if (body.waitForExpiry !== undefined) {\n data.waitForExpiry = body.waitForExpiry;\n }\n\n return data;\n }\n\n /**\n * Parse Schedule Sign from protobuf data\n */\n static parseScheduleSignFromProto(\n body: proto.IScheduleSignTransactionBody,\n ): ScheduleSignData | undefined {\n if (!body) return undefined;\n\n const data: ScheduleSignData = {};\n\n if (body.scheduleID) {\n data.scheduleId = new ScheduleId(\n body.scheduleID.shardNum ?? 0,\n body.scheduleID.realmNum ?? 0,\n body.scheduleID.scheduleNum ?? 0,\n ).toString();\n }\n\n return data;\n }\n\n /**\n * Parse Schedule Delete from protobuf data\n */\n static parseScheduleDeleteFromProto(\n body: proto.IScheduleDeleteTransactionBody,\n ): ScheduleDeleteData | undefined {\n if (!body) return undefined;\n\n const data: ScheduleDeleteData = {};\n\n if (body.scheduleID) {\n data.scheduleId = new ScheduleId(\n body.scheduleID.shardNum ?? 0,\n body.scheduleID.realmNum ?? 0,\n body.scheduleID.scheduleNum ?? 0,\n ).toString();\n }\n\n return data;\n }\n\n /**\n * Legacy method: Parse schedule create transaction\n * @deprecated Use parseScheduleTransaction instead\n */\n static parseScheduleCreate(\n transaction: Transaction,\n ): ScheduleCreateData | null {\n try {\n const result = this.parseScheduleTransaction(transaction);\n return result.scheduleCreate || null;\n } catch (error) {\n console.warn('[ScheduleParser] Failed to parse schedule create:', error);\n return null;\n }\n }\n\n /**\n * Legacy method: Parse schedule sign transaction\n * @deprecated Use parseScheduleTransaction instead\n */\n static parseScheduleSign(transaction: Transaction): ScheduleSignData | null {\n try {\n const result = this.parseScheduleTransaction(transaction);\n return result.scheduleSign || null;\n } catch (error) {\n console.warn('[ScheduleParser] Failed to parse schedule sign:', error);\n return null;\n }\n }\n\n /**\n * Legacy method: Parse schedule delete transaction\n * @deprecated Use parseScheduleTransaction instead\n */\n static parseScheduleDelete(\n transaction: Transaction,\n ): ScheduleDeleteData | null {\n try {\n const result = this.parseScheduleTransaction(transaction);\n return result.scheduleDelete || null;\n } catch (error) {\n console.warn('[ScheduleParser] Failed to parse schedule delete:', error);\n return null;\n }\n }\n\n /**\n * Parse schedule info from transaction body (for scheduled transactions)\n */\n static extractScheduleInfo(transaction: Transaction): {\n isScheduled: boolean;\n scheduleRef?: string;\n } {\n try {\n const transactionBody = (transaction as any)._transactionBody;\n\n if (transactionBody?.scheduleRef) {\n return {\n isScheduled: true,\n scheduleRef: transactionBody.scheduleRef.toString(),\n };\n }\n\n const tx = transaction as any;\n if (tx._scheduleId || tx.scheduleId) {\n return {\n isScheduled: true,\n scheduleRef: (tx._scheduleId || tx.scheduleId)?.toString(),\n };\n }\n\n return { isScheduled: false };\n } catch (error) {\n return { isScheduled: false };\n }\n }\n\n /**\n * Parse a scheduled transaction body to extract the inner transaction\n * This is used when a schedule contains another transaction to be executed\n */\n static parseScheduledTransactionBody(scheduledTxBytes: string): any {\n try {\n let bytes: Uint8Array;\n\n if (scheduledTxBytes.startsWith('0x')) {\n const hexString = scheduledTxBytes.slice(2);\n bytes = new Uint8Array(Buffer.from(hexString, 'hex'));\n } else {\n bytes = new Uint8Array(Buffer.from(scheduledTxBytes, 'base64'));\n }\n\n const schedulableBody = proto.SchedulableTransactionBody.decode(bytes);\n\n const txType = Object.keys(schedulableBody).find(\n key =>\n schedulableBody[key as keyof proto.ISchedulableTransactionBody] !==\n null &&\n key !== 'transactionFee' &&\n key !== 'memo',\n );\n\n if (txType) {\n return {\n type: txType.toUpperCase(),\n body: schedulableBody[\n txType as keyof proto.ISchedulableTransactionBody\n ],\n memo: schedulableBody.memo,\n transactionFee: schedulableBody.transactionFee?.toString(),\n };\n }\n\n return null;\n } catch (error) {\n console.warn(\n '[ScheduleParser] Failed to parse scheduled transaction body:',\n error,\n );\n return null;\n }\n }\n\n /**\n * Parse Schedule Service transaction from Transaction object\n * This is the unified entry point that delegates to the comprehensive parsing logic\n */\n static parseFromTransactionObject(transaction: Transaction): {\n type?: string;\n humanReadableType?: string;\n [key: string]: unknown;\n } {\n return this.parseScheduleTransaction(transaction);\n }\n}\n"],"names":[],"mappings":"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"}
|