@hashgraphonline/standards-sdk 0.1.144 → 0.1.145
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-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/index.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/client/base-client.d.ts +14 -1
- package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -1
- 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/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 +998 -577
- package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/types.d.ts +20 -1
- package/dist/cjs/services/registry-broker/types.d.ts.map +1 -1
- package/dist/cjs/standards-sdk.cjs +2 -2
- 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-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/index.d.ts.map +1 -1
- package/dist/es/services/registry-broker/client/base-client.d.ts +14 -1
- package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -1
- 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/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 +998 -577
- package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
- package/dist/es/services/registry-broker/types.d.ts +20 -1
- package/dist/es/services/registry-broker/types.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +141 -135
- 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 -166
- 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 +192 -162
- package/dist/es/standards-sdk.es128.js.map +1 -1
- package/dist/es/standards-sdk.es129.js +61 -164
- 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 +102 -85
- package/dist/es/standards-sdk.es130.js.map +1 -1
- package/dist/es/standards-sdk.es131.js +222 -96
- package/dist/es/standards-sdk.es131.js.map +1 -1
- package/dist/es/standards-sdk.es132.js +153 -220
- package/dist/es/standards-sdk.es132.js.map +1 -1
- package/dist/es/standards-sdk.es133.js +104 -162
- package/dist/es/standards-sdk.es133.js.map +1 -1
- package/dist/es/standards-sdk.es134.js +296 -92
- package/dist/es/standards-sdk.es134.js.map +1 -1
- package/dist/es/standards-sdk.es135.js +432 -294
- package/dist/es/standards-sdk.es135.js.map +1 -1
- package/dist/es/standards-sdk.es136.js +14 -363
- package/dist/es/standards-sdk.es136.js.map +1 -1
- package/dist/es/standards-sdk.es137.js +79 -15
- package/dist/es/standards-sdk.es137.js.map +1 -1
- package/dist/es/standards-sdk.es138.js +79 -59
- package/dist/es/standards-sdk.es138.js.map +1 -1
- package/dist/es/standards-sdk.es139.js +152 -80
- 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 -159
- package/dist/es/standards-sdk.es140.js.map +1 -1
- package/dist/es/standards-sdk.es141.js +86 -7
- package/dist/es/standards-sdk.es141.js.map +1 -1
- package/dist/es/standards-sdk.es142.js +44 -65
- package/dist/es/standards-sdk.es142.js.map +1 -1
- package/dist/es/standards-sdk.es143.js +30 -65
- package/dist/es/standards-sdk.es143.js.map +1 -1
- package/dist/es/standards-sdk.es144.js +34 -28
- package/dist/es/standards-sdk.es144.js.map +1 -1
- package/dist/es/standards-sdk.es145.js +28 -138
- package/dist/es/standards-sdk.es145.js.map +1 -1
- package/dist/es/standards-sdk.es146.js +133 -37
- package/dist/es/standards-sdk.es146.js.map +1 -1
- package/dist/es/standards-sdk.es147.js +34 -12281
- package/dist/es/standards-sdk.es147.js.map +1 -1
- package/dist/es/standards-sdk.es148.js +12284 -12
- package/dist/es/standards-sdk.es148.js.map +1 -1
- package/dist/es/standards-sdk.es149.js +958 -56
- package/dist/es/standards-sdk.es149.js.map +1 -1
- 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 +48 -74
- package/dist/es/standards-sdk.es150.js.map +1 -1
- package/dist/es/standards-sdk.es151.js +72 -160
- package/dist/es/standards-sdk.es151.js.map +1 -1
- package/dist/es/standards-sdk.es152.js +13 -318
- package/dist/es/standards-sdk.es152.js.map +1 -1
- package/dist/es/standards-sdk.es153.js +120 -294
- package/dist/es/standards-sdk.es153.js.map +1 -1
- package/dist/es/standards-sdk.es154.js +191 -322
- package/dist/es/standards-sdk.es154.js.map +1 -1
- package/dist/es/standards-sdk.es155.js +294 -279
- package/dist/es/standards-sdk.es155.js.map +1 -1
- package/dist/es/standards-sdk.es156.js +440 -63
- package/dist/es/standards-sdk.es156.js.map +1 -1
- package/dist/es/standards-sdk.es157.js +331 -871
- package/dist/es/standards-sdk.es157.js.map +1 -1
- package/dist/es/standards-sdk.es158.js +68 -231
- package/dist/es/standards-sdk.es158.js.map +1 -1
- package/dist/es/standards-sdk.es159.js +218 -223
- package/dist/es/standards-sdk.es159.js.map +1 -1
- 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 -944
- 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 +817 -2071
- 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 -1091
- 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 -902
- 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 +273 -195
- 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 -200
- 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 -370
- 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 +8 -7
- 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,257 +1,335 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import "./standards-sdk.
|
|
4
|
-
import "./standards-sdk.
|
|
5
|
-
import "./standards-sdk.
|
|
6
|
-
import "./standards-sdk.
|
|
7
|
-
import "./standards-sdk.
|
|
8
|
-
import "./standards-sdk.
|
|
9
|
-
import "./standards-sdk.
|
|
10
|
-
import "./standards-sdk.
|
|
11
|
-
import "
|
|
12
|
-
import "
|
|
13
|
-
|
|
14
|
-
import "zod";
|
|
15
|
-
import "./standards-sdk.es139.js";
|
|
16
|
-
import "./standards-sdk.es147.js";
|
|
17
|
-
import "@hashgraph/proto";
|
|
18
|
-
import "@hashgraph/sdk";
|
|
19
|
-
import "ethers";
|
|
20
|
-
import "./standards-sdk.es123.js";
|
|
21
|
-
import "file-type";
|
|
22
|
-
import "bignumber.js";
|
|
23
|
-
import "./standards-sdk.es43.js";
|
|
24
|
-
import { BlockLoader } from "./standards-sdk.es33.js";
|
|
25
|
-
import { AssemblyRegistry } from "./standards-sdk.es34.js";
|
|
26
|
-
import { AssemblyEngine } from "./standards-sdk.es44.js";
|
|
27
|
-
class HCS12BaseClient {
|
|
1
|
+
import { Client } from "@hashgraph/sdk";
|
|
2
|
+
import { HCS12BaseClient } from "./standards-sdk.es35.js";
|
|
3
|
+
import { createNodeOperatorContext } from "./standards-sdk.es146.js";
|
|
4
|
+
import { RegistryType } from "./standards-sdk.es29.js";
|
|
5
|
+
import { inscribe } from "./standards-sdk.es124.js";
|
|
6
|
+
import { InscriptionSDK } from "./standards-sdk.es148.js";
|
|
7
|
+
import { ActionRegistry } from "./standards-sdk.es31.js";
|
|
8
|
+
import { BlockLoader } from "./standards-sdk.es32.js";
|
|
9
|
+
import { AssemblyRegistry } from "./standards-sdk.es33.js";
|
|
10
|
+
import { HashLinksRegistry } from "./standards-sdk.es34.js";
|
|
11
|
+
import * as mime from "mime-types";
|
|
12
|
+
import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es147.js";
|
|
13
|
+
class HCS12Client extends HCS12BaseClient {
|
|
28
14
|
constructor(config) {
|
|
29
|
-
|
|
30
|
-
this.
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
15
|
+
super(config);
|
|
16
|
+
this.operatorAccountId = config.operatorId;
|
|
17
|
+
this.operatorCtx = createNodeOperatorContext({
|
|
18
|
+
network: this.network,
|
|
19
|
+
operatorId: this.operatorAccountId,
|
|
20
|
+
operatorKey: config.operatorPrivateKey,
|
|
21
|
+
keyType: config.keyType,
|
|
22
|
+
mirrorNode: this.mirrorNode,
|
|
23
|
+
logger: this.logger,
|
|
24
|
+
client: config.network === "mainnet" ? Client.forMainnet() : Client.forTestnet()
|
|
25
|
+
});
|
|
26
|
+
this.client = this.operatorCtx.client;
|
|
27
|
+
this.logger.info("HCS-12 SDK Client initialized", {
|
|
28
|
+
network: config.network,
|
|
29
|
+
operatorId: this.operatorAccountId,
|
|
30
|
+
keyType: this.operatorCtx.keyType
|
|
35
31
|
});
|
|
36
|
-
this.mirrorNode = new HederaMirrorNode(
|
|
37
|
-
config.network,
|
|
38
|
-
this.logger,
|
|
39
|
-
config.mirrorNode
|
|
40
|
-
);
|
|
41
32
|
}
|
|
42
33
|
/**
|
|
43
34
|
* Initialize registries with optional existing topic IDs
|
|
44
35
|
*/
|
|
45
36
|
initializeRegistries(topicIds) {
|
|
46
|
-
|
|
47
|
-
this.
|
|
48
|
-
this._hashLinksRegistryTopicId = topicIds?.hashlinks;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Register a new assembly in the assembly registry
|
|
52
|
-
*/
|
|
53
|
-
async registerAssembly(registration) {
|
|
54
|
-
if (!this._assemblyRegistry) {
|
|
55
|
-
throw new Error("Assembly registry not initialized");
|
|
56
|
-
}
|
|
57
|
-
const id = await this._assemblyRegistry.register(registration);
|
|
58
|
-
return { id };
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Get action by hash
|
|
62
|
-
*/
|
|
63
|
-
async getAction(hash) {
|
|
64
|
-
if (!this._actionRegistry) {
|
|
65
|
-
throw new Error("Action registry not initialized");
|
|
66
|
-
}
|
|
67
|
-
return this._actionRegistry.getAction(hash);
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Load block from HCS-1
|
|
71
|
-
*/
|
|
72
|
-
async loadBlock(blockTopicId) {
|
|
73
|
-
if (!this._blockLoader) {
|
|
74
|
-
this._blockLoader = new BlockLoader(
|
|
75
|
-
this.network,
|
|
76
|
-
this.logger,
|
|
77
|
-
this
|
|
78
|
-
);
|
|
79
|
-
}
|
|
80
|
-
return this._blockLoader.loadBlock(blockTopicId);
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Get assembly by name and version
|
|
84
|
-
*/
|
|
85
|
-
async getAssembly(name, version) {
|
|
86
|
-
if (!this._assemblyRegistry) {
|
|
87
|
-
throw new Error("Assembly registry not initialized");
|
|
88
|
-
}
|
|
89
|
-
const entries = await this._assemblyRegistry.listEntries();
|
|
90
|
-
for (const entry of entries) {
|
|
91
|
-
const state = await this._assemblyRegistry.getAssemblyState(entry.id);
|
|
92
|
-
if (state && state.name === name && state.version === version) {
|
|
93
|
-
return state;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
return null;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Load and resolve a complete assembly by topic ID
|
|
100
|
-
*/
|
|
101
|
-
async loadAssembly(topicId) {
|
|
102
|
-
if (this._actionRegistry) {
|
|
103
|
-
this.logger.info("Syncing action registry before loading assembly");
|
|
104
|
-
await this._actionRegistry.sync();
|
|
105
|
-
}
|
|
106
|
-
const assemblyRegistry = new AssemblyRegistry(
|
|
37
|
+
super.initializeRegistries(topicIds);
|
|
38
|
+
this._actionRegistry = new ActionRegistry(
|
|
107
39
|
this.network,
|
|
108
40
|
this.logger,
|
|
109
|
-
|
|
41
|
+
this.actionRegistryTopicId,
|
|
42
|
+
this
|
|
43
|
+
);
|
|
44
|
+
this._blockLoader = new BlockLoader(this.network, this.logger, this);
|
|
45
|
+
this._assemblyRegistry = new AssemblyRegistry(
|
|
46
|
+
this.network,
|
|
47
|
+
this.logger,
|
|
48
|
+
this._assemblyRegistryTopicId,
|
|
110
49
|
this
|
|
111
50
|
);
|
|
112
|
-
|
|
113
|
-
|
|
51
|
+
this._hashLinksRegistry = new HashLinksRegistry(
|
|
52
|
+
this.network,
|
|
114
53
|
this.logger,
|
|
115
|
-
|
|
116
|
-
this
|
|
117
|
-
this._blockLoader
|
|
54
|
+
this._hashLinksRegistryTopicId,
|
|
55
|
+
this
|
|
118
56
|
);
|
|
119
|
-
|
|
57
|
+
this.logger.info("Registries initialized", {
|
|
58
|
+
actionTopicId: this.actionRegistryTopicId,
|
|
59
|
+
assemblyTopicId: this._assemblyRegistryTopicId,
|
|
60
|
+
hashLinksTopicId: this._hashLinksRegistryTopicId
|
|
61
|
+
});
|
|
120
62
|
}
|
|
121
63
|
/**
|
|
122
|
-
*
|
|
64
|
+
* Create a new HCS topic for a registry
|
|
123
65
|
*/
|
|
124
|
-
async
|
|
125
|
-
|
|
126
|
-
|
|
66
|
+
async createRegistryTopic(registryType, adminKey, submitKey) {
|
|
67
|
+
const memos = {
|
|
68
|
+
[RegistryType.ACTION]: "hcs-12:1:60:0",
|
|
69
|
+
[RegistryType.ASSEMBLY]: "hcs-12:1:60:2",
|
|
70
|
+
[RegistryType.HASHLINKS]: "hcs-12:1:60:3"
|
|
71
|
+
};
|
|
72
|
+
const memo = memos[registryType];
|
|
73
|
+
this.logger.info("Creating registry topic", {
|
|
74
|
+
registryType: RegistryType[registryType],
|
|
75
|
+
memo
|
|
76
|
+
});
|
|
77
|
+
const transaction = buildTopicCreateTx({
|
|
78
|
+
memo,
|
|
79
|
+
adminKey,
|
|
80
|
+
submitKey,
|
|
81
|
+
operatorPublicKey: this.client.operatorPublicKey || void 0
|
|
82
|
+
});
|
|
83
|
+
const txResponse = await transaction.execute(this.client);
|
|
84
|
+
const receipt = await txResponse.getReceipt(this.client);
|
|
85
|
+
if (!receipt.topicId) {
|
|
86
|
+
throw new Error("Failed to create topic: topicId is null");
|
|
87
|
+
}
|
|
88
|
+
const topicId = receipt.topicId.toString();
|
|
89
|
+
this.logger.info("Registry topic created", {
|
|
90
|
+
topicId,
|
|
91
|
+
registryType: RegistryType[registryType]
|
|
92
|
+
});
|
|
93
|
+
switch (registryType) {
|
|
94
|
+
case RegistryType.ACTION:
|
|
95
|
+
this.actionRegistryTopicId = topicId;
|
|
96
|
+
break;
|
|
97
|
+
case RegistryType.ASSEMBLY:
|
|
98
|
+
this._assemblyRegistryTopicId = topicId;
|
|
99
|
+
break;
|
|
100
|
+
case RegistryType.HASHLINKS:
|
|
101
|
+
break;
|
|
127
102
|
}
|
|
128
|
-
return
|
|
103
|
+
return topicId;
|
|
129
104
|
}
|
|
130
105
|
/**
|
|
131
|
-
*
|
|
106
|
+
* Register an assembly on its own topic
|
|
132
107
|
*/
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
this._assemblyEngine = new AssemblyEngine(
|
|
141
|
-
this.logger,
|
|
142
|
-
this._assemblyRegistry,
|
|
143
|
-
this._actionRegistry,
|
|
144
|
-
this._blockLoader
|
|
145
|
-
);
|
|
146
|
-
}
|
|
108
|
+
async registerAssemblyDirect(assemblyTopicId, registration) {
|
|
109
|
+
this.logger.info("Registering assembly", {
|
|
110
|
+
topicId: assemblyTopicId,
|
|
111
|
+
name: registration.name,
|
|
112
|
+
version: registration.version
|
|
113
|
+
});
|
|
114
|
+
return this._submitMessage(assemblyTopicId, JSON.stringify(registration));
|
|
147
115
|
}
|
|
148
116
|
/**
|
|
149
|
-
*
|
|
117
|
+
* Add a block to an assembly
|
|
150
118
|
*/
|
|
151
|
-
async
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
return
|
|
119
|
+
async addBlockToAssembly(assemblyTopicId, block) {
|
|
120
|
+
this.logger.info("Adding block to assembly", {
|
|
121
|
+
assemblyTopicId,
|
|
122
|
+
blockTopicId: block.block_t_id
|
|
123
|
+
});
|
|
124
|
+
return this._submitMessage(assemblyTopicId, JSON.stringify(block));
|
|
157
125
|
}
|
|
158
126
|
/**
|
|
159
|
-
*
|
|
127
|
+
* Add an action to an assembly
|
|
160
128
|
*/
|
|
161
|
-
async
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
129
|
+
async addActionToAssembly(assemblyTopicId, action) {
|
|
130
|
+
this.logger.info("Adding action to assembly", {
|
|
131
|
+
assemblyTopicId,
|
|
132
|
+
actionTopicId: action.t_id,
|
|
133
|
+
alias: action.alias
|
|
134
|
+
});
|
|
135
|
+
return this._submitMessage(assemblyTopicId, JSON.stringify(action));
|
|
166
136
|
}
|
|
167
137
|
/**
|
|
168
|
-
*
|
|
138
|
+
* Update assembly metadata
|
|
169
139
|
*/
|
|
170
|
-
async
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
140
|
+
async updateAssembly(assemblyTopicId, update) {
|
|
141
|
+
this.logger.info("Updating assembly", {
|
|
142
|
+
assemblyTopicId,
|
|
143
|
+
update
|
|
144
|
+
});
|
|
145
|
+
return this._submitMessage(assemblyTopicId, JSON.stringify(update));
|
|
175
146
|
}
|
|
176
147
|
/**
|
|
177
|
-
*
|
|
148
|
+
* Submit a message to an HCS topic
|
|
149
|
+
* @deprecated Use operation-specific methods instead
|
|
178
150
|
*/
|
|
179
|
-
async
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
return this.
|
|
151
|
+
async submitMessage(topicId, message, submitKey) {
|
|
152
|
+
this.logger.warn(
|
|
153
|
+
"submitMessage is deprecated. Use operation-specific methods instead."
|
|
154
|
+
);
|
|
155
|
+
return this._submitMessage(topicId, message, submitKey);
|
|
184
156
|
}
|
|
185
157
|
/**
|
|
186
|
-
*
|
|
158
|
+
* Internal method to submit a message to an HCS topic
|
|
187
159
|
*/
|
|
188
|
-
async
|
|
189
|
-
|
|
190
|
-
|
|
160
|
+
async _submitMessage(topicId, message, submitKey) {
|
|
161
|
+
this.logger.debug("Submitting message to topic", {
|
|
162
|
+
topicId,
|
|
163
|
+
messageLength: message.length
|
|
164
|
+
});
|
|
165
|
+
const transaction = buildMessageTx({ topicId, message });
|
|
166
|
+
let transactionResponse;
|
|
167
|
+
if (submitKey) {
|
|
168
|
+
const frozenTransaction = transaction.freezeWith(this.client);
|
|
169
|
+
const signedTransaction = await frozenTransaction.sign(submitKey);
|
|
170
|
+
transactionResponse = await signedTransaction.execute(this.client);
|
|
171
|
+
} else {
|
|
172
|
+
transactionResponse = await transaction.execute(this.client);
|
|
191
173
|
}
|
|
192
|
-
|
|
174
|
+
const receipt = await transactionResponse.getReceipt(this.client);
|
|
175
|
+
this.logger.info("Message submitted successfully", {
|
|
176
|
+
topicId,
|
|
177
|
+
transactionId: transactionResponse.transactionId.toString(),
|
|
178
|
+
sequenceNumber: receipt.topicSequenceNumber?.toString()
|
|
179
|
+
});
|
|
180
|
+
return {
|
|
181
|
+
transactionId: transactionResponse.transactionId.toString(),
|
|
182
|
+
sequenceNumber: receipt.topicSequenceNumber ? Number(receipt.topicSequenceNumber) : void 0
|
|
183
|
+
};
|
|
193
184
|
}
|
|
194
185
|
/**
|
|
195
|
-
*
|
|
186
|
+
* Get the Hedera client instance
|
|
196
187
|
*/
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
if (this._actionRegistry) {
|
|
200
|
-
promises.push(this._actionRegistry.sync());
|
|
201
|
-
}
|
|
202
|
-
if (this._assemblyRegistry) {
|
|
203
|
-
promises.push(this._assemblyRegistry.sync());
|
|
204
|
-
}
|
|
205
|
-
if (this._hashLinksRegistry) {
|
|
206
|
-
promises.push(this._hashLinksRegistry.sync());
|
|
207
|
-
}
|
|
208
|
-
await Promise.all(promises);
|
|
188
|
+
getClient() {
|
|
189
|
+
return this.client;
|
|
209
190
|
}
|
|
210
191
|
/**
|
|
211
|
-
* Get
|
|
192
|
+
* Get operator account ID
|
|
212
193
|
*/
|
|
213
|
-
|
|
214
|
-
return
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
194
|
+
getOperatorAccountId() {
|
|
195
|
+
return this.operatorAccountId;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Get operator private key
|
|
199
|
+
*/
|
|
200
|
+
getOperatorPrivateKey() {
|
|
201
|
+
return this.operatorCtx.operatorKey.toString();
|
|
219
202
|
}
|
|
220
203
|
/**
|
|
221
|
-
*
|
|
204
|
+
* Inscribe a file using HCS-1 protocol
|
|
222
205
|
*/
|
|
223
|
-
|
|
224
|
-
this.
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
206
|
+
async inscribeFile(buffer, fileName, options) {
|
|
207
|
+
this.logger.info("Inscribing file via HCS-1", { fileName });
|
|
208
|
+
const mimeType = mime.lookup(fileName) || "application/octet-stream";
|
|
209
|
+
const sdk = await InscriptionSDK.createWithAuth({
|
|
210
|
+
type: "server",
|
|
211
|
+
accountId: this.operatorAccountId,
|
|
212
|
+
privateKey: this.operatorCtx.operatorKey.toString(),
|
|
213
|
+
network: this.network
|
|
214
|
+
});
|
|
215
|
+
const inscriptionOptions = {
|
|
216
|
+
mode: "file",
|
|
217
|
+
waitForConfirmation: true,
|
|
218
|
+
waitMaxAttempts: options?.waitMaxAttempts || 30,
|
|
219
|
+
waitIntervalMs: options?.waitIntervalMs || 4e3,
|
|
220
|
+
progressCallback: options?.progressCallback,
|
|
221
|
+
logging: {
|
|
222
|
+
level: this.logger.getLevel ? this.logger.getLevel() : "info"
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
const response = await inscribe(
|
|
226
|
+
{
|
|
227
|
+
type: "buffer",
|
|
228
|
+
buffer,
|
|
229
|
+
fileName,
|
|
230
|
+
mimeType
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
accountId: this.operatorAccountId,
|
|
234
|
+
privateKey: this.operatorCtx.operatorKey,
|
|
235
|
+
network: this.network
|
|
236
|
+
},
|
|
237
|
+
inscriptionOptions,
|
|
238
|
+
sdk
|
|
239
|
+
);
|
|
240
|
+
if (!response.confirmed || !response.inscription) {
|
|
241
|
+
throw new Error("Inscription failed to confirm");
|
|
242
|
+
}
|
|
243
|
+
return response.inscription;
|
|
228
244
|
}
|
|
229
245
|
/**
|
|
230
|
-
*
|
|
246
|
+
* Create a new assembly topic
|
|
231
247
|
*/
|
|
232
|
-
|
|
233
|
-
|
|
248
|
+
async createAssemblyTopic() {
|
|
249
|
+
if (!this._assemblyRegistry) {
|
|
250
|
+
throw new Error("Assembly registry not initialized");
|
|
251
|
+
}
|
|
252
|
+
return this._assemblyRegistry.createAssemblyTopic();
|
|
234
253
|
}
|
|
235
254
|
/**
|
|
236
|
-
*
|
|
255
|
+
* Register an action
|
|
237
256
|
*/
|
|
238
|
-
|
|
239
|
-
|
|
257
|
+
async registerAction(builder) {
|
|
258
|
+
const registration = builder.build();
|
|
259
|
+
if (!this._actionRegistry) {
|
|
260
|
+
throw new Error("Action registry not initialized");
|
|
261
|
+
}
|
|
262
|
+
const result = await this._submitMessage(
|
|
263
|
+
this.actionRegistryTopicId,
|
|
264
|
+
JSON.stringify(registration)
|
|
265
|
+
);
|
|
266
|
+
this.logger.info("Action registered", {
|
|
267
|
+
topicId: registration.t_id,
|
|
268
|
+
transactionId: result.transactionId
|
|
269
|
+
});
|
|
270
|
+
return builder;
|
|
240
271
|
}
|
|
241
272
|
/**
|
|
242
|
-
*
|
|
273
|
+
* Register a block
|
|
243
274
|
*/
|
|
244
|
-
|
|
245
|
-
|
|
275
|
+
async registerBlock(builder) {
|
|
276
|
+
const templateBuffer = builder.getTemplate();
|
|
277
|
+
if (templateBuffer) {
|
|
278
|
+
const templateResult = await this.inscribeFile(
|
|
279
|
+
templateBuffer,
|
|
280
|
+
`${builder.getName() || "block"}-template.html`
|
|
281
|
+
);
|
|
282
|
+
builder.setTemplateTopicId(templateResult.topic_id);
|
|
283
|
+
}
|
|
284
|
+
const definition = builder.build();
|
|
285
|
+
if (!definition.template_t_id) {
|
|
286
|
+
throw new Error(
|
|
287
|
+
"Block must have either a template buffer (via setTemplate) or template_t_id"
|
|
288
|
+
);
|
|
289
|
+
}
|
|
290
|
+
const definitionResult = await this.inscribeFile(
|
|
291
|
+
Buffer.from(JSON.stringify(definition, null, 2)),
|
|
292
|
+
`${definition.name}-definition.json`
|
|
293
|
+
);
|
|
294
|
+
this.logger.info("Block registered", {
|
|
295
|
+
name: definition.name,
|
|
296
|
+
definitionTopicId: definitionResult.topic_id,
|
|
297
|
+
templateTopicId: definition.template_t_id
|
|
298
|
+
});
|
|
299
|
+
builder.setTopicId(definitionResult.topic_id);
|
|
300
|
+
return builder;
|
|
246
301
|
}
|
|
247
302
|
/**
|
|
248
|
-
*
|
|
303
|
+
* Create an assembly using AssemblyBuilder
|
|
249
304
|
*/
|
|
250
|
-
|
|
251
|
-
|
|
305
|
+
async createAssembly(builder) {
|
|
306
|
+
const registration = builder.build();
|
|
307
|
+
const assemblyTopicId = await this.createAssemblyTopic();
|
|
308
|
+
await this.registerAssemblyDirect(assemblyTopicId, registration);
|
|
309
|
+
const operations = builder.getOperations();
|
|
310
|
+
for (const operation of operations) {
|
|
311
|
+
switch (operation.op) {
|
|
312
|
+
case "add-block":
|
|
313
|
+
await this.addBlockToAssembly(assemblyTopicId, operation);
|
|
314
|
+
break;
|
|
315
|
+
case "add-action":
|
|
316
|
+
await this.addActionToAssembly(assemblyTopicId, operation);
|
|
317
|
+
break;
|
|
318
|
+
case "update":
|
|
319
|
+
await this.updateAssembly(assemblyTopicId, operation);
|
|
320
|
+
break;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
this.logger.info("Assembly created", {
|
|
324
|
+
topicId: assemblyTopicId,
|
|
325
|
+
name: registration.name,
|
|
326
|
+
version: registration.version,
|
|
327
|
+
operations: operations.length
|
|
328
|
+
});
|
|
329
|
+
return assemblyTopicId;
|
|
252
330
|
}
|
|
253
331
|
}
|
|
254
332
|
export {
|
|
255
|
-
|
|
333
|
+
HCS12Client
|
|
256
334
|
};
|
|
257
335
|
//# sourceMappingURL=standards-sdk.es36.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es36.js","sources":["../../src/hcs-12/base-client.ts"],"sourcesContent":["import { ILogger, Logger, LogLevel } from '../utils/logger';\nimport { NetworkType } from '../utils/types';\nimport { HederaMirrorNode, MirrorNodeConfig } from '../services';\nimport { PrivateKey, PublicKey } from '@hashgraph/sdk';\nimport {\n ActionRegistry,\n BlockLoader,\n AssemblyRegistry,\n HashLinksRegistry,\n} from './registries';\nimport {\n ActionRegistration,\n BlockDefinition,\n AssemblyRegistration,\n HashLinksRegistration,\n RegistryType,\n AssemblyState,\n} from './types';\nimport { AssemblyEngine, Assembly } from './assembly';\n\n/**\n * Configuration for HCS-12 client\n */\nexport interface HCS12Config {\n /** The Hedera network to connect to */\n network: NetworkType;\n /** Custom logger instance (if not provided, one will be created) */\n logger?: ILogger;\n /** Log level for the client (ignored if logger is provided) */\n logLevel?: LogLevel;\n /** Whether to pretty print logs (ignored if logger is provided) */\n prettyPrint?: boolean;\n /** Custom mirror node configuration */\n mirrorNode?: MirrorNodeConfig;\n /** Whether to run logger in silent mode (ignored if logger is provided) */\n silent?: boolean;\n /** The key type to use for the operator */\n keyType?: 'ed25519' | 'ecdsa';\n}\n\n/**\n * Abstract base class for HCS-12 HashLinks clients\n */\nexport abstract class HCS12BaseClient {\n protected network: NetworkType;\n protected logger: ILogger;\n public mirrorNode: HederaMirrorNode;\n\n protected _actionRegistry?: ActionRegistry;\n protected _blockLoader?: BlockLoader;\n protected _assemblyRegistry?: AssemblyRegistry;\n protected _hashLinksRegistry?: HashLinksRegistry;\n protected _assemblyEngine?: AssemblyEngine;\n\n protected actionRegistryTopicId?: string;\n protected _assemblyRegistryTopicId?: string;\n protected _hashLinksRegistryTopicId?: string;\n\n constructor(config: HCS12Config) {\n this.network = config.network;\n\n this.logger =\n config.logger ||\n Logger.getInstance({\n level: config.logLevel || 'info',\n module: 'HCS12-BaseClient',\n prettyPrint: config.prettyPrint,\n silent: config.silent,\n });\n\n this.mirrorNode = new HederaMirrorNode(\n config.network,\n this.logger,\n config.mirrorNode,\n );\n }\n\n /**\n * Initialize registries with optional existing topic IDs\n */\n protected initializeRegistries(topicIds?: {\n action?: string;\n assembly?: string;\n hashlinks?: string;\n }): void {\n this.actionRegistryTopicId = topicIds?.action;\n this._assemblyRegistryTopicId = topicIds?.assembly;\n this._hashLinksRegistryTopicId = topicIds?.hashlinks;\n }\n\n /**\n * Create a new HCS topic for a registry\n */\n abstract createRegistryTopic(\n registryType: RegistryType,\n adminKey?: boolean | PublicKey,\n submitKey?: boolean | PublicKey,\n ): Promise<string>;\n\n /**\n * Submit a message to an HCS topic\n */\n abstract submitMessage(\n topicId: string,\n message: string,\n submitKey?: PrivateKey,\n ): Promise<{ transactionId: string; sequenceNumber?: number }>;\n\n /**\n * Register a new assembly in the assembly registry\n */\n async registerAssembly(\n registration: AssemblyRegistration,\n ): Promise<{ id: string; transactionId?: string }> {\n if (!this._assemblyRegistry) {\n throw new Error('Assembly registry not initialized');\n }\n\n const id = await this._assemblyRegistry.register(registration);\n return { id };\n }\n\n /**\n * Get action by hash\n */\n async getAction(hash: string): Promise<ActionRegistration | null> {\n if (!this._actionRegistry) {\n throw new Error('Action registry not initialized');\n }\n\n return this._actionRegistry.getAction(hash);\n }\n\n /**\n * Load block from HCS-1\n */\n async loadBlock(blockTopicId: string): Promise<{\n definition: BlockDefinition;\n template: string;\n }> {\n if (!this._blockLoader) {\n this._blockLoader = new BlockLoader(\n this.network,\n this.logger,\n this as any,\n );\n }\n\n return this._blockLoader.loadBlock(blockTopicId);\n }\n\n /**\n * Get assembly by name and version\n */\n async getAssembly(\n name: string,\n version: string,\n ): Promise<AssemblyState | null> {\n if (!this._assemblyRegistry) {\n throw new Error('Assembly registry not initialized');\n }\n\n const entries = await this._assemblyRegistry.listEntries();\n for (const entry of entries) {\n const state = await this._assemblyRegistry.getAssemblyState(entry.id);\n if (state && state.name === name && state.version === version) {\n return state;\n }\n }\n return null;\n }\n\n /**\n * Load and resolve a complete assembly by topic ID\n */\n async loadAssembly(topicId: string): Promise<Assembly> {\n if (this._actionRegistry) {\n this.logger.info('Syncing action registry before loading assembly');\n await this._actionRegistry.sync();\n }\n\n const assemblyRegistry = new AssemblyRegistry(\n this.network,\n this.logger,\n topicId,\n this as any,\n );\n\n await assemblyRegistry.sync();\n\n const assemblyEngine = new AssemblyEngine(\n this.logger,\n assemblyRegistry,\n this._actionRegistry!,\n this._blockLoader!,\n );\n\n return assemblyEngine.loadAndResolveAssembly(topicId);\n }\n\n /**\n * Get assembly state by topic ID (without resolving references)\n */\n async getAssemblyState(topicId: string): Promise<AssemblyState | null> {\n if (!this._assemblyRegistry) {\n throw new Error('Assembly registry not initialized');\n }\n return this._assemblyRegistry.getAssemblyState(topicId);\n }\n\n /**\n * Ensure assembly engine is initialized\n */\n protected ensureAssemblyEngine(): void {\n if (!this._assemblyEngine) {\n if (\n !this._actionRegistry ||\n !this._blockLoader ||\n !this._assemblyRegistry\n ) {\n throw new Error(\n 'Registries must be initialized before assembly engine',\n );\n }\n this._assemblyEngine = new AssemblyEngine(\n this.logger,\n this._assemblyRegistry,\n this._actionRegistry,\n this._blockLoader,\n );\n }\n }\n\n /**\n * Register a new HashLink in the global directory\n */\n async registerHashLink(\n registration: HashLinksRegistration,\n ): Promise<{ id: string; transactionId?: string }> {\n if (!this._hashLinksRegistry) {\n throw new Error('HashLinks registry not initialized');\n }\n\n const id = await this._hashLinksRegistry.register(registration);\n return { id };\n }\n\n /**\n * Search HashLinks by tags\n */\n async searchHashLinksByTags(\n tags: string[],\n ): Promise<HashLinksRegistration[]> {\n if (!this._hashLinksRegistry) {\n throw new Error('HashLinks registry not initialized');\n }\n\n return this._hashLinksRegistry.searchByTags(tags);\n }\n\n /**\n * Search HashLinks by name\n */\n async searchHashLinksByName(\n searchTerm: string,\n ): Promise<HashLinksRegistration[]> {\n if (!this._hashLinksRegistry) {\n throw new Error('HashLinks registry not initialized');\n }\n\n return this._hashLinksRegistry.searchByName(searchTerm);\n }\n\n /**\n * Get featured HashLinks\n */\n async getFeaturedHashLinks(): Promise<HashLinksRegistration[]> {\n if (!this._hashLinksRegistry) {\n throw new Error('HashLinks registry not initialized');\n }\n\n return this._hashLinksRegistry.getFeatured();\n }\n\n /**\n * Get HashLinks by category\n */\n async getHashLinksByCategory(\n category: string,\n ): Promise<HashLinksRegistration[]> {\n if (!this._hashLinksRegistry) {\n throw new Error('HashLinks registry not initialized');\n }\n\n return this._hashLinksRegistry.getByCategory(category);\n }\n\n /**\n * Sync all registries with the network\n */\n async syncRegistries(): Promise<void> {\n const promises: Promise<void>[] = [];\n\n if (this._actionRegistry) {\n promises.push(this._actionRegistry.sync());\n }\n if (this._assemblyRegistry) {\n promises.push(this._assemblyRegistry.sync());\n }\n if (this._hashLinksRegistry) {\n promises.push(this._hashLinksRegistry.sync());\n }\n\n await Promise.all(promises);\n }\n\n /**\n * Get registry topic IDs\n */\n getRegistryTopicIds(): {\n action?: string;\n assembly?: string;\n hashlinks?: string;\n } {\n return {\n action: this.actionRegistryTopicId,\n assembly: this._assemblyRegistryTopicId,\n hashlinks: this._hashLinksRegistryTopicId,\n };\n }\n\n /**\n * Clear all registry caches\n */\n clearCaches(): void {\n this._actionRegistry?.clearCache();\n this._blockLoader?.clearCache();\n this._assemblyRegistry?.clearCache();\n this._hashLinksRegistry?.clearCache();\n }\n\n /**\n * Get the action registry instance\n */\n get actionRegistry(): ActionRegistry | undefined {\n return this._actionRegistry;\n }\n\n /**\n * Get the block loader instance\n */\n get blockLoader(): BlockLoader | undefined {\n return this._blockLoader;\n }\n\n /**\n * Get the assembly registry instance\n */\n get assemblyRegistry(): AssemblyRegistry | undefined {\n return this._assemblyRegistry;\n }\n\n /**\n * Get the HashLinks registry instance\n */\n get hashLinksRegistry(): HashLinksRegistry | undefined {\n return this._hashLinksRegistry;\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es36.js","sources":["../../src/hcs-12/sdk.ts"],"sourcesContent":["import {\n Client,\n TopicCreateTransaction,\n TopicMessageSubmitTransaction,\n TopicId,\n TransactionResponse,\n PrivateKey,\n PublicKey,\n KeyList,\n} from '@hashgraph/sdk';\nimport { HCS12BaseClient, HCS12Config } from './base-client';\nimport { Logger } from '../utils';\nimport {\n createNodeOperatorContext,\n type NodeOperatorContext,\n} from '../common/node-operator-resolver';\nimport {\n ActionRegistry,\n BlockLoader,\n AssemblyRegistry,\n HashLinksRegistry,\n} from './registries';\nimport {\n RegistryType,\n ActionRegistration,\n AssemblyRegistration,\n AssemblyAddBlock,\n AssemblyAddAction,\n AssemblyUpdate,\n BlockDefinition,\n} from './types';\nimport { ActionBuilder, AssemblyBuilder, BlockBuilder } from './builders';\nimport { inscribe } from '../inscribe/inscriber';\nimport { InscriptionSDK } from '@kiloscribe/inscription-sdk';\nimport type { RetrievedInscriptionResult } from '../inscribe/types';\nimport * as mime from 'mime-types';\nimport { buildTopicCreateTx, buildMessageTx } from '../common/tx/tx-utils';\n\n/**\n * Configuration for HCS-12 SDK client\n */\nexport interface HCS12ClientConfig extends HCS12Config {\n /** Operator account ID */\n operatorId: string;\n /** Operator private key */\n operatorPrivateKey: string | PrivateKey;\n}\n\n/**\n * HCS-12 SDK client for server-side HashLinks operations\n */\nexport class HCS12Client extends HCS12BaseClient {\n private client: Client;\n private operatorAccountId: string;\n private operatorCtx: NodeOperatorContext;\n\n constructor(config: HCS12ClientConfig) {\n super(config);\n\n this.operatorAccountId = config.operatorId;\n this.operatorCtx = createNodeOperatorContext({\n network: this.network,\n operatorId: this.operatorAccountId,\n operatorKey: config.operatorPrivateKey,\n keyType: config.keyType,\n mirrorNode: this.mirrorNode,\n logger: this.logger,\n client:\n config.network === 'mainnet'\n ? Client.forMainnet()\n : Client.forTestnet(),\n });\n this.client = this.operatorCtx.client;\n\n this.logger.info('HCS-12 SDK Client initialized', {\n network: config.network,\n operatorId: this.operatorAccountId,\n keyType: this.operatorCtx.keyType,\n });\n }\n\n /**\n * Initialize registries with optional existing topic IDs\n */\n initializeRegistries(topicIds?: {\n action?: string;\n assembly?: string;\n hashlinks?: string;\n }): void {\n super.initializeRegistries(topicIds);\n\n this._actionRegistry = new ActionRegistry(\n this.network,\n this.logger,\n this.actionRegistryTopicId,\n this,\n );\n\n this._blockLoader = new BlockLoader(this.network, this.logger, this);\n\n this._assemblyRegistry = new AssemblyRegistry(\n this.network,\n this.logger,\n this._assemblyRegistryTopicId,\n this,\n );\n\n this._hashLinksRegistry = new HashLinksRegistry(\n this.network,\n this.logger,\n this._hashLinksRegistryTopicId,\n this,\n );\n\n this.logger.info('Registries initialized', {\n actionTopicId: this.actionRegistryTopicId,\n assemblyTopicId: this._assemblyRegistryTopicId,\n hashLinksTopicId: this._hashLinksRegistryTopicId,\n });\n }\n\n /**\n * Create a new HCS topic for a registry\n */\n async createRegistryTopic(\n registryType: RegistryType,\n adminKey?: boolean | PublicKey | KeyList,\n submitKey?: boolean | PublicKey | KeyList,\n ): Promise<string> {\n const memos: Record<RegistryType, string> = {\n [RegistryType.ACTION]: 'hcs-12:1:60:0',\n [RegistryType.ASSEMBLY]: 'hcs-12:1:60:2',\n [RegistryType.HASHLINKS]: 'hcs-12:1:60:3',\n };\n const memo = memos[registryType];\n\n this.logger.info('Creating registry topic', {\n registryType: RegistryType[registryType],\n memo,\n });\n\n const transaction = buildTopicCreateTx({\n memo,\n adminKey: adminKey as boolean | PublicKey | KeyList | undefined,\n submitKey: submitKey as boolean | PublicKey | KeyList | undefined,\n operatorPublicKey: this.client.operatorPublicKey || undefined,\n });\n\n const txResponse = await transaction.execute(this.client);\n const receipt = await txResponse.getReceipt(this.client);\n\n if (!receipt.topicId) {\n throw new Error('Failed to create topic: topicId is null');\n }\n\n const topicId = receipt.topicId.toString();\n this.logger.info('Registry topic created', {\n topicId,\n registryType: RegistryType[registryType],\n });\n\n switch (registryType) {\n case RegistryType.ACTION:\n this.actionRegistryTopicId = topicId;\n break;\n case RegistryType.ASSEMBLY:\n this._assemblyRegistryTopicId = topicId;\n break;\n case RegistryType.HASHLINKS:\n break;\n }\n\n return topicId;\n }\n\n /**\n * Register an assembly on its own topic\n */\n async registerAssemblyDirect(\n assemblyTopicId: string,\n registration: AssemblyRegistration,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n this.logger.info('Registering assembly', {\n topicId: assemblyTopicId,\n name: registration.name,\n version: registration.version,\n });\n\n return this._submitMessage(assemblyTopicId, JSON.stringify(registration));\n }\n\n /**\n * Add a block to an assembly\n */\n async addBlockToAssembly(\n assemblyTopicId: string,\n block: AssemblyAddBlock,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n this.logger.info('Adding block to assembly', {\n assemblyTopicId,\n blockTopicId: block.block_t_id,\n });\n\n return this._submitMessage(assemblyTopicId, JSON.stringify(block));\n }\n\n /**\n * Add an action to an assembly\n */\n async addActionToAssembly(\n assemblyTopicId: string,\n action: AssemblyAddAction,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n this.logger.info('Adding action to assembly', {\n assemblyTopicId,\n actionTopicId: action.t_id,\n alias: action.alias,\n });\n\n return this._submitMessage(assemblyTopicId, JSON.stringify(action));\n }\n\n /**\n * Update assembly metadata\n */\n async updateAssembly(\n assemblyTopicId: string,\n update: AssemblyUpdate,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n this.logger.info('Updating assembly', {\n assemblyTopicId,\n update,\n });\n\n return this._submitMessage(assemblyTopicId, JSON.stringify(update));\n }\n\n /**\n * Submit a message to an HCS topic\n * @deprecated Use operation-specific methods instead\n */\n async submitMessage(\n topicId: string,\n message: string,\n submitKey?: PrivateKey,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n this.logger.warn(\n 'submitMessage is deprecated. Use operation-specific methods instead.',\n );\n return this._submitMessage(topicId, message, submitKey);\n }\n\n /**\n * Internal method to submit a message to an HCS topic\n */\n private async _submitMessage(\n topicId: string,\n message: string,\n submitKey?: PrivateKey,\n ): Promise<{ transactionId: string; sequenceNumber?: number }> {\n this.logger.debug('Submitting message to topic', {\n topicId,\n messageLength: message.length,\n });\n\n const transaction = buildMessageTx({ topicId, message });\n\n let transactionResponse: TransactionResponse;\n if (submitKey) {\n const frozenTransaction = transaction.freezeWith(this.client);\n const signedTransaction = await frozenTransaction.sign(submitKey);\n transactionResponse = await signedTransaction.execute(this.client);\n } else {\n transactionResponse = await transaction.execute(this.client);\n }\n\n const receipt = await transactionResponse.getReceipt(this.client);\n\n this.logger.info('Message submitted successfully', {\n topicId,\n transactionId: transactionResponse.transactionId.toString(),\n sequenceNumber: receipt.topicSequenceNumber?.toString(),\n });\n\n return {\n transactionId: transactionResponse.transactionId.toString(),\n sequenceNumber: receipt.topicSequenceNumber\n ? Number(receipt.topicSequenceNumber)\n : undefined,\n };\n }\n\n /**\n * Get the Hedera client instance\n */\n getClient(): Client {\n return this.client;\n }\n\n /**\n * Get operator account ID\n */\n getOperatorAccountId(): string {\n return this.operatorAccountId;\n }\n\n /**\n * Get operator private key\n */\n getOperatorPrivateKey(): string {\n return this.operatorCtx.operatorKey.toString();\n }\n\n /**\n * Inscribe a file using HCS-1 protocol\n */\n async inscribeFile(\n buffer: Buffer,\n fileName: string,\n options?: {\n progressCallback?: (progress: any) => void;\n waitMaxAttempts?: number;\n waitIntervalMs?: number;\n },\n ): Promise<RetrievedInscriptionResult> {\n this.logger.info('Inscribing file via HCS-1', { fileName });\n\n const mimeType = mime.lookup(fileName) || 'application/octet-stream';\n\n const sdk = await InscriptionSDK.createWithAuth({\n type: 'server',\n accountId: this.operatorAccountId,\n privateKey: this.operatorCtx.operatorKey.toString(),\n network: this.network as 'testnet' | 'mainnet',\n });\n\n const inscriptionOptions = {\n mode: 'file' as const,\n waitForConfirmation: true,\n waitMaxAttempts: options?.waitMaxAttempts || 30,\n waitIntervalMs: options?.waitIntervalMs || 4000,\n progressCallback: options?.progressCallback,\n logging: {\n level: this.logger.getLevel ? this.logger.getLevel() : 'info',\n },\n };\n\n const response = await inscribe(\n {\n type: 'buffer',\n buffer,\n fileName,\n mimeType,\n },\n {\n accountId: this.operatorAccountId,\n privateKey: this.operatorCtx.operatorKey,\n network: this.network,\n },\n inscriptionOptions,\n sdk,\n );\n\n if (!response.confirmed || !response.inscription) {\n throw new Error('Inscription failed to confirm');\n }\n\n return response.inscription;\n }\n\n /**\n * Create a new assembly topic\n */\n async createAssemblyTopic(): Promise<string> {\n if (!this._assemblyRegistry) {\n throw new Error('Assembly registry not initialized');\n }\n return this._assemblyRegistry.createAssemblyTopic();\n }\n\n /**\n * Register an action\n */\n async registerAction(builder: ActionBuilder): Promise<ActionBuilder> {\n const registration = builder.build();\n\n if (!this._actionRegistry) {\n throw new Error('Action registry not initialized');\n }\n\n const result = await this._submitMessage(\n this.actionRegistryTopicId,\n JSON.stringify(registration),\n );\n\n this.logger.info('Action registered', {\n topicId: registration.t_id,\n transactionId: result.transactionId,\n });\n\n return builder;\n }\n\n /**\n * Register a block\n */\n async registerBlock(builder: BlockBuilder): Promise<BlockBuilder> {\n const templateBuffer = builder.getTemplate();\n\n if (templateBuffer) {\n const templateResult = await this.inscribeFile(\n templateBuffer,\n `${builder.getName() || 'block'}-template.html`,\n );\n builder.setTemplateTopicId(templateResult.topic_id);\n }\n\n const definition = builder.build();\n\n if (!definition.template_t_id) {\n throw new Error(\n 'Block must have either a template buffer (via setTemplate) or template_t_id',\n );\n }\n\n const definitionResult = await this.inscribeFile(\n Buffer.from(JSON.stringify(definition, null, 2)),\n `${definition.name}-definition.json`,\n );\n\n this.logger.info('Block registered', {\n name: definition.name,\n definitionTopicId: definitionResult.topic_id,\n templateTopicId: definition.template_t_id,\n });\n\n builder.setTopicId(definitionResult.topic_id);\n return builder;\n }\n\n /**\n * Create an assembly using AssemblyBuilder\n */\n async createAssembly(builder: AssemblyBuilder): Promise<string> {\n const registration = builder.build();\n\n const assemblyTopicId = await this.createAssemblyTopic();\n\n await this.registerAssemblyDirect(assemblyTopicId, registration);\n\n const operations = builder.getOperations();\n for (const operation of operations) {\n switch (operation.op) {\n case 'add-block':\n await this.addBlockToAssembly(assemblyTopicId, operation);\n break;\n case 'add-action':\n await this.addActionToAssembly(assemblyTopicId, operation);\n break;\n case 'update':\n await this.updateAssembly(assemblyTopicId, operation);\n break;\n }\n }\n\n this.logger.info('Assembly created', {\n topicId: assemblyTopicId,\n name: registration.name,\n version: registration.version,\n operations: operations.length,\n });\n\n return assemblyTopicId;\n }\n}\n"],"names":[],"mappings":"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"}
|