@hashgraphonline/standards-sdk 0.1.143 → 0.1.144-feat-solana-register.canary.5001619.81
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/cjs/hcs-10/base-client.d.ts.map +1 -1
- package/dist/cjs/hcs-10/sdk.d.ts +8 -0
- package/dist/cjs/hcs-10/sdk.d.ts.map +1 -1
- package/dist/cjs/hcs-11/client.d.ts +2 -2
- package/dist/cjs/hcs-11/client.d.ts.map +1 -1
- package/dist/cjs/hcs-11/person-builder.d.ts +1 -0
- package/dist/cjs/hcs-11/person-builder.d.ts.map +1 -1
- package/dist/cjs/hcs-11/types.d.ts +1 -0
- package/dist/cjs/hcs-11/types.d.ts.map +1 -1
- package/dist/cjs/hcs-12/rendering/resource-manager.d.ts.map +1 -1
- package/dist/cjs/hcs-12/validation/schemas.d.ts +8 -8
- package/dist/cjs/hcs-14/issuers/hiero.d.ts.map +1 -1
- package/dist/cjs/hcs-15/browser.d.ts +2 -0
- package/dist/cjs/hcs-15/browser.d.ts.map +1 -1
- package/dist/cjs/hcs-15/sdk.d.ts +7 -1
- package/dist/cjs/hcs-15/sdk.d.ts.map +1 -1
- package/dist/cjs/hcs-15/tx.d.ts +4 -0
- package/dist/cjs/hcs-15/tx.d.ts.map +1 -1
- package/dist/cjs/hcs-15/types.d.ts +16 -1
- package/dist/cjs/hcs-15/types.d.ts.map +1 -1
- package/dist/cjs/hcs-16/browser.d.ts +11 -2
- package/dist/cjs/hcs-16/browser.d.ts.map +1 -1
- package/dist/cjs/hcs-16/sdk.d.ts +62 -1
- package/dist/cjs/hcs-16/sdk.d.ts.map +1 -1
- package/dist/cjs/hcs-16/tx.d.ts +21 -3
- package/dist/cjs/hcs-16/tx.d.ts.map +1 -1
- package/dist/cjs/hcs-17/base-client.d.ts +1 -0
- package/dist/cjs/hcs-17/base-client.d.ts.map +1 -1
- package/dist/cjs/hcs-17/sdk.d.ts.map +1 -1
- package/dist/cjs/hcs-17/tx.d.ts +2 -0
- package/dist/cjs/hcs-17/tx.d.ts.map +1 -1
- package/dist/cjs/hcs-17/types.d.ts +4 -0
- package/dist/cjs/hcs-17/types.d.ts.map +1 -1
- package/dist/cjs/hcs-21/types.d.ts +75 -75
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/client/adapters.d.ts +20 -0
- package/dist/cjs/services/registry-broker/client/adapters.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/agents.d.ts +16 -0
- package/dist/cjs/services/registry-broker/client/agents.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/base-client.d.ts +70 -0
- package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/chat-history.d.ts +23 -0
- package/dist/cjs/services/registry-broker/client/chat-history.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/chat.d.ts +33 -0
- package/dist/cjs/services/registry-broker/client/chat.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/credits.d.ts +40 -0
- package/dist/cjs/services/registry-broker/client/credits.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/encrypted-chat-manager.d.ts +35 -0
- package/dist/cjs/services/registry-broker/client/encrypted-chat-manager.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/encryption.d.ts +33 -0
- package/dist/cjs/services/registry-broker/client/encryption.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/errors.d.ts +19 -0
- package/dist/cjs/services/registry-broker/client/errors.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/feedback.d.ts +2 -0
- package/dist/cjs/services/registry-broker/client/feedback.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/ledger-auth.d.ts +10 -0
- package/dist/cjs/services/registry-broker/client/ledger-auth.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/search.d.ts +19 -0
- package/dist/cjs/services/registry-broker/client/search.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client/utils.d.ts +21 -0
- package/dist/cjs/services/registry-broker/client/utils.d.ts.map +1 -0
- package/dist/cjs/services/registry-broker/client.d.ts +2 -205
- package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/private-key-signer.d.ts +1 -0
- package/dist/cjs/services/registry-broker/private-key-signer.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/schemas.d.ts +2509 -816
- package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/types.d.ts +64 -2
- package/dist/cjs/services/registry-broker/types.d.ts.map +1 -1
- package/dist/cjs/standards-sdk.cjs +3 -3
- package/dist/cjs/standards-sdk.cjs.map +1 -1
- package/dist/cjs/utils/crypto-abstraction.d.ts.map +1 -1
- package/dist/cjs/utils/crypto-env.d.ts.map +1 -1
- package/dist/cjs/utils/dynamic-import.d.ts +5 -1
- package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
- package/dist/cjs/utils/hash-adapter.d.ts.map +1 -1
- package/dist/es/hcs-10/base-client.d.ts.map +1 -1
- package/dist/es/hcs-10/sdk.d.ts +8 -0
- package/dist/es/hcs-10/sdk.d.ts.map +1 -1
- package/dist/es/hcs-11/client.d.ts +2 -2
- package/dist/es/hcs-11/client.d.ts.map +1 -1
- package/dist/es/hcs-11/person-builder.d.ts +1 -0
- package/dist/es/hcs-11/person-builder.d.ts.map +1 -1
- package/dist/es/hcs-11/types.d.ts +1 -0
- package/dist/es/hcs-11/types.d.ts.map +1 -1
- package/dist/es/hcs-12/rendering/resource-manager.d.ts.map +1 -1
- package/dist/es/hcs-12/validation/schemas.d.ts +8 -8
- package/dist/es/hcs-14/issuers/hiero.d.ts.map +1 -1
- package/dist/es/hcs-15/browser.d.ts +2 -0
- package/dist/es/hcs-15/browser.d.ts.map +1 -1
- package/dist/es/hcs-15/sdk.d.ts +7 -1
- package/dist/es/hcs-15/sdk.d.ts.map +1 -1
- package/dist/es/hcs-15/tx.d.ts +4 -0
- package/dist/es/hcs-15/tx.d.ts.map +1 -1
- package/dist/es/hcs-15/types.d.ts +16 -1
- package/dist/es/hcs-15/types.d.ts.map +1 -1
- package/dist/es/hcs-16/browser.d.ts +11 -2
- package/dist/es/hcs-16/browser.d.ts.map +1 -1
- package/dist/es/hcs-16/sdk.d.ts +62 -1
- package/dist/es/hcs-16/sdk.d.ts.map +1 -1
- package/dist/es/hcs-16/tx.d.ts +21 -3
- package/dist/es/hcs-16/tx.d.ts.map +1 -1
- package/dist/es/hcs-17/base-client.d.ts +1 -0
- package/dist/es/hcs-17/base-client.d.ts.map +1 -1
- package/dist/es/hcs-17/sdk.d.ts.map +1 -1
- package/dist/es/hcs-17/tx.d.ts +2 -0
- package/dist/es/hcs-17/tx.d.ts.map +1 -1
- package/dist/es/hcs-17/types.d.ts +4 -0
- package/dist/es/hcs-17/types.d.ts.map +1 -1
- package/dist/es/hcs-21/types.d.ts +75 -75
- package/dist/es/index.d.ts.map +1 -1
- package/dist/es/services/registry-broker/client/adapters.d.ts +20 -0
- package/dist/es/services/registry-broker/client/adapters.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/agents.d.ts +16 -0
- package/dist/es/services/registry-broker/client/agents.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/base-client.d.ts +70 -0
- package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/chat-history.d.ts +23 -0
- package/dist/es/services/registry-broker/client/chat-history.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/chat.d.ts +33 -0
- package/dist/es/services/registry-broker/client/chat.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/credits.d.ts +40 -0
- package/dist/es/services/registry-broker/client/credits.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/encrypted-chat-manager.d.ts +35 -0
- package/dist/es/services/registry-broker/client/encrypted-chat-manager.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/encryption.d.ts +33 -0
- package/dist/es/services/registry-broker/client/encryption.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/errors.d.ts +19 -0
- package/dist/es/services/registry-broker/client/errors.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/feedback.d.ts +2 -0
- package/dist/es/services/registry-broker/client/feedback.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/ledger-auth.d.ts +10 -0
- package/dist/es/services/registry-broker/client/ledger-auth.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/search.d.ts +19 -0
- package/dist/es/services/registry-broker/client/search.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client/utils.d.ts +21 -0
- package/dist/es/services/registry-broker/client/utils.d.ts.map +1 -0
- package/dist/es/services/registry-broker/client.d.ts +2 -205
- package/dist/es/services/registry-broker/client.d.ts.map +1 -1
- package/dist/es/services/registry-broker/private-key-signer.d.ts +1 -0
- package/dist/es/services/registry-broker/private-key-signer.d.ts.map +1 -1
- package/dist/es/services/registry-broker/schemas.d.ts +2509 -816
- package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
- package/dist/es/services/registry-broker/types.d.ts +64 -2
- package/dist/es/services/registry-broker/types.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +148 -133
- package/dist/es/standards-sdk.es.js.map +1 -1
- package/dist/es/standards-sdk.es10.js +70 -90
- package/dist/es/standards-sdk.es10.js.map +1 -1
- package/dist/es/standards-sdk.es100.js +229 -26
- package/dist/es/standards-sdk.es100.js.map +1 -1
- package/dist/es/standards-sdk.es101.js +109 -228
- package/dist/es/standards-sdk.es101.js.map +1 -1
- package/dist/es/standards-sdk.es102.js +15 -94
- package/dist/es/standards-sdk.es102.js.map +1 -1
- package/dist/es/standards-sdk.es103.js +80 -30
- package/dist/es/standards-sdk.es103.js.map +1 -1
- package/dist/es/standards-sdk.es104.js +27 -80
- package/dist/es/standards-sdk.es104.js.map +1 -1
- package/dist/es/standards-sdk.es105.js +136 -25
- package/dist/es/standards-sdk.es105.js.map +1 -1
- package/dist/es/standards-sdk.es106.js +27 -140
- package/dist/es/standards-sdk.es106.js.map +1 -1
- package/dist/es/standards-sdk.es107.js +20 -27
- package/dist/es/standards-sdk.es107.js.map +1 -1
- package/dist/es/standards-sdk.es108.js +156 -18
- package/dist/es/standards-sdk.es108.js.map +1 -1
- package/dist/es/standards-sdk.es109.js +198 -148
- package/dist/es/standards-sdk.es109.js.map +1 -1
- package/dist/es/standards-sdk.es11.js +121 -45
- package/dist/es/standards-sdk.es11.js.map +1 -1
- package/dist/es/standards-sdk.es110.js +747 -160
- package/dist/es/standards-sdk.es110.js.map +1 -1
- package/dist/es/standards-sdk.es111.js +9 -786
- package/dist/es/standards-sdk.es111.js.map +1 -1
- package/dist/es/standards-sdk.es112.js +567 -13
- package/dist/es/standards-sdk.es112.js.map +1 -1
- package/dist/es/standards-sdk.es113.js +576 -541
- package/dist/es/standards-sdk.es113.js.map +1 -1
- package/dist/es/standards-sdk.es114.js +12 -601
- package/dist/es/standards-sdk.es114.js.map +1 -1
- package/dist/es/standards-sdk.es115.js +2 -13
- package/dist/es/standards-sdk.es115.js.map +1 -1
- package/dist/es/standards-sdk.es116.js +87 -2
- package/dist/es/standards-sdk.es116.js.map +1 -1
- package/dist/es/standards-sdk.es117.js +37 -80
- package/dist/es/standards-sdk.es117.js.map +1 -1
- package/dist/es/standards-sdk.es118.js +2 -39
- package/dist/es/standards-sdk.es118.js.map +1 -1
- package/dist/es/standards-sdk.es119.js +231 -2
- package/dist/es/standards-sdk.es119.js.map +1 -1
- package/dist/es/standards-sdk.es12.js +60 -159
- package/dist/es/standards-sdk.es12.js.map +1 -1
- package/dist/es/standards-sdk.es120.js +1110 -193
- package/dist/es/standards-sdk.es120.js.map +1 -1
- package/dist/es/standards-sdk.es121.js +225 -1059
- package/dist/es/standards-sdk.es121.js.map +1 -1
- package/dist/es/standards-sdk.es122.js +419 -303
- package/dist/es/standards-sdk.es122.js.map +1 -1
- package/dist/es/standards-sdk.es123.js +351 -418
- package/dist/es/standards-sdk.es123.js.map +1 -1
- package/dist/es/standards-sdk.es124.js +872 -347
- package/dist/es/standards-sdk.es124.js.map +1 -1
- package/dist/es/standards-sdk.es125.js +182 -854
- package/dist/es/standards-sdk.es125.js.map +1 -1
- package/dist/es/standards-sdk.es126.js +1512 -153
- package/dist/es/standards-sdk.es126.js.map +1 -1
- package/dist/es/standards-sdk.es127.js +157 -1547
- package/dist/es/standards-sdk.es127.js.map +1 -1
- package/dist/es/standards-sdk.es128.js +184 -2190
- package/dist/es/standards-sdk.es128.js.map +1 -1
- package/dist/es/standards-sdk.es129.js +100 -63
- package/dist/es/standards-sdk.es129.js.map +1 -1
- package/dist/es/standards-sdk.es13.js +200 -60
- package/dist/es/standards-sdk.es13.js.map +1 -1
- package/dist/es/standards-sdk.es130.js +112 -78
- package/dist/es/standards-sdk.es130.js.map +1 -1
- package/dist/es/standards-sdk.es131.js +232 -144
- package/dist/es/standards-sdk.es131.js.map +1 -1
- package/dist/es/standards-sdk.es132.js +181 -8
- package/dist/es/standards-sdk.es132.js.map +1 -1
- package/dist/es/standards-sdk.es133.js +118 -82
- package/dist/es/standards-sdk.es133.js.map +1 -1
- package/dist/es/standards-sdk.es134.js +322 -61
- package/dist/es/standards-sdk.es134.js.map +1 -1
- package/dist/es/standards-sdk.es135.js +464 -28
- package/dist/es/standards-sdk.es135.js.map +1 -1
- package/dist/es/standards-sdk.es136.js +14 -135
- package/dist/es/standards-sdk.es136.js.map +1 -1
- package/dist/es/standards-sdk.es137.js +78 -39
- package/dist/es/standards-sdk.es137.js.map +1 -1
- package/dist/es/standards-sdk.es138.js +85 -764
- package/dist/es/standards-sdk.es138.js.map +1 -1
- package/dist/es/standards-sdk.es139.js +135 -12250
- package/dist/es/standards-sdk.es139.js.map +1 -1
- package/dist/es/standards-sdk.es14.js +149 -178
- package/dist/es/standards-sdk.es14.js.map +1 -1
- package/dist/es/standards-sdk.es140.js +7 -56
- package/dist/es/standards-sdk.es140.js.map +1 -1
- package/dist/es/standards-sdk.es141.js +72 -68
- package/dist/es/standards-sdk.es141.js.map +1 -1
- package/dist/es/standards-sdk.es142.js +61 -13
- package/dist/es/standards-sdk.es142.js.map +1 -1
- package/dist/es/standards-sdk.es143.js +30 -172
- package/dist/es/standards-sdk.es143.js.map +1 -1
- package/dist/es/standards-sdk.es144.js +34 -322
- package/dist/es/standards-sdk.es144.js.map +1 -1
- package/dist/es/standards-sdk.es145.js +28 -346
- package/dist/es/standards-sdk.es145.js.map +1 -1
- package/dist/es/standards-sdk.es146.js +112 -427
- package/dist/es/standards-sdk.es146.js.map +1 -1
- package/dist/es/standards-sdk.es147.js +40 -329
- package/dist/es/standards-sdk.es147.js.map +1 -1
- package/dist/es/standards-sdk.es148.js +958 -76
- package/dist/es/standards-sdk.es148.js.map +1 -1
- package/dist/es/standards-sdk.es149.js +12292 -0
- package/dist/es/standards-sdk.es149.js.map +1 -0
- package/dist/es/standards-sdk.es15.js +152 -151
- package/dist/es/standards-sdk.es15.js.map +1 -1
- package/dist/es/standards-sdk.es150.js +59 -0
- package/dist/es/standards-sdk.es150.js.map +1 -0
- package/dist/es/standards-sdk.es151.js +87 -0
- package/dist/es/standards-sdk.es151.js.map +1 -0
- package/dist/es/standards-sdk.es152.js +20 -0
- package/dist/es/standards-sdk.es152.js.map +1 -0
- package/dist/es/standards-sdk.es153.js +175 -0
- package/dist/es/standards-sdk.es153.js.map +1 -0
- package/dist/es/standards-sdk.es154.js +325 -0
- package/dist/es/standards-sdk.es154.js.map +1 -0
- package/dist/es/standards-sdk.es155.js +349 -0
- package/dist/es/standards-sdk.es155.js.map +1 -0
- package/dist/es/standards-sdk.es156.js +456 -0
- package/dist/es/standards-sdk.es156.js.map +1 -0
- package/dist/es/standards-sdk.es157.js +334 -0
- package/dist/es/standards-sdk.es157.js.map +1 -0
- package/dist/es/standards-sdk.es158.js +79 -0
- package/dist/es/standards-sdk.es158.js.map +1 -0
- package/dist/es/standards-sdk.es159.js +242 -0
- package/dist/es/standards-sdk.es159.js.map +1 -0
- package/dist/es/standards-sdk.es16.js +917 -136
- package/dist/es/standards-sdk.es16.js.map +1 -1
- package/dist/es/standards-sdk.es160.js +247 -0
- package/dist/es/standards-sdk.es160.js.map +1 -0
- package/dist/es/standards-sdk.es17.js +23 -938
- package/dist/es/standards-sdk.es17.js.map +1 -1
- package/dist/es/standards-sdk.es18.js +2422 -24
- package/dist/es/standards-sdk.es18.js.map +1 -1
- package/dist/es/standards-sdk.es19.js +826 -2075
- package/dist/es/standards-sdk.es19.js.map +1 -1
- package/dist/es/standards-sdk.es2.js +654 -189
- package/dist/es/standards-sdk.es2.js.map +1 -1
- package/dist/es/standards-sdk.es20.js +205 -1086
- package/dist/es/standards-sdk.es20.js.map +1 -1
- package/dist/es/standards-sdk.es21.js +858 -221
- package/dist/es/standards-sdk.es21.js.map +1 -1
- package/dist/es/standards-sdk.es22.js +179 -903
- package/dist/es/standards-sdk.es22.js.map +1 -1
- package/dist/es/standards-sdk.es23.js +164 -179
- package/dist/es/standards-sdk.es23.js.map +1 -1
- package/dist/es/standards-sdk.es24.js +62 -118
- package/dist/es/standards-sdk.es24.js.map +1 -1
- package/dist/es/standards-sdk.es25.js +377 -52
- package/dist/es/standards-sdk.es25.js.map +1 -1
- package/dist/es/standards-sdk.es26.js +36 -394
- package/dist/es/standards-sdk.es26.js.map +1 -1
- package/dist/es/standards-sdk.es27.js +901 -50
- package/dist/es/standards-sdk.es27.js.map +1 -1
- package/dist/es/standards-sdk.es28.js +134 -897
- package/dist/es/standards-sdk.es28.js.map +1 -1
- package/dist/es/standards-sdk.es29.js +7 -134
- package/dist/es/standards-sdk.es29.js.map +1 -1
- package/dist/es/standards-sdk.es3.js +63 -680
- package/dist/es/standards-sdk.es3.js.map +1 -1
- package/dist/es/standards-sdk.es30.js +344 -7
- package/dist/es/standards-sdk.es30.js.map +1 -1
- package/dist/es/standards-sdk.es31.js +302 -287
- package/dist/es/standards-sdk.es31.js.map +1 -1
- package/dist/es/standards-sdk.es32.js +94 -322
- package/dist/es/standards-sdk.es32.js.map +1 -1
- package/dist/es/standards-sdk.es33.js +458 -101
- package/dist/es/standards-sdk.es33.js.map +1 -1
- package/dist/es/standards-sdk.es34.js +132 -451
- package/dist/es/standards-sdk.es34.js.map +1 -1
- package/dist/es/standards-sdk.es35.js +216 -130
- package/dist/es/standards-sdk.es35.js.map +1 -1
- package/dist/es/standards-sdk.es36.js +274 -191
- package/dist/es/standards-sdk.es36.js.map +1 -1
- package/dist/es/standards-sdk.es37.js +148 -87
- package/dist/es/standards-sdk.es37.js.map +1 -1
- package/dist/es/standards-sdk.es38.js +183 -320
- package/dist/es/standards-sdk.es38.js.map +1 -1
- package/dist/es/standards-sdk.es39.js +238 -161
- package/dist/es/standards-sdk.es39.js.map +1 -1
- package/dist/es/standards-sdk.es4.js +425 -63
- package/dist/es/standards-sdk.es4.js.map +1 -1
- package/dist/es/standards-sdk.es40.js +136 -254
- package/dist/es/standards-sdk.es40.js.map +1 -1
- package/dist/es/standards-sdk.es41.js +225 -176
- package/dist/es/standards-sdk.es41.js.map +1 -1
- package/dist/es/standards-sdk.es42.js +199 -261
- package/dist/es/standards-sdk.es42.js.map +1 -1
- package/dist/es/standards-sdk.es43.js +237 -199
- package/dist/es/standards-sdk.es43.js.map +1 -1
- package/dist/es/standards-sdk.es44.js +209 -201
- package/dist/es/standards-sdk.es44.js.map +1 -1
- package/dist/es/standards-sdk.es45.js +305 -201
- package/dist/es/standards-sdk.es45.js.map +1 -1
- package/dist/es/standards-sdk.es46.js +371 -261
- package/dist/es/standards-sdk.es46.js.map +1 -1
- package/dist/es/standards-sdk.es47.js +316 -371
- package/dist/es/standards-sdk.es47.js.map +1 -1
- package/dist/es/standards-sdk.es48.js +404 -336
- package/dist/es/standards-sdk.es48.js.map +1 -1
- package/dist/es/standards-sdk.es49.js +83 -449
- package/dist/es/standards-sdk.es49.js.map +1 -1
- package/dist/es/standards-sdk.es5.js +232 -354
- package/dist/es/standards-sdk.es5.js.map +1 -1
- package/dist/es/standards-sdk.es50.js +179 -89
- package/dist/es/standards-sdk.es50.js.map +1 -1
- package/dist/es/standards-sdk.es51.js +231 -165
- package/dist/es/standards-sdk.es51.js.map +1 -1
- package/dist/es/standards-sdk.es52.js +25 -262
- package/dist/es/standards-sdk.es52.js.map +1 -1
- package/dist/es/standards-sdk.es53.js +56 -26
- package/dist/es/standards-sdk.es53.js.map +1 -1
- package/dist/es/standards-sdk.es54.js +12 -57
- package/dist/es/standards-sdk.es54.js.map +1 -1
- package/dist/es/standards-sdk.es55.js +49 -12
- package/dist/es/standards-sdk.es55.js.map +1 -1
- package/dist/es/standards-sdk.es56.js +115 -43
- package/dist/es/standards-sdk.es56.js.map +1 -1
- package/dist/es/standards-sdk.es57.js +42 -115
- package/dist/es/standards-sdk.es57.js.map +1 -1
- package/dist/es/standards-sdk.es58.js +52 -43
- package/dist/es/standards-sdk.es58.js.map +1 -1
- package/dist/es/standards-sdk.es59.js +36 -50
- package/dist/es/standards-sdk.es59.js.map +1 -1
- package/dist/es/standards-sdk.es6.js +125 -246
- package/dist/es/standards-sdk.es6.js.map +1 -1
- package/dist/es/standards-sdk.es60.js +207 -39
- package/dist/es/standards-sdk.es60.js.map +1 -1
- package/dist/es/standards-sdk.es61.js +24 -195
- package/dist/es/standards-sdk.es61.js.map +1 -1
- package/dist/es/standards-sdk.es62.js +87 -25
- package/dist/es/standards-sdk.es62.js.map +1 -1
- package/dist/es/standards-sdk.es63.js +3 -51
- package/dist/es/standards-sdk.es63.js.map +1 -1
- package/dist/es/standards-sdk.es64.js +100 -3
- package/dist/es/standards-sdk.es64.js.map +1 -1
- package/dist/es/standards-sdk.es65.js +61 -62
- package/dist/es/standards-sdk.es65.js.map +1 -1
- package/dist/es/standards-sdk.es66.js +17 -98
- package/dist/es/standards-sdk.es66.js.map +1 -1
- package/dist/es/standards-sdk.es67.js +77 -19
- package/dist/es/standards-sdk.es67.js.map +1 -1
- package/dist/es/standards-sdk.es68.js +458 -77
- package/dist/es/standards-sdk.es68.js.map +1 -1
- package/dist/es/standards-sdk.es69.js +106 -240
- package/dist/es/standards-sdk.es69.js.map +1 -1
- package/dist/es/standards-sdk.es7.js +28 -183
- package/dist/es/standards-sdk.es7.js.map +1 -1
- package/dist/es/standards-sdk.es70.js +170 -286
- package/dist/es/standards-sdk.es70.js.map +1 -1
- package/dist/es/standards-sdk.es71.js +71 -207
- package/dist/es/standards-sdk.es71.js.map +1 -1
- package/dist/es/standards-sdk.es72.js +71 -72
- package/dist/es/standards-sdk.es72.js.map +1 -1
- package/dist/es/standards-sdk.es73.js +143 -71
- package/dist/es/standards-sdk.es73.js.map +1 -1
- package/dist/es/standards-sdk.es74.js +62 -136
- package/dist/es/standards-sdk.es74.js.map +1 -1
- package/dist/es/standards-sdk.es75.js +380 -45
- package/dist/es/standards-sdk.es75.js.map +1 -1
- package/dist/es/standards-sdk.es76.js +222 -130
- package/dist/es/standards-sdk.es76.js.map +1 -1
- package/dist/es/standards-sdk.es77.js +320 -444
- package/dist/es/standards-sdk.es77.js.map +1 -1
- package/dist/es/standards-sdk.es78.js +88 -364
- package/dist/es/standards-sdk.es78.js.map +1 -1
- package/dist/es/standards-sdk.es79.js +125 -89
- package/dist/es/standards-sdk.es79.js.map +1 -1
- package/dist/es/standards-sdk.es8.js +80 -29
- package/dist/es/standards-sdk.es8.js.map +1 -1
- package/dist/es/standards-sdk.es80.js +8 -125
- package/dist/es/standards-sdk.es80.js.map +1 -1
- package/dist/es/standards-sdk.es81.js +45 -6
- package/dist/es/standards-sdk.es81.js.map +1 -1
- package/dist/es/standards-sdk.es82.js +98 -44
- package/dist/es/standards-sdk.es82.js.map +1 -1
- package/dist/es/standards-sdk.es83.js +331 -84
- package/dist/es/standards-sdk.es83.js.map +1 -1
- package/dist/es/standards-sdk.es84.js +93 -160
- package/dist/es/standards-sdk.es84.js.map +1 -1
- package/dist/es/standards-sdk.es85.js +55 -275
- package/dist/es/standards-sdk.es85.js.map +1 -1
- package/dist/es/standards-sdk.es86.js +43 -55
- package/dist/es/standards-sdk.es86.js.map +1 -1
- package/dist/es/standards-sdk.es87.js +145 -22
- package/dist/es/standards-sdk.es87.js.map +1 -1
- package/dist/es/standards-sdk.es88.js +34 -47
- package/dist/es/standards-sdk.es88.js.map +1 -1
- package/dist/es/standards-sdk.es89.js +22 -57
- package/dist/es/standards-sdk.es89.js.map +1 -1
- package/dist/es/standards-sdk.es9.js +104 -80
- package/dist/es/standards-sdk.es9.js.map +1 -1
- package/dist/es/standards-sdk.es90.js +23 -28
- package/dist/es/standards-sdk.es90.js.map +1 -1
- package/dist/es/standards-sdk.es91.js +238 -23
- package/dist/es/standards-sdk.es91.js.map +1 -1
- package/dist/es/standards-sdk.es92.js +265 -152
- package/dist/es/standards-sdk.es92.js.map +1 -1
- package/dist/es/standards-sdk.es93.js +95 -68
- package/dist/es/standards-sdk.es93.js.map +1 -1
- package/dist/es/standards-sdk.es94.js +124 -136
- package/dist/es/standards-sdk.es94.js.map +1 -1
- package/dist/es/standards-sdk.es95.js +42 -138
- package/dist/es/standards-sdk.es95.js.map +1 -1
- package/dist/es/standards-sdk.es96.js +259 -42
- package/dist/es/standards-sdk.es96.js.map +1 -1
- package/dist/es/standards-sdk.es97.js +82 -243
- package/dist/es/standards-sdk.es97.js.map +1 -1
- package/dist/es/standards-sdk.es98.js +48 -47
- package/dist/es/standards-sdk.es98.js.map +1 -1
- package/dist/es/standards-sdk.es99.js +29 -100
- package/dist/es/standards-sdk.es99.js.map +1 -1
- package/dist/es/utils/crypto-abstraction.d.ts.map +1 -1
- package/dist/es/utils/crypto-env.d.ts.map +1 -1
- package/dist/es/utils/dynamic-import.d.ts +5 -1
- package/dist/es/utils/dynamic-import.d.ts.map +1 -1
- package/dist/es/utils/hash-adapter.d.ts.map +1 -1
- package/package.json +16 -16
- package/dist/cjs/patches/topic-autorenew-patch.d.ts +0 -2
- package/dist/cjs/patches/topic-autorenew-patch.d.ts.map +0 -1
- package/dist/es/patches/topic-autorenew-patch.d.ts +0 -2
- package/dist/es/patches/topic-autorenew-patch.d.ts.map +0 -1
|
@@ -1,204 +1,175 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { ContractId, AccountId } from "@hashgraph/sdk";
|
|
2
|
+
import { ethers } from "ethers";
|
|
3
|
+
import { Logger } from "./standards-sdk.es105.js";
|
|
4
|
+
class MapCache {
|
|
3
5
|
constructor() {
|
|
4
|
-
this.
|
|
5
|
-
this.WASM_VECTOR_LEN = 0;
|
|
6
|
-
this.cachedUint8Memory = null;
|
|
7
|
-
this.cachedDataViewMemory = null;
|
|
8
|
-
this.textEncoder = new TextEncoder();
|
|
9
|
-
this.textDecoder = new TextDecoder("utf-8", {
|
|
10
|
-
ignoreBOM: true,
|
|
11
|
-
fatal: true
|
|
12
|
-
});
|
|
13
|
-
this.textDecoder.decode();
|
|
14
|
-
this.logger = Logger.getInstance({ module: "WasmBridge" });
|
|
6
|
+
this.cache = /* @__PURE__ */ new Map();
|
|
15
7
|
}
|
|
16
|
-
|
|
17
|
-
this.
|
|
8
|
+
get(key) {
|
|
9
|
+
return this.cache.get(key);
|
|
18
10
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
throw new Error("WASM not initialized");
|
|
22
|
-
}
|
|
23
|
-
return this.wasm;
|
|
11
|
+
set(key, value) {
|
|
12
|
+
this.cache.set(key, value);
|
|
24
13
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
throw new Error("WASM not initialized");
|
|
28
|
-
}
|
|
29
|
-
if (this.cachedUint8Memory === null || this.cachedUint8Memory.byteLength === 0) {
|
|
30
|
-
this.cachedUint8Memory = new Uint8Array(this.wasm.memory.buffer);
|
|
31
|
-
}
|
|
32
|
-
return this.cachedUint8Memory;
|
|
14
|
+
delete(key) {
|
|
15
|
+
this.cache.delete(key);
|
|
33
16
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
throw new Error("WASM not initialized");
|
|
37
|
-
}
|
|
38
|
-
if (this.cachedDataViewMemory === null || this.cachedDataViewMemory.buffer !== this.wasm.memory.buffer) {
|
|
39
|
-
this.cachedDataViewMemory = new DataView(this.wasm.memory.buffer);
|
|
40
|
-
}
|
|
41
|
-
return this.cachedDataViewMemory;
|
|
17
|
+
clear() {
|
|
18
|
+
this.cache.clear();
|
|
42
19
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
20
|
+
}
|
|
21
|
+
class EVMBridge {
|
|
22
|
+
constructor(network = "mainnet-public", mirrorNodeUrl = `mirrornode.hedera.com/api/v1/contracts/call`, cache) {
|
|
23
|
+
this.network = network;
|
|
24
|
+
this.mirrorNodeUrl = mirrorNodeUrl;
|
|
25
|
+
this.cache = cache || new MapCache();
|
|
26
|
+
this.logger = Logger.getInstance({ module: "EVMBridge" });
|
|
50
27
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
let ptr = malloc(len, 1);
|
|
62
|
-
const mem = this.getUint8Memory();
|
|
63
|
-
let offset = 0;
|
|
64
|
-
for (; offset < len; offset++) {
|
|
65
|
-
const code = arg.charCodeAt(offset);
|
|
66
|
-
if (code > 127) break;
|
|
67
|
-
mem[ptr + offset] = code;
|
|
68
|
-
}
|
|
69
|
-
if (offset !== len) {
|
|
70
|
-
if (offset !== 0) {
|
|
71
|
-
arg = arg.slice(offset);
|
|
28
|
+
async executeCommands(evmConfigs, initialState = {}) {
|
|
29
|
+
let stateData = { ...initialState };
|
|
30
|
+
const results = {};
|
|
31
|
+
for (const config of evmConfigs) {
|
|
32
|
+
const cacheKey = `${config.c.contractAddress}-${config.c.abi.name}`;
|
|
33
|
+
const cachedResult = await this.cache.get(cacheKey);
|
|
34
|
+
if (cachedResult) {
|
|
35
|
+
results[config.c.abi.name] = JSON.parse(cachedResult);
|
|
36
|
+
Object.assign(stateData, results[config.c.abi.name]);
|
|
37
|
+
continue;
|
|
72
38
|
}
|
|
73
|
-
ptr = realloc(
|
|
74
|
-
ptr,
|
|
75
|
-
len,
|
|
76
|
-
len = offset + this.textEncoder.encode(arg).length * 3,
|
|
77
|
-
1
|
|
78
|
-
);
|
|
79
|
-
const view = this.getUint8Memory().subarray(ptr + offset, ptr + len);
|
|
80
|
-
const ret = this.encodeString(arg, view);
|
|
81
|
-
offset += ret.written;
|
|
82
|
-
}
|
|
83
|
-
this.WASM_VECTOR_LEN = offset;
|
|
84
|
-
return ptr;
|
|
85
|
-
}
|
|
86
|
-
getStringFromWasm(ptr, len) {
|
|
87
|
-
ptr = ptr >>> 0;
|
|
88
|
-
return this.textDecoder.decode(
|
|
89
|
-
this.getUint8Memory().subarray(ptr, ptr + len)
|
|
90
|
-
);
|
|
91
|
-
}
|
|
92
|
-
createWasmFunction(wasmFn) {
|
|
93
|
-
if (!this.wasm) {
|
|
94
|
-
throw new Error("WASM not initialized");
|
|
95
|
-
}
|
|
96
|
-
return (...args) => {
|
|
97
|
-
const retptr = this.wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
98
|
-
let deferred = [0, 0];
|
|
99
39
|
try {
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
40
|
+
const iface = new ethers.Interface([
|
|
41
|
+
{
|
|
42
|
+
...config.c.abi
|
|
43
|
+
}
|
|
44
|
+
]);
|
|
45
|
+
const command = iface.encodeFunctionData(config.c.abi.name);
|
|
46
|
+
const contractId = ContractId.fromSolidityAddress(
|
|
47
|
+
config.c.contractAddress
|
|
48
|
+
);
|
|
49
|
+
const result = await this.readFromMirrorNode(
|
|
50
|
+
command,
|
|
51
|
+
AccountId.fromString("0.0.800"),
|
|
52
|
+
contractId
|
|
53
|
+
);
|
|
54
|
+
this.logger.info(
|
|
55
|
+
`Result for ${config.c.contractAddress}:`,
|
|
56
|
+
result?.result
|
|
57
|
+
);
|
|
58
|
+
if (!result?.result) {
|
|
59
|
+
this.logger.warn(
|
|
60
|
+
`Failed to get result from mirror node for ${config.c.contractAddress}`
|
|
105
61
|
);
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
wasmFn.apply(this.wasm, wasmArgs);
|
|
110
|
-
const r0 = this.getDataViewMemory().getInt32(retptr + 4 * 0, true);
|
|
111
|
-
const r1 = this.getDataViewMemory().getInt32(retptr + 4 * 1, true);
|
|
112
|
-
deferred = [r0, r1];
|
|
113
|
-
return this.getStringFromWasm(r0, r1);
|
|
114
|
-
} finally {
|
|
115
|
-
this.wasm.__wbindgen_add_to_stack_pointer(16);
|
|
116
|
-
this.wasm.__wbindgen_free(deferred[0], deferred[1], 1);
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
async initWasm(wasmBytes) {
|
|
121
|
-
const bridge = this;
|
|
122
|
-
const imports = {
|
|
123
|
-
__wbindgen_placeholder__: {
|
|
124
|
-
__wbindgen_throw: function(ptr, len) {
|
|
125
|
-
const message = bridge.getStringFromWasm(ptr, len);
|
|
126
|
-
bridge.logger.error(`WASM error: ${message}`);
|
|
127
|
-
throw new Error(message);
|
|
62
|
+
results[config.c.abi.name] = "0";
|
|
63
|
+
Object.assign(stateData, results[config.c.abi.name]);
|
|
64
|
+
continue;
|
|
128
65
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
createStateData(wasmConfig, stateData = {}) {
|
|
145
|
-
let dynamicStateData = {};
|
|
146
|
-
if (wasmConfig?.c?.inputType?.stateData) {
|
|
147
|
-
if (stateData.latestRoundData && Object.keys(wasmConfig.c.inputType.stateData).every(
|
|
148
|
-
(key) => key in stateData.latestRoundData
|
|
149
|
-
)) {
|
|
150
|
-
dynamicStateData.latestRoundData = {};
|
|
151
|
-
Object.entries(wasmConfig.c.inputType.stateData).forEach(([key, _]) => {
|
|
152
|
-
dynamicStateData.latestRoundData[key] = String(
|
|
153
|
-
stateData.latestRoundData[key]
|
|
154
|
-
);
|
|
155
|
-
});
|
|
156
|
-
} else {
|
|
157
|
-
Object.entries(wasmConfig.c.inputType.stateData).forEach(
|
|
158
|
-
([key, type]) => {
|
|
159
|
-
const result = stateData[key];
|
|
160
|
-
if (result && typeof result === "object" && "values" in result && result.values.length > 0) {
|
|
161
|
-
dynamicStateData[key] = String(result.values[0]);
|
|
162
|
-
} else {
|
|
163
|
-
dynamicStateData[key] = this.getDefaultValueForType(
|
|
164
|
-
type
|
|
165
|
-
);
|
|
66
|
+
const decodedResult = iface?.decodeFunctionResult(
|
|
67
|
+
config.c.abi.name,
|
|
68
|
+
result.result
|
|
69
|
+
);
|
|
70
|
+
let processedResult = {
|
|
71
|
+
values: []
|
|
72
|
+
// Initialize array for values
|
|
73
|
+
};
|
|
74
|
+
if (decodedResult) {
|
|
75
|
+
config.c.abi.outputs?.forEach((output, idx) => {
|
|
76
|
+
const value = decodedResult[idx];
|
|
77
|
+
const formattedValue = formatValue(value, output.type);
|
|
78
|
+
processedResult.values.push(formattedValue);
|
|
79
|
+
if (output.name) {
|
|
80
|
+
processedResult[output.name] = formattedValue;
|
|
166
81
|
}
|
|
167
|
-
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
await this.cache.set(cacheKey, JSON.stringify(processedResult));
|
|
85
|
+
results[config.c.abi.name] = processedResult;
|
|
86
|
+
stateData[config.c.abi.name] = processedResult;
|
|
87
|
+
} catch (error) {
|
|
88
|
+
this.logger.error(
|
|
89
|
+
`Error executing command for ${config.c.contractAddress}:`,
|
|
90
|
+
error
|
|
168
91
|
);
|
|
92
|
+
results[config.c.abi.name] = "0";
|
|
93
|
+
Object.assign(stateData, results[config.c.abi.name]);
|
|
169
94
|
}
|
|
170
95
|
}
|
|
171
|
-
return
|
|
96
|
+
return { results, stateData };
|
|
172
97
|
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
98
|
+
async executeCommand(evmConfig, stateData = {}) {
|
|
99
|
+
const { results, stateData: newStateData } = await this.executeCommands(
|
|
100
|
+
[evmConfig],
|
|
101
|
+
stateData
|
|
102
|
+
);
|
|
103
|
+
return {
|
|
104
|
+
result: results[evmConfig.c.abi.name],
|
|
105
|
+
stateData: newStateData
|
|
106
|
+
};
|
|
181
107
|
}
|
|
182
|
-
|
|
183
|
-
if (!this.wasm) {
|
|
184
|
-
this.logger.error("WASM not initialized");
|
|
185
|
-
throw new Error("WASM not initialized");
|
|
186
|
-
}
|
|
108
|
+
async readFromMirrorNode(command, from, to) {
|
|
187
109
|
try {
|
|
188
|
-
|
|
189
|
-
const
|
|
190
|
-
|
|
110
|
+
const toAddress = to.toSolidityAddress();
|
|
111
|
+
const fromAddress = from.toSolidityAddress();
|
|
112
|
+
const response = await fetch(
|
|
113
|
+
`https://${this.network}.${this.mirrorNodeUrl}`,
|
|
114
|
+
{
|
|
115
|
+
method: "POST",
|
|
116
|
+
headers: {
|
|
117
|
+
"Content-Type": "application/json"
|
|
118
|
+
},
|
|
119
|
+
body: JSON.stringify({
|
|
120
|
+
block: "latest",
|
|
121
|
+
data: command,
|
|
122
|
+
estimate: false,
|
|
123
|
+
gas: 3e5,
|
|
124
|
+
gasPrice: 1e8,
|
|
125
|
+
from: fromAddress.startsWith("0x") ? fromAddress : `0x${fromAddress}`,
|
|
126
|
+
to: toAddress?.startsWith("0x") ? toAddress : `0x${toAddress}`,
|
|
127
|
+
value: 0
|
|
128
|
+
})
|
|
129
|
+
}
|
|
130
|
+
);
|
|
131
|
+
if (!response.ok) {
|
|
132
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
133
|
+
}
|
|
134
|
+
return await response.json();
|
|
191
135
|
} catch (error) {
|
|
192
|
-
this.logger.error("Error
|
|
193
|
-
|
|
136
|
+
this.logger.error("Error reading from mirror node:", error);
|
|
137
|
+
return null;
|
|
194
138
|
}
|
|
195
139
|
}
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
140
|
+
async clearCache() {
|
|
141
|
+
await this.cache.clear();
|
|
142
|
+
}
|
|
143
|
+
async clearCacheForContract(contractAddress, functionName) {
|
|
144
|
+
await this.cache.delete(`${contractAddress}-${functionName}`);
|
|
145
|
+
}
|
|
146
|
+
setLogLevel(level) {
|
|
147
|
+
this.logger.setLogLevel(level);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
function formatValue(value, type) {
|
|
151
|
+
if (value === null || value === void 0) {
|
|
152
|
+
return "0";
|
|
153
|
+
}
|
|
154
|
+
if (value._isBigNumber) {
|
|
155
|
+
return value.toString();
|
|
156
|
+
}
|
|
157
|
+
if (type.startsWith("uint") || type.startsWith("int")) {
|
|
158
|
+
return String(value);
|
|
159
|
+
} else if (type === "bool") {
|
|
160
|
+
return value ? "true" : "false";
|
|
161
|
+
} else if (type === "string") {
|
|
162
|
+
return value;
|
|
163
|
+
} else if (type === "address") {
|
|
164
|
+
return String(value).toLowerCase();
|
|
165
|
+
} else if (type.endsWith("[]")) {
|
|
166
|
+
return Array.isArray(value) ? value.map((v) => String(v)).join(",") : "";
|
|
167
|
+
} else {
|
|
168
|
+
return String(value);
|
|
199
169
|
}
|
|
200
170
|
}
|
|
201
171
|
export {
|
|
202
|
-
|
|
172
|
+
EVMBridge,
|
|
173
|
+
MapCache
|
|
203
174
|
};
|
|
204
175
|
//# sourceMappingURL=standards-sdk.es14.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es14.js","sources":["../../src/hcs-7/wasm-bridge.ts"],"sourcesContent":["import { Logger, ILogger } from '../utils/logger';\n\nexport interface BaseMessage {\n p: string;\n op: string;\n m: string;\n t?: string;\n t_id?: string;\n d?: Record<string, unknown>;\n}\n\nexport interface EVMConfig extends BaseMessage {\n c: {\n contractAddress: string;\n abi: {\n inputs: Array<{\n name: string;\n type: string;\n }>;\n name: string;\n outputs: Array<{\n name: string;\n type: string;\n }>;\n stateMutability: string;\n type: string;\n };\n };\n}\n\nexport interface WASMConfig extends BaseMessage {\n c: {\n wasmTopicId: string;\n inputType: {\n stateData: Record<string, string>;\n };\n outputType: {\n type: string;\n format: string;\n };\n };\n}\n\nexport interface WasmExports extends WebAssembly.Exports {\n __wbindgen_add_to_stack_pointer: (a: number) => number;\n __wbindgen_malloc: (a: number, b: number) => number;\n __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;\n __wbindgen_free: (a: number, b: number, c: number) => void;\n memory: WebAssembly.Memory;\n process_state: (state_json: string, messages_json: string) => string;\n get_params: () => string;\n [key: string]: any;\n}\n\nexport class WasmBridge {\n wasm: WasmExports | null = null;\n private WASM_VECTOR_LEN: number = 0;\n private cachedUint8Memory: Uint8Array | null = null;\n private cachedDataViewMemory: DataView | null = null;\n private readonly textEncoder: TextEncoder;\n private readonly textDecoder: TextDecoder;\n private logger: ILogger;\n\n constructor() {\n this.textEncoder = new TextEncoder();\n this.textDecoder = new TextDecoder('utf-8', {\n ignoreBOM: true,\n fatal: true,\n });\n this.textDecoder.decode();\n this.logger = Logger.getInstance({ module: 'WasmBridge' });\n }\n\n setLogLevel(level: 'debug' | 'info' | 'warn' | 'error'): void {\n this.logger.setLogLevel(level);\n }\n\n get wasmInstance(): WasmExports {\n if (!this.wasm) {\n throw new Error('WASM not initialized');\n }\n return this.wasm;\n }\n\n private getUint8Memory(): Uint8Array {\n if (!this.wasm) {\n throw new Error('WASM not initialized');\n }\n if (\n this.cachedUint8Memory === null ||\n this.cachedUint8Memory.byteLength === 0\n ) {\n this.cachedUint8Memory = new Uint8Array(this.wasm.memory.buffer);\n }\n return this.cachedUint8Memory;\n }\n\n private getDataViewMemory(): DataView {\n if (!this.wasm) {\n throw new Error('WASM not initialized');\n }\n if (\n this.cachedDataViewMemory === null ||\n this.cachedDataViewMemory.buffer !== this.wasm.memory.buffer\n ) {\n this.cachedDataViewMemory = new DataView(this.wasm.memory.buffer);\n }\n return this.cachedDataViewMemory;\n }\n\n private encodeString(\n arg: string,\n view: Uint8Array,\n ): { read: number; written: number } {\n if (arg.length === 0) {\n return { read: 0, written: 0 };\n }\n\n const buf = this.textEncoder.encode(arg);\n view.set(buf);\n return { read: arg.length, written: buf.length };\n }\n\n private passStringToWasm(\n arg: string,\n malloc: (a: number, b: number) => number,\n realloc?: (a: number, b: number, c: number, d: number) => number,\n ): number {\n if (realloc === undefined) {\n const buf = this.textEncoder.encode(arg);\n const ptr = malloc(buf.length, 1);\n const view = this.getUint8Memory();\n view.set(buf, ptr);\n this.WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = this.textEncoder.encode(arg).length;\n let ptr = malloc(len, 1);\n\n const mem = this.getUint8Memory();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7f) break;\n mem[ptr + offset] = code;\n }\n\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(\n ptr,\n len,\n (len = offset + this.textEncoder.encode(arg).length * 3),\n 1,\n );\n const view = this.getUint8Memory().subarray(ptr + offset, ptr + len);\n const ret = this.encodeString(arg, view);\n\n offset += ret.written;\n }\n\n this.WASM_VECTOR_LEN = offset;\n return ptr;\n }\n\n private getStringFromWasm(ptr: number, len: number): string {\n ptr = ptr >>> 0;\n return this.textDecoder.decode(\n this.getUint8Memory().subarray(ptr, ptr + len),\n );\n }\n\n createWasmFunction(\n wasmFn: (...args: any[]) => any,\n ): (...args: string[]) => string {\n if (!this.wasm) {\n throw new Error('WASM not initialized');\n }\n\n return (...args: string[]): string => {\n const retptr = this.wasm!.__wbindgen_add_to_stack_pointer(-16);\n let deferred: [number, number] = [0, 0];\n\n try {\n const ptrLenPairs = args.map(arg => {\n const ptr = this.passStringToWasm(\n arg,\n this.wasm!.__wbindgen_malloc,\n this.wasm!.__wbindgen_realloc,\n );\n return [ptr, this.WASM_VECTOR_LEN];\n });\n\n const wasmArgs = [retptr, ...ptrLenPairs.flat()];\n\n wasmFn.apply(this.wasm, wasmArgs);\n\n const r0 = this.getDataViewMemory().getInt32(retptr + 4 * 0, true);\n const r1 = this.getDataViewMemory().getInt32(retptr + 4 * 1, true);\n deferred = [r0, r1];\n\n return this.getStringFromWasm(r0, r1);\n } finally {\n this.wasm!.__wbindgen_add_to_stack_pointer(16);\n this.wasm!.__wbindgen_free(deferred[0], deferred[1], 1);\n }\n };\n }\n\n async initWasm(wasmBytes: BufferSource): Promise<WasmExports> {\n const bridge = this;\n const imports = {\n __wbindgen_placeholder__: {\n __wbindgen_throw: function (ptr: number, len: number) {\n const message = bridge.getStringFromWasm(ptr, len);\n bridge.logger.error(`WASM error: ${message}`);\n throw new Error(message);\n },\n },\n };\n\n try {\n this.logger.debug('Compiling WASM module');\n const wasmModule = await WebAssembly.compile(wasmBytes);\n this.logger.debug('Instantiating WASM module');\n const wasmInstance = await WebAssembly.instantiate(wasmModule, imports);\n this.wasm = wasmInstance.exports as WasmExports;\n this.logger.info('WASM module initialized successfully');\n return this.wasm;\n } catch (error) {\n this.logger.error('Failed to initialize WASM module', error);\n throw error;\n }\n }\n\n createStateData(wasmConfig: WASMConfig, stateData: Record<string, any> = {}) {\n let dynamicStateData: Record<string, any> = {};\n\n if (wasmConfig?.c?.inputType?.stateData) {\n if (\n stateData.latestRoundData &&\n Object.keys(wasmConfig.c.inputType.stateData).every(\n key => key in stateData.latestRoundData,\n )\n ) {\n dynamicStateData.latestRoundData = {};\n Object.entries(wasmConfig.c.inputType.stateData).forEach(([key, _]) => {\n dynamicStateData.latestRoundData[key] = String(\n stateData.latestRoundData[key],\n );\n });\n } else {\n Object.entries(wasmConfig.c.inputType.stateData).forEach(\n ([key, type]) => {\n const result = stateData[key];\n if (\n result &&\n typeof result === 'object' &&\n 'values' in result &&\n result.values.length > 0\n ) {\n dynamicStateData[key] = String(result.values[0]);\n } else {\n dynamicStateData[key] = this.getDefaultValueForType(\n type as string,\n );\n }\n },\n );\n }\n }\n return dynamicStateData;\n }\n\n private getDefaultValueForType(type: string): string {\n if (\n type.startsWith('uint') ||\n type.startsWith('int') ||\n type === 'number'\n ) {\n return '0';\n } else if (type === 'bool') {\n return 'false';\n } else {\n return '';\n }\n }\n\n executeWasm(stateData: Record<string, any>, messages: BaseMessage[]) {\n if (!this.wasm) {\n this.logger.error('WASM not initialized');\n throw new Error('WASM not initialized');\n }\n\n try {\n this.logger.debug('Executing WASM with stateData', stateData);\n const fn = this.createWasmFunction(this.wasmInstance.process_state);\n return fn(JSON.stringify(stateData), JSON.stringify(messages));\n } catch (error) {\n this.logger.error('Error executing WASM', error);\n throw error;\n }\n }\n\n getParams(): string {\n const fn = this.createWasmFunction(this.wasmInstance.get_params);\n return fn();\n }\n}\n"],"names":["ptr"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es14.js","sources":["../../src/hcs-7/evm-bridge.ts"],"sourcesContent":["import { AccountId, ContractId } from '@hashgraph/sdk';\nimport { EVMConfig } from './wasm-bridge';\nimport { ethers } from 'ethers';\nimport { Logger, ILogger } from '../utils/logger';\n\nexport interface EVMCache {\n get(key: string): Promise<string | undefined> | string | undefined;\n set(key: string, value: string): Promise<void> | void;\n delete(key: string): Promise<void> | void;\n clear(): Promise<void> | void;\n}\n\nexport class MapCache implements EVMCache {\n private cache: Map<string, string>;\n\n constructor() {\n this.cache = new Map();\n }\n\n get(key: string): string | undefined {\n return this.cache.get(key);\n }\n\n set(key: string, value: string): void {\n this.cache.set(key, value);\n }\n\n delete(key: string): void {\n this.cache.delete(key);\n }\n\n clear(): void {\n this.cache.clear();\n }\n}\n\nexport class EVMBridge {\n public network: string;\n public mirrorNodeUrl: string;\n private cache: EVMCache;\n private logger: ILogger;\n\n constructor(\n network: string = 'mainnet-public',\n mirrorNodeUrl: string = `mirrornode.hedera.com/api/v1/contracts/call`,\n cache?: EVMCache,\n ) {\n this.network = network;\n this.mirrorNodeUrl = mirrorNodeUrl;\n this.cache = cache || new MapCache();\n this.logger = Logger.getInstance({ module: 'EVMBridge' });\n }\n\n async executeCommands(\n evmConfigs: EVMConfig[],\n initialState: Record<string, string> = {},\n ): Promise<{\n results: Record<string, any>;\n stateData: Record<string, any>;\n }> {\n let stateData: Record<string, any> = { ...initialState };\n const results: Record<string, any> = {};\n\n for (const config of evmConfigs) {\n const cacheKey = `${config.c.contractAddress}-${config.c.abi.name}`;\n\n const cachedResult = await this.cache.get(cacheKey);\n if (cachedResult) {\n results[config.c.abi.name] = JSON.parse(cachedResult);\n Object.assign(stateData, results[config.c.abi.name]); // Flatten the values into stateData\n continue;\n }\n\n try {\n const iface = new ethers.Interface([\n {\n ...config.c.abi,\n },\n ]);\n const command = iface.encodeFunctionData(config.c.abi.name);\n const contractId = ContractId.fromSolidityAddress(\n config.c.contractAddress,\n );\n\n const result = await this.readFromMirrorNode(\n command,\n AccountId.fromString('0.0.800'),\n contractId,\n );\n\n this.logger.info(\n `Result for ${config.c.contractAddress}:`,\n result?.result,\n );\n\n if (!result?.result) {\n this.logger.warn(\n `Failed to get result from mirror node for ${config.c.contractAddress}`,\n );\n results[config.c.abi.name] = '0';\n Object.assign(stateData, results[config.c.abi.name]); // Flatten the values into stateData\n continue;\n }\n\n const decodedResult = iface?.decodeFunctionResult(\n config.c.abi.name,\n result.result,\n );\n let processedResult: Record<string, any> = {\n values: [], // Initialize array for values\n };\n\n if (decodedResult) {\n config.c.abi.outputs?.forEach((output, idx) => {\n const value = decodedResult[idx];\n const formattedValue = formatValue(value, output.type);\n\n processedResult.values.push(formattedValue);\n\n if (output.name) {\n processedResult[output.name] = formattedValue;\n }\n });\n }\n\n await this.cache.set(cacheKey, JSON.stringify(processedResult));\n\n results[config.c.abi.name] = processedResult;\n stateData[config.c.abi.name] = processedResult;\n } catch (error) {\n this.logger.error(\n `Error executing command for ${config.c.contractAddress}:`,\n error,\n );\n results[config.c.abi.name] = '0';\n Object.assign(stateData, results[config.c.abi.name]); // Flatten the values into stateData\n }\n }\n\n return { results, stateData };\n }\n\n async executeCommand(\n evmConfig: EVMConfig,\n stateData: Record<string, string> = {},\n ): Promise<any> {\n const { results, stateData: newStateData } = await this.executeCommands(\n [evmConfig],\n stateData,\n );\n return {\n result: results[evmConfig.c.abi.name],\n stateData: newStateData,\n };\n }\n\n async readFromMirrorNode(\n command: string,\n from: AccountId,\n to: ContractId,\n ): Promise<any> {\n try {\n const toAddress = to.toSolidityAddress();\n const fromAddress = from.toSolidityAddress();\n const response = await fetch(\n `https://${this.network}.${this.mirrorNodeUrl}`,\n {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n block: 'latest',\n data: command,\n estimate: false,\n gas: 300_000,\n gasPrice: 100000000,\n from: fromAddress.startsWith('0x')\n ? fromAddress\n : `0x${fromAddress}`,\n to: toAddress?.startsWith('0x') ? toAddress : `0x${toAddress}`,\n value: 0,\n }),\n },\n );\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n return await response.json();\n } catch (error) {\n this.logger.error('Error reading from mirror node:', error);\n return null;\n }\n }\n\n public async clearCache(): Promise<void> {\n await this.cache.clear();\n }\n\n public async clearCacheForContract(\n contractAddress: string,\n functionName: string,\n ): Promise<void> {\n await this.cache.delete(`${contractAddress}-${functionName}`);\n }\n\n public setLogLevel(level: 'debug' | 'info' | 'warn' | 'error'): void {\n this.logger.setLogLevel(level);\n }\n}\n\nfunction formatValue(value: any, type: string): string {\n if (value === null || value === undefined) {\n return '0';\n }\n\n if (value._isBigNumber) {\n return value.toString();\n }\n\n if (type.startsWith('uint') || type.startsWith('int')) {\n return String(value);\n } else if (type === 'bool') {\n return value ? 'true' : 'false';\n } else if (type === 'string') {\n return value;\n } else if (type === 'address') {\n return String(value).toLowerCase();\n } else if (type.endsWith('[]')) {\n return Array.isArray(value) ? value.map(v => String(v)).join(',') : '';\n } else {\n return String(value);\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,59 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
if (zeros === bytes.length) return "1".repeat(zeros);
|
|
8
|
-
const digits = [0];
|
|
9
|
-
for (let i = zeros; i < bytes.length; i++) {
|
|
10
|
-
let carry = bytes[i];
|
|
11
|
-
for (let j = 0; j < digits.length; j++) {
|
|
12
|
-
const val = (digits[j] << 8) + carry;
|
|
13
|
-
digits[j] = val % BASE;
|
|
14
|
-
carry = val / BASE | 0;
|
|
15
|
-
}
|
|
16
|
-
while (carry > 0) {
|
|
17
|
-
digits.push(carry % BASE);
|
|
18
|
-
carry = carry / BASE | 0;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
let result = "";
|
|
22
|
-
for (let i = 0; i < zeros; i++) result += "1";
|
|
23
|
-
for (let i = digits.length - 1; i >= 0; i--) result += ALPHABET[digits[i]];
|
|
24
|
-
return result;
|
|
25
|
-
}
|
|
26
|
-
function base58Decode(text) {
|
|
27
|
-
if (text.length === 0) return new Uint8Array(0);
|
|
28
|
-
let zeros = 0;
|
|
29
|
-
while (zeros < text.length && text[zeros] === "1") zeros++;
|
|
30
|
-
const b256 = [];
|
|
31
|
-
for (let i = zeros; i < text.length; i++) {
|
|
32
|
-
const ch = text[i];
|
|
33
|
-
const val = ALPHABET.indexOf(ch);
|
|
34
|
-
if (val === -1) throw new Error("Invalid Base58 character");
|
|
35
|
-
let carry = val;
|
|
36
|
-
for (let j = 0; j < b256.length; j++) {
|
|
37
|
-
const x = b256[j] * BASE + carry;
|
|
38
|
-
b256[j] = x & 255;
|
|
39
|
-
carry = x >> 8;
|
|
40
|
-
}
|
|
41
|
-
while (carry > 0) {
|
|
42
|
-
b256.push(carry & 255);
|
|
43
|
-
carry >>= 8;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
for (let i = 0; i < zeros; i++) b256.push(0);
|
|
47
|
-
b256.reverse();
|
|
48
|
-
return Uint8Array.from(b256);
|
|
49
|
-
}
|
|
50
|
-
function multibaseB58btcDecode(zText) {
|
|
51
|
-
if (!zText.startsWith("z")) throw new Error("Invalid multibase base58btc");
|
|
52
|
-
return base58Decode(zText.slice(1));
|
|
53
|
-
}
|
|
1
|
+
var CustomFeeType = /* @__PURE__ */ ((CustomFeeType2) => {
|
|
2
|
+
CustomFeeType2["FIXED_FEE"] = "FIXED_FEE";
|
|
3
|
+
CustomFeeType2["FRACTIONAL_FEE"] = "FRACTIONAL_FEE";
|
|
4
|
+
CustomFeeType2["ROYALTY_FEE"] = "ROYALTY_FEE";
|
|
5
|
+
return CustomFeeType2;
|
|
6
|
+
})(CustomFeeType || {});
|
|
54
7
|
export {
|
|
55
|
-
|
|
56
|
-
base58Encode,
|
|
57
|
-
multibaseB58btcDecode
|
|
8
|
+
CustomFeeType
|
|
58
9
|
};
|
|
59
10
|
//# sourceMappingURL=standards-sdk.es140.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es140.js","sources":["../../src/
|
|
1
|
+
{"version":3,"file":"standards-sdk.es140.js","sources":["../../src/fees/types.ts"],"sourcesContent":["export interface FeeConfigBuilderInterface {\n addHbarFee(\n hbarAmount: number,\n collectorAccountId?: string,\n exemptAccountIds?: string[],\n ): FeeConfigBuilderInterface;\n addTokenFee(\n tokenAmount: number,\n feeTokenId: string,\n collectorAccountId?: string,\n decimals?: number,\n exemptAccountIds?: string[],\n ): Promise<FeeConfigBuilderInterface>;\n build(): TopicFeeConfig;\n}\n\nexport enum CustomFeeType {\n FIXED_FEE = 'FIXED_FEE',\n FRACTIONAL_FEE = 'FRACTIONAL_FEE',\n ROYALTY_FEE = 'ROYALTY_FEE',\n}\n\nexport type FeeAmount = {\n amount: number;\n decimals?: number;\n};\n\nexport interface TokenFeeConfig {\n feeAmount: FeeAmount;\n feeCollectorAccountId: string;\n feeTokenId?: string;\n exemptAccounts: string[];\n type: CustomFeeType;\n}\n\nexport interface TopicFeeConfig {\n customFees: TokenFeeConfig[];\n exemptAccounts: string[];\n}\n"],"names":["CustomFeeType"],"mappings":"AAgBO,IAAK,kCAAAA,mBAAL;AACLA,iBAAA,WAAA,IAAY;AACZA,iBAAA,gBAAA,IAAiB;AACjBA,iBAAA,aAAA,IAAc;AAHJ,SAAAA;AAAA,GAAA,iBAAA,CAAA,CAAA;"}
|
|
@@ -1,85 +1,89 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { Logger } from "./standards-sdk.es105.js";
|
|
2
|
+
class ContentResolverRegistryImpl {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.resolver = null;
|
|
5
|
+
this.onUnavailableCallbacks = [];
|
|
6
|
+
this.logger = Logger.getInstance({ module: "ContentResolverRegistry" });
|
|
6
7
|
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if (typeof code === "string" && code.includes("MODULE_NOT_FOUND")) {
|
|
11
|
-
return messageText.includes(specifier);
|
|
12
|
-
}
|
|
13
|
-
if (messageText) {
|
|
14
|
-
const lowered = messageText.toLowerCase();
|
|
15
|
-
if (lowered.includes("cannot find module") || lowered.includes("module not found") || lowered.includes("cannot find package")) {
|
|
16
|
-
return lowered.includes(specifier.toLowerCase());
|
|
8
|
+
static getInstance() {
|
|
9
|
+
if (!ContentResolverRegistryImpl._instance) {
|
|
10
|
+
ContentResolverRegistryImpl._instance = new ContentResolverRegistryImpl();
|
|
17
11
|
}
|
|
12
|
+
return ContentResolverRegistryImpl._instance;
|
|
18
13
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Register a content resolver (typically called by ContentStoreManager)
|
|
16
|
+
*/
|
|
17
|
+
register(resolver) {
|
|
18
|
+
if (this.resolver) {
|
|
19
|
+
this.logger.warn("Resolver already registered, replacing existing");
|
|
20
|
+
}
|
|
21
|
+
this.resolver = resolver;
|
|
22
|
+
this.logger.info("Content resolver registered");
|
|
24
23
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Get the registered content resolver
|
|
26
|
+
*/
|
|
27
|
+
getResolver() {
|
|
28
|
+
return this.resolver;
|
|
28
29
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
nodeRequire = null;
|
|
30
|
+
/**
|
|
31
|
+
* Check if a resolver is available
|
|
32
|
+
*/
|
|
33
|
+
isAvailable() {
|
|
34
|
+
return this.resolver !== null;
|
|
35
35
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Unregister the current resolver
|
|
38
|
+
*/
|
|
39
|
+
unregister() {
|
|
40
|
+
if (this.resolver) {
|
|
41
|
+
this.resolver = null;
|
|
42
|
+
this.logger.info("Content resolver unregistered");
|
|
43
|
+
this.onUnavailableCallbacks.forEach((callback) => {
|
|
44
|
+
try {
|
|
45
|
+
callback();
|
|
46
|
+
} catch (error) {
|
|
47
|
+
this.logger.error("Error in unavailable callback:", error);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
44
50
|
}
|
|
45
|
-
throw error;
|
|
46
51
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
52
|
+
/**
|
|
53
|
+
* Register callback for when resolver becomes unavailable
|
|
54
|
+
*/
|
|
55
|
+
onUnavailable(callback) {
|
|
56
|
+
this.onUnavailableCallbacks.push(callback);
|
|
51
57
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
58
|
+
/**
|
|
59
|
+
* Remove unavailable callback
|
|
60
|
+
*/
|
|
61
|
+
offUnavailable(callback) {
|
|
62
|
+
const index = this.onUnavailableCallbacks.indexOf(callback);
|
|
63
|
+
if (index !== -1) {
|
|
64
|
+
this.onUnavailableCallbacks.splice(index, 1);
|
|
60
65
|
}
|
|
61
66
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
throw error;
|
|
67
|
+
/**
|
|
68
|
+
* Execute operation with resolver or fallback
|
|
69
|
+
*/
|
|
70
|
+
async withResolver(operation, fallback) {
|
|
71
|
+
if (this.resolver) {
|
|
72
|
+
try {
|
|
73
|
+
return await operation(this.resolver);
|
|
74
|
+
} catch (error) {
|
|
75
|
+
this.logger.warn("Resolver operation failed, using fallback:", error);
|
|
76
|
+
return await fallback();
|
|
77
|
+
}
|
|
78
|
+
} else {
|
|
79
|
+
this.logger.warn("No resolver available, using fallback");
|
|
80
|
+
return await fallback();
|
|
77
81
|
}
|
|
78
82
|
}
|
|
79
|
-
return null;
|
|
80
83
|
}
|
|
84
|
+
const ContentResolverRegistry = ContentResolverRegistryImpl.getInstance();
|
|
81
85
|
export {
|
|
82
|
-
|
|
83
|
-
|
|
86
|
+
ContentResolverRegistry,
|
|
87
|
+
ContentResolverRegistryImpl
|
|
84
88
|
};
|
|
85
89
|
//# sourceMappingURL=standards-sdk.es141.js.map
|