@hashgraphonline/standards-sdk 0.1.161 → 0.1.162
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-14/index.d.ts +1 -0
- package/dist/cjs/hcs-14/index.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/aid-dns-web-profile.d.ts +1 -0
- package/dist/cjs/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts +23 -0
- package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts.map +1 -0
- package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile.d.ts +32 -0
- package/dist/cjs/hcs-14/resolvers/ans-dns-web-profile.d.ts.map +1 -0
- package/dist/cjs/hcs-14/resolvers/hcs-11-profile.d.ts +1 -0
- package/dist/cjs/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/hiero.d.ts +1 -0
- package/dist/cjs/hcs-14/resolvers/hiero.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/registry.d.ts +21 -0
- package/dist/cjs/hcs-14/resolvers/registry.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/types.d.ts +40 -5
- package/dist/cjs/hcs-14/resolvers/types.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/uaid-did-resolution-profile.d.ts +1 -0
- package/dist/cjs/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -1
- package/dist/cjs/hcs-14/resolvers/uaid-dns-web-profile.d.ts +1 -0
- package/dist/cjs/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -1
- package/dist/cjs/hcs-14/sdk.d.ts +23 -1
- package/dist/cjs/hcs-14/sdk.d.ts.map +1 -1
- package/dist/cjs/standards-sdk.cjs +2 -2
- package/dist/cjs/standards-sdk.cjs.map +1 -1
- package/dist/es/hcs-14/index.d.ts +1 -0
- package/dist/es/hcs-14/index.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts +1 -0
- package/dist/es/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts +23 -0
- package/dist/es/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts.map +1 -0
- package/dist/es/hcs-14/resolvers/ans-dns-web-profile.d.ts +32 -0
- package/dist/es/hcs-14/resolvers/ans-dns-web-profile.d.ts.map +1 -0
- package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts +1 -0
- package/dist/es/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/hiero.d.ts +1 -0
- package/dist/es/hcs-14/resolvers/hiero.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/registry.d.ts +21 -0
- package/dist/es/hcs-14/resolvers/registry.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/types.d.ts +40 -5
- package/dist/es/hcs-14/resolvers/types.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts +1 -0
- package/dist/es/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -1
- package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts +1 -0
- package/dist/es/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -1
- package/dist/es/hcs-14/sdk.d.ts +23 -1
- package/dist/es/hcs-14/sdk.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +89 -86
- package/dist/es/standards-sdk.es.js.map +1 -1
- package/dist/es/standards-sdk.es100.js +136 -124
- package/dist/es/standards-sdk.es100.js.map +1 -1
- package/dist/es/standards-sdk.es101.js +138 -42
- package/dist/es/standards-sdk.es101.js.map +1 -1
- package/dist/es/standards-sdk.es102.js +43 -259
- package/dist/es/standards-sdk.es102.js.map +1 -1
- package/dist/es/standards-sdk.es103.js +245 -82
- package/dist/es/standards-sdk.es103.js.map +1 -1
- package/dist/es/standards-sdk.es104.js +50 -49
- package/dist/es/standards-sdk.es104.js.map +1 -1
- package/dist/es/standards-sdk.es105.js +100 -29
- package/dist/es/standards-sdk.es105.js.map +1 -1
- package/dist/es/standards-sdk.es106.js +27 -229
- package/dist/es/standards-sdk.es106.js.map +1 -1
- package/dist/es/standards-sdk.es107.js +228 -109
- package/dist/es/standards-sdk.es107.js.map +1 -1
- package/dist/es/standards-sdk.es108.js +94 -15
- package/dist/es/standards-sdk.es108.js.map +1 -1
- package/dist/es/standards-sdk.es109.js +30 -80
- package/dist/es/standards-sdk.es109.js.map +1 -1
- package/dist/es/standards-sdk.es11.js +1 -1
- package/dist/es/standards-sdk.es110.js +80 -27
- package/dist/es/standards-sdk.es110.js.map +1 -1
- package/dist/es/standards-sdk.es111.js +27 -248
- package/dist/es/standards-sdk.es111.js.map +1 -1
- package/dist/es/standards-sdk.es112.js +246 -472
- package/dist/es/standards-sdk.es112.js.map +1 -1
- package/dist/es/standards-sdk.es113.js +458 -85
- package/dist/es/standards-sdk.es113.js.map +1 -1
- package/dist/es/standards-sdk.es114.js +96 -151
- package/dist/es/standards-sdk.es114.js.map +1 -1
- package/dist/es/standards-sdk.es115.js +155 -29
- package/dist/es/standards-sdk.es115.js.map +1 -1
- package/dist/es/standards-sdk.es116.js +26 -4
- package/dist/es/standards-sdk.es116.js.map +1 -1
- package/dist/es/standards-sdk.es117.js +10 -140
- package/dist/es/standards-sdk.es117.js.map +1 -1
- package/dist/es/standards-sdk.es118.js +140 -27
- package/dist/es/standards-sdk.es118.js.map +1 -1
- package/dist/es/standards-sdk.es119.js +27 -20
- package/dist/es/standards-sdk.es119.js.map +1 -1
- package/dist/es/standards-sdk.es12.js +1 -1
- package/dist/es/standards-sdk.es120.js +18 -156
- package/dist/es/standards-sdk.es120.js.map +1 -1
- package/dist/es/standards-sdk.es121.js +148 -191
- package/dist/es/standards-sdk.es121.js.map +1 -1
- package/dist/es/standards-sdk.es122.js +160 -747
- package/dist/es/standards-sdk.es122.js.map +1 -1
- package/dist/es/standards-sdk.es123.js +786 -9
- package/dist/es/standards-sdk.es123.js.map +1 -1
- package/dist/es/standards-sdk.es124.js +13 -567
- package/dist/es/standards-sdk.es124.js.map +1 -1
- package/dist/es/standards-sdk.es125.js +541 -576
- package/dist/es/standards-sdk.es125.js.map +1 -1
- package/dist/es/standards-sdk.es126.js +601 -12
- package/dist/es/standards-sdk.es126.js.map +1 -1
- package/dist/es/standards-sdk.es127.js +13 -2
- package/dist/es/standards-sdk.es127.js.map +1 -1
- package/dist/es/standards-sdk.es128.js +2 -87
- package/dist/es/standards-sdk.es128.js.map +1 -1
- package/dist/es/standards-sdk.es129.js +84 -37
- package/dist/es/standards-sdk.es129.js.map +1 -1
- package/dist/es/standards-sdk.es13.js +1 -1
- package/dist/es/standards-sdk.es130.js +40 -2
- package/dist/es/standards-sdk.es130.js.map +1 -1
- package/dist/es/standards-sdk.es131.js +2 -235
- package/dist/es/standards-sdk.es131.js.map +1 -1
- package/dist/es/standards-sdk.es132.js +204 -1109
- package/dist/es/standards-sdk.es132.js.map +1 -1
- package/dist/es/standards-sdk.es133.js +1059 -225
- package/dist/es/standards-sdk.es133.js.map +1 -1
- package/dist/es/standards-sdk.es134.js +303 -419
- package/dist/es/standards-sdk.es134.js.map +1 -1
- package/dist/es/standards-sdk.es135.js +418 -351
- package/dist/es/standards-sdk.es135.js.map +1 -1
- package/dist/es/standards-sdk.es136.js +347 -1108
- package/dist/es/standards-sdk.es136.js.map +1 -1
- package/dist/es/standards-sdk.es137.js +1088 -180
- package/dist/es/standards-sdk.es137.js.map +1 -1
- package/dist/es/standards-sdk.es138.js +153 -1512
- package/dist/es/standards-sdk.es138.js.map +1 -1
- package/dist/es/standards-sdk.es139.js +1567 -1255
- package/dist/es/standards-sdk.es139.js.map +1 -1
- package/dist/es/standards-sdk.es14.js +1 -1
- package/dist/es/standards-sdk.es140.js +1255 -17
- package/dist/es/standards-sdk.es140.js.map +1 -1
- package/dist/es/standards-sdk.es141.js +15 -85
- package/dist/es/standards-sdk.es141.js.map +1 -1
- package/dist/es/standards-sdk.es142.js +77 -71
- package/dist/es/standards-sdk.es142.js.map +1 -1
- package/dist/es/standards-sdk.es143.js +79 -891
- package/dist/es/standards-sdk.es143.js.map +1 -1
- package/dist/es/standards-sdk.es144.js +886 -53
- package/dist/es/standards-sdk.es144.js.map +1 -1
- package/dist/es/standards-sdk.es145.js +53 -152
- package/dist/es/standards-sdk.es145.js.map +1 -1
- package/dist/es/standards-sdk.es146.js +159 -7
- package/dist/es/standards-sdk.es146.js.map +1 -1
- package/dist/es/standards-sdk.es147.js +7 -86
- package/dist/es/standards-sdk.es147.js.map +1 -1
- package/dist/es/standards-sdk.es148.js +65 -44
- package/dist/es/standards-sdk.es148.js.map +1 -1
- package/dist/es/standards-sdk.es149.js +65 -30
- package/dist/es/standards-sdk.es149.js.map +1 -1
- package/dist/es/standards-sdk.es15.js +1 -1
- package/dist/es/standards-sdk.es150.js +30 -34
- package/dist/es/standards-sdk.es150.js.map +1 -1
- package/dist/es/standards-sdk.es151.js +34 -45
- package/dist/es/standards-sdk.es151.js.map +1 -1
- package/dist/es/standards-sdk.es152.js +48 -138
- package/dist/es/standards-sdk.es152.js.map +1 -1
- package/dist/es/standards-sdk.es153.js +133 -37
- package/dist/es/standards-sdk.es153.js.map +1 -1
- package/dist/es/standards-sdk.es154.js +34 -12474
- package/dist/es/standards-sdk.es154.js.map +1 -1
- package/dist/es/standards-sdk.es155.js +12477 -12
- package/dist/es/standards-sdk.es155.js.map +1 -1
- package/dist/es/standards-sdk.es156.js +15 -54
- package/dist/es/standards-sdk.es156.js.map +1 -1
- package/dist/es/standards-sdk.es157.js +48 -76
- package/dist/es/standards-sdk.es157.js.map +1 -1
- package/dist/es/standards-sdk.es158.js +69 -66
- package/dist/es/standards-sdk.es158.js.map +1 -1
- package/dist/es/standards-sdk.es159.js +71 -63
- package/dist/es/standards-sdk.es159.js.map +1 -1
- package/dist/es/standards-sdk.es16.js +5 -5
- package/dist/es/standards-sdk.es160.js +188 -160
- package/dist/es/standards-sdk.es160.js.map +1 -1
- package/dist/es/standards-sdk.es161.js +65 -314
- package/dist/es/standards-sdk.es161.js.map +1 -1
- package/dist/es/standards-sdk.es162.js +232 -336
- package/dist/es/standards-sdk.es162.js.map +1 -1
- package/dist/es/standards-sdk.es163.js +129 -410
- package/dist/es/standards-sdk.es163.js.map +1 -1
- package/dist/es/standards-sdk.es164.js +200 -209
- package/dist/es/standards-sdk.es164.js.map +1 -1
- package/dist/es/standards-sdk.es165.js +334 -64
- package/dist/es/standards-sdk.es165.js.map +1 -1
- package/dist/es/standards-sdk.es166.js +442 -231
- package/dist/es/standards-sdk.es166.js.map +1 -1
- package/dist/es/standards-sdk.es167.js +317 -158
- package/dist/es/standards-sdk.es167.js.map +1 -1
- package/dist/es/standards-sdk.es168.js +61 -207
- package/dist/es/standards-sdk.es168.js.map +1 -1
- package/dist/es/standards-sdk.es169.js +155 -222
- package/dist/es/standards-sdk.es169.js.map +1 -1
- package/dist/es/standards-sdk.es170.js +178 -75
- package/dist/es/standards-sdk.es170.js.map +1 -1
- package/dist/es/standards-sdk.es171.js +226 -113
- package/dist/es/standards-sdk.es171.js.map +1 -1
- package/dist/es/standards-sdk.es172.js +77 -119
- package/dist/es/standards-sdk.es172.js.map +1 -1
- package/dist/es/standards-sdk.es173.js +103 -162
- package/dist/es/standards-sdk.es173.js.map +1 -1
- package/dist/es/standards-sdk.es174.js +141 -119
- package/dist/es/standards-sdk.es174.js.map +1 -1
- package/dist/es/standards-sdk.es175.js +152 -298
- package/dist/es/standards-sdk.es175.js.map +1 -1
- package/dist/es/standards-sdk.es176.js +120 -240
- package/dist/es/standards-sdk.es176.js.map +1 -1
- package/dist/es/standards-sdk.es177.js +298 -83
- package/dist/es/standards-sdk.es177.js.map +1 -1
- package/dist/es/standards-sdk.es178.js +262 -0
- package/dist/es/standards-sdk.es178.js.map +1 -0
- package/dist/es/standards-sdk.es179.js +119 -0
- package/dist/es/standards-sdk.es179.js.map +1 -0
- package/dist/es/standards-sdk.es18.js +12 -12
- package/dist/es/standards-sdk.es19.js +9 -9
- package/dist/es/standards-sdk.es2.js +2 -2
- package/dist/es/standards-sdk.es20.js +1 -1
- package/dist/es/standards-sdk.es21.js +1 -1
- package/dist/es/standards-sdk.es22.js +1 -1
- package/dist/es/standards-sdk.es23.js +1 -1
- package/dist/es/standards-sdk.es24.js +1 -1
- package/dist/es/standards-sdk.es25.js +1 -1
- package/dist/es/standards-sdk.es26.js +1 -1
- package/dist/es/standards-sdk.es27.js +12 -12
- package/dist/es/standards-sdk.es30.js +2 -2
- package/dist/es/standards-sdk.es31.js +4 -4
- package/dist/es/standards-sdk.es32.js +1 -1
- package/dist/es/standards-sdk.es35.js +6 -6
- package/dist/es/standards-sdk.es36.js +4 -4
- package/dist/es/standards-sdk.es37.js +2 -2
- package/dist/es/standards-sdk.es38.js +2 -2
- package/dist/es/standards-sdk.es39.js +1 -1
- package/dist/es/standards-sdk.es4.js +2 -2
- package/dist/es/standards-sdk.es40.js +1 -1
- package/dist/es/standards-sdk.es41.js +2 -2
- package/dist/es/standards-sdk.es46.js +1 -1
- package/dist/es/standards-sdk.es5.js +2 -2
- package/dist/es/standards-sdk.es51.js +1 -1
- package/dist/es/standards-sdk.es53.js +1 -1
- package/dist/es/standards-sdk.es56.js +2 -2
- package/dist/es/standards-sdk.es58.js +37 -4
- package/dist/es/standards-sdk.es58.js.map +1 -1
- package/dist/es/standards-sdk.es59.js +17 -10
- package/dist/es/standards-sdk.es59.js.map +1 -1
- package/dist/es/standards-sdk.es6.js +2 -2
- package/dist/es/standards-sdk.es60.js +2 -1
- package/dist/es/standards-sdk.es60.js.map +1 -1
- package/dist/es/standards-sdk.es61.js +1 -0
- package/dist/es/standards-sdk.es61.js.map +1 -1
- package/dist/es/standards-sdk.es62.js +19 -5
- package/dist/es/standards-sdk.es62.js.map +1 -1
- package/dist/es/standards-sdk.es63.js +214 -153
- package/dist/es/standards-sdk.es63.js.map +1 -1
- package/dist/es/standards-sdk.es64.js +205 -84
- package/dist/es/standards-sdk.es64.js.map +1 -1
- package/dist/es/standards-sdk.es65.js +125 -40
- package/dist/es/standards-sdk.es65.js.map +1 -1
- package/dist/es/standards-sdk.es66.js +41 -261
- package/dist/es/standards-sdk.es66.js.map +1 -1
- package/dist/es/standards-sdk.es67.js +262 -24
- package/dist/es/standards-sdk.es67.js.map +1 -1
- package/dist/es/standards-sdk.es68.js +25 -87
- package/dist/es/standards-sdk.es68.js.map +1 -1
- package/dist/es/standards-sdk.es69.js +95 -3
- package/dist/es/standards-sdk.es69.js.map +1 -1
- package/dist/es/standards-sdk.es7.js +1 -1
- package/dist/es/standards-sdk.es70.js +3 -100
- package/dist/es/standards-sdk.es70.js.map +1 -1
- package/dist/es/standards-sdk.es71.js +62 -61
- package/dist/es/standards-sdk.es71.js.map +1 -1
- package/dist/es/standards-sdk.es72.js +98 -17
- package/dist/es/standards-sdk.es72.js.map +1 -1
- package/dist/es/standards-sdk.es73.js +19 -77
- package/dist/es/standards-sdk.es73.js.map +1 -1
- package/dist/es/standards-sdk.es74.js +77 -458
- package/dist/es/standards-sdk.es74.js.map +1 -1
- package/dist/es/standards-sdk.es75.js +240 -106
- package/dist/es/standards-sdk.es75.js.map +1 -1
- package/dist/es/standards-sdk.es76.js +286 -170
- package/dist/es/standards-sdk.es76.js.map +1 -1
- package/dist/es/standards-sdk.es77.js +207 -71
- package/dist/es/standards-sdk.es77.js.map +1 -1
- package/dist/es/standards-sdk.es78.js +72 -71
- package/dist/es/standards-sdk.es78.js.map +1 -1
- package/dist/es/standards-sdk.es79.js +71 -143
- package/dist/es/standards-sdk.es79.js.map +1 -1
- package/dist/es/standards-sdk.es80.js +136 -62
- package/dist/es/standards-sdk.es80.js.map +1 -1
- package/dist/es/standards-sdk.es81.js +45 -380
- package/dist/es/standards-sdk.es81.js.map +1 -1
- package/dist/es/standards-sdk.es82.js +130 -222
- package/dist/es/standards-sdk.es82.js.map +1 -1
- package/dist/es/standards-sdk.es83.js +444 -313
- package/dist/es/standards-sdk.es83.js.map +1 -1
- package/dist/es/standards-sdk.es84.js +364 -88
- package/dist/es/standards-sdk.es84.js.map +1 -1
- package/dist/es/standards-sdk.es85.js +89 -125
- package/dist/es/standards-sdk.es85.js.map +1 -1
- package/dist/es/standards-sdk.es86.js +125 -8
- package/dist/es/standards-sdk.es86.js.map +1 -1
- package/dist/es/standards-sdk.es87.js +6 -45
- package/dist/es/standards-sdk.es87.js.map +1 -1
- package/dist/es/standards-sdk.es88.js +44 -98
- package/dist/es/standards-sdk.es88.js.map +1 -1
- package/dist/es/standards-sdk.es89.js +84 -331
- package/dist/es/standards-sdk.es89.js.map +1 -1
- package/dist/es/standards-sdk.es9.js +2 -2
- package/dist/es/standards-sdk.es90.js +160 -93
- package/dist/es/standards-sdk.es90.js.map +1 -1
- package/dist/es/standards-sdk.es91.js +275 -55
- package/dist/es/standards-sdk.es91.js.map +1 -1
- package/dist/es/standards-sdk.es92.js +55 -43
- package/dist/es/standards-sdk.es92.js.map +1 -1
- package/dist/es/standards-sdk.es93.js +44 -145
- package/dist/es/standards-sdk.es93.js.map +1 -1
- package/dist/es/standards-sdk.es94.js +113 -30
- package/dist/es/standards-sdk.es94.js.map +1 -1
- package/dist/es/standards-sdk.es95.js +59 -22
- package/dist/es/standards-sdk.es95.js.map +1 -1
- package/dist/es/standards-sdk.es96.js +28 -23
- package/dist/es/standards-sdk.es96.js.map +1 -1
- package/dist/es/standards-sdk.es97.js +23 -238
- package/dist/es/standards-sdk.es97.js.map +1 -1
- package/dist/es/standards-sdk.es98.js +225 -267
- package/dist/es/standards-sdk.es98.js.map +1 -1
- package/dist/es/standards-sdk.es99.js +220 -95
- package/dist/es/standards-sdk.es99.js.map +1 -1
- package/package.json +5 -1
|
@@ -1,85 +1,178 @@
|
|
|
1
|
-
import { ScheduleSignTransaction } from "@hashgraph/sdk";
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
|
|
1
|
+
import { AccountId, Client, ScheduleSignTransaction } from "@hashgraph/sdk";
|
|
2
|
+
import "./standards-sdk.es118.js";
|
|
3
|
+
import { HCS11Client } from "./standards-sdk.es27.js";
|
|
4
|
+
import { createNodeOperatorContext } from "./standards-sdk.es153.js";
|
|
5
|
+
import { HederaMirrorNode } from "./standards-sdk.es139.js";
|
|
6
|
+
import { HCS16BaseClient } from "./standards-sdk.es101.js";
|
|
7
|
+
import { buildHcs16CreateFloraTopicTx, buildHcs16CreateAccountTx, buildHcs16FloraCreatedTx, buildHcs16TransactionTx, buildHcs16StateUpdateTx, buildHcs16FloraJoinRequestTx, buildHcs16FloraJoinVoteTx, buildHcs16FloraJoinAcceptedTx } from "./standards-sdk.es98.js";
|
|
8
|
+
class HCS16Client extends HCS16BaseClient {
|
|
5
9
|
constructor(config) {
|
|
6
|
-
super({ network: config.network });
|
|
7
|
-
this.
|
|
8
|
-
|
|
10
|
+
super({ network: config.network, logger: config.logger });
|
|
11
|
+
this.operatorId = AccountId.fromString(config.operatorId);
|
|
12
|
+
const mirror = new HederaMirrorNode(config.network, this.logger);
|
|
13
|
+
this.operatorCtx = createNodeOperatorContext({
|
|
14
|
+
network: config.network,
|
|
15
|
+
operatorId: this.operatorId,
|
|
16
|
+
operatorKey: config.operatorKey,
|
|
17
|
+
keyType: config.keyType,
|
|
18
|
+
mirrorNode: mirror,
|
|
19
|
+
logger: this.logger,
|
|
20
|
+
client: config.network === "mainnet" ? Client.forMainnet() : Client.forTestnet()
|
|
21
|
+
});
|
|
22
|
+
this.client = this.operatorCtx.client;
|
|
9
23
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return this.signer.getAccountId().toString();
|
|
13
|
-
}
|
|
14
|
-
const info = this.hwc?.getAccountInfo?.();
|
|
15
|
-
const accountId = info?.accountId;
|
|
16
|
-
if (!accountId) {
|
|
17
|
-
throw new Error("No active wallet connection");
|
|
18
|
-
}
|
|
19
|
-
return accountId;
|
|
20
|
-
}
|
|
21
|
-
getSigner() {
|
|
22
|
-
if (this.signer) {
|
|
23
|
-
return this.signer;
|
|
24
|
-
}
|
|
25
|
-
this.ensureConnected();
|
|
26
|
-
const s = this.hwc?.dAppConnector?.signers?.[0];
|
|
27
|
-
if (!s) {
|
|
28
|
-
throw new Error("No active wallet signer");
|
|
29
|
-
}
|
|
30
|
-
return s;
|
|
24
|
+
async ensureOperatorReady() {
|
|
25
|
+
await this.operatorCtx.ensureInitialized();
|
|
31
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Create a Flora topic with memo `hcs-16:<floraAccountId>:<topicType>`.
|
|
29
|
+
*/
|
|
32
30
|
async createFloraTopic(params) {
|
|
33
|
-
this.
|
|
34
|
-
const signer = this.getSigner();
|
|
31
|
+
await this.ensureOperatorReady();
|
|
35
32
|
const tx = buildHcs16CreateFloraTopicTx({
|
|
36
33
|
floraAccountId: params.floraAccountId,
|
|
37
34
|
topicType: params.topicType,
|
|
38
35
|
adminKey: params.adminKey,
|
|
39
36
|
submitKey: params.submitKey,
|
|
37
|
+
operatorPublicKey: this.client.operatorPublicKey || void 0,
|
|
40
38
|
autoRenewAccountId: params.autoRenewAccountId
|
|
41
39
|
});
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
40
|
+
const signerKeys = params.signerKeys ?? [];
|
|
41
|
+
if (signerKeys.length > 0) {
|
|
42
|
+
const frozen = await tx.freezeWith(this.client);
|
|
43
|
+
let signed = frozen;
|
|
44
|
+
for (const key of signerKeys) {
|
|
45
|
+
signed = await signed.sign(key);
|
|
46
|
+
}
|
|
47
|
+
const resp2 = await signed.execute(this.client);
|
|
48
|
+
const receipt2 = await resp2.getReceipt(this.client);
|
|
49
|
+
if (!receipt2.topicId) {
|
|
50
|
+
throw new Error("Failed to create Flora topic");
|
|
51
|
+
}
|
|
52
|
+
return receipt2.topicId.toString();
|
|
53
|
+
}
|
|
54
|
+
const resp = await tx.execute(this.client);
|
|
55
|
+
const receipt = await resp.getReceipt(this.client);
|
|
56
|
+
if (!receipt.topicId) {
|
|
57
|
+
throw new Error("Failed to create Flora topic");
|
|
58
|
+
}
|
|
59
|
+
return receipt.topicId.toString();
|
|
60
|
+
}
|
|
61
|
+
async createFloraAccount(params) {
|
|
62
|
+
await this.ensureOperatorReady();
|
|
63
|
+
const tx = buildHcs16CreateAccountTx({
|
|
64
|
+
keyList: params.keyList,
|
|
65
|
+
initialBalanceHbar: params.initialBalanceHbar,
|
|
66
|
+
maxAutomaticTokenAssociations: params.maxAutomaticTokenAssociations
|
|
67
|
+
});
|
|
68
|
+
const resp = await tx.execute(this.client);
|
|
69
|
+
const receipt = await resp.getReceipt(this.client);
|
|
70
|
+
if (!receipt.accountId) {
|
|
71
|
+
throw new Error("Failed to create Flora account");
|
|
72
|
+
}
|
|
73
|
+
return { accountId: receipt.accountId.toString(), receipt };
|
|
47
74
|
}
|
|
48
75
|
async sendFloraCreated(params) {
|
|
49
|
-
|
|
76
|
+
await this.ensureOperatorReady();
|
|
50
77
|
const tx = buildHcs16FloraCreatedTx(params);
|
|
51
|
-
const
|
|
52
|
-
|
|
78
|
+
const resp = await tx.execute(this.client);
|
|
79
|
+
return resp.getReceipt(this.client);
|
|
53
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Send HCS-16 transaction (preferred). scheduleId is the ScheduleId entity (e.g., 0.0.12345).
|
|
83
|
+
*/
|
|
54
84
|
async sendTransaction(params) {
|
|
55
|
-
|
|
85
|
+
await this.ensureOperatorReady();
|
|
56
86
|
const tx = buildHcs16TransactionTx(params);
|
|
57
|
-
const
|
|
58
|
-
|
|
87
|
+
const resp = await tx.execute(this.client);
|
|
88
|
+
return resp.getReceipt(this.client);
|
|
59
89
|
}
|
|
60
90
|
/**
|
|
61
|
-
*
|
|
91
|
+
* Sign a scheduled transaction by ScheduleId entity using provided signer key (PrivateKey).
|
|
92
|
+
* The signer must be a valid member key for the scheduled transaction to count toward threshold.
|
|
62
93
|
*/
|
|
63
94
|
async signSchedule(params) {
|
|
64
|
-
|
|
65
|
-
const tx = await new ScheduleSignTransaction().setScheduleId(params.scheduleId).
|
|
66
|
-
await tx.
|
|
95
|
+
await this.ensureOperatorReady();
|
|
96
|
+
const tx = await new ScheduleSignTransaction().setScheduleId(params.scheduleId).freezeWith(this.client);
|
|
97
|
+
const signed = await tx.sign(params.signerKey);
|
|
98
|
+
const resp = await signed.execute(this.client);
|
|
99
|
+
return resp.getReceipt(this.client);
|
|
67
100
|
}
|
|
68
101
|
async sendStateUpdate(params) {
|
|
69
|
-
|
|
70
|
-
const tx = buildHcs16StateUpdateTx(
|
|
71
|
-
|
|
72
|
-
|
|
102
|
+
await this.ensureOperatorReady();
|
|
103
|
+
const tx = buildHcs16StateUpdateTx({
|
|
104
|
+
topicId: params.topicId,
|
|
105
|
+
operatorId: params.operatorId,
|
|
106
|
+
hash: params.hash,
|
|
107
|
+
epoch: params.epoch,
|
|
108
|
+
accountId: params.accountId,
|
|
109
|
+
topics: params.topics,
|
|
110
|
+
memo: params.memo,
|
|
111
|
+
transactionMemo: params.transactionMemo
|
|
112
|
+
});
|
|
113
|
+
if (params.signerKeys && params.signerKeys.length > 0) {
|
|
114
|
+
const frozen = await tx.freezeWith(this.client);
|
|
115
|
+
let signed = frozen;
|
|
116
|
+
for (const key of params.signerKeys) {
|
|
117
|
+
signed = await signed.sign(key);
|
|
118
|
+
}
|
|
119
|
+
const resp2 = await signed.execute(this.client);
|
|
120
|
+
return resp2.getReceipt(this.client);
|
|
121
|
+
}
|
|
122
|
+
const resp = await tx.execute(this.client);
|
|
123
|
+
return resp.getReceipt(this.client);
|
|
124
|
+
}
|
|
125
|
+
async sendFloraJoinRequest(params) {
|
|
126
|
+
await this.ensureOperatorReady();
|
|
127
|
+
const tx = buildHcs16FloraJoinRequestTx(params);
|
|
128
|
+
if (params.signerKey) {
|
|
129
|
+
const frozen = await tx.freezeWith(this.client);
|
|
130
|
+
const signed = await frozen.sign(params.signerKey);
|
|
131
|
+
const resp2 = await signed.execute(this.client);
|
|
132
|
+
return resp2.getReceipt(this.client);
|
|
133
|
+
}
|
|
134
|
+
const resp = await tx.execute(this.client);
|
|
135
|
+
return resp.getReceipt(this.client);
|
|
136
|
+
}
|
|
137
|
+
async sendFloraJoinVote(params) {
|
|
138
|
+
await this.ensureOperatorReady();
|
|
139
|
+
const tx = buildHcs16FloraJoinVoteTx(params);
|
|
140
|
+
if (params.signerKey) {
|
|
141
|
+
const frozen = await tx.freezeWith(this.client);
|
|
142
|
+
const signed = await frozen.sign(params.signerKey);
|
|
143
|
+
const resp2 = await signed.execute(this.client);
|
|
144
|
+
return resp2.getReceipt(this.client);
|
|
145
|
+
}
|
|
146
|
+
const resp = await tx.execute(this.client);
|
|
147
|
+
return resp.getReceipt(this.client);
|
|
148
|
+
}
|
|
149
|
+
async sendFloraJoinAccepted(params) {
|
|
150
|
+
await this.ensureOperatorReady();
|
|
151
|
+
const tx = buildHcs16FloraJoinAcceptedTx(params);
|
|
152
|
+
if (params.signerKeys && params.signerKeys.length > 0) {
|
|
153
|
+
const frozen = await tx.freezeWith(this.client);
|
|
154
|
+
let signed = frozen;
|
|
155
|
+
for (const key of params.signerKeys) {
|
|
156
|
+
signed = await signed.sign(key);
|
|
157
|
+
}
|
|
158
|
+
const resp2 = await signed.execute(this.client);
|
|
159
|
+
return resp2.getReceipt(this.client);
|
|
160
|
+
}
|
|
161
|
+
const resp = await tx.execute(this.client);
|
|
162
|
+
return resp.getReceipt(this.client);
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Resolve member public keys from Mirror Node and build a KeyList with the given threshold.
|
|
166
|
+
*/
|
|
167
|
+
async assembleKeyList(params) {
|
|
168
|
+
return super.assembleKeyList(params);
|
|
73
169
|
}
|
|
74
|
-
/** credit_purchase is not part of HCS-16 specification */
|
|
75
170
|
/**
|
|
76
|
-
* Create Flora account
|
|
77
|
-
*
|
|
78
|
-
* - Topic submitKey = 1-of-M KeyList of members
|
|
79
|
-
* Returns created Flora account ID and topic IDs.
|
|
171
|
+
* Create a Flora account with a threshold KeyList, then create the three Flora topics.
|
|
172
|
+
* Returns the Flora account ID and the topic IDs.
|
|
80
173
|
*/
|
|
81
174
|
async createFloraAccountWithTopics(params) {
|
|
82
|
-
|
|
175
|
+
await this.ensureOperatorReady();
|
|
83
176
|
const keyList = await this.assembleKeyList({
|
|
84
177
|
members: params.members,
|
|
85
178
|
threshold: params.threshold
|
|
@@ -90,13 +183,12 @@ class HCS16BrowserClient extends HCS16BaseClient {
|
|
|
90
183
|
initialBalanceHbar: typeof params.initialBalanceHbar === "number" ? params.initialBalanceHbar : 5,
|
|
91
184
|
maxAutomaticTokenAssociations: -1
|
|
92
185
|
});
|
|
93
|
-
const
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
const floraAccountId = accReceipt?.accountId?.toString?.();
|
|
97
|
-
if (!floraAccountId) {
|
|
186
|
+
const accResp = await createAcc.execute(this.client);
|
|
187
|
+
const accReceipt = await accResp.getReceipt(this.client);
|
|
188
|
+
if (!accReceipt.accountId) {
|
|
98
189
|
throw new Error("Failed to create Flora account");
|
|
99
190
|
}
|
|
191
|
+
const floraAccountId = accReceipt.accountId.toString();
|
|
100
192
|
const {
|
|
101
193
|
communication: commTx,
|
|
102
194
|
transaction: trnTx,
|
|
@@ -107,54 +199,87 @@ class HCS16BrowserClient extends HCS16BaseClient {
|
|
|
107
199
|
submitList,
|
|
108
200
|
autoRenewAccountId: params.autoRenewAccountId
|
|
109
201
|
});
|
|
110
|
-
const commR = await
|
|
111
|
-
const trnR = await
|
|
112
|
-
const stateR = await
|
|
202
|
+
const commR = await commTx.execute(this.client).then((r) => r.getReceipt(this.client));
|
|
203
|
+
const trnR = await trnTx.execute(this.client).then((r) => r.getReceipt(this.client));
|
|
204
|
+
const stateR = await stateTx.execute(this.client).then((r) => r.getReceipt(this.client));
|
|
113
205
|
const topics = {
|
|
114
|
-
communication: commR
|
|
115
|
-
transaction: trnR
|
|
116
|
-
state: stateR
|
|
206
|
+
communication: commR.topicId.toString(),
|
|
207
|
+
transaction: trnR.topicId.toString(),
|
|
208
|
+
state: stateR.topicId.toString()
|
|
117
209
|
};
|
|
118
210
|
return { floraAccountId, topics };
|
|
119
211
|
}
|
|
120
|
-
|
|
212
|
+
async createFloraProfile(params) {
|
|
213
|
+
await this.ensureOperatorReady();
|
|
214
|
+
if (params.signerKeys.length === 0) {
|
|
215
|
+
throw new Error("Flora profile creation requires signer keys");
|
|
216
|
+
}
|
|
217
|
+
const profile = {
|
|
218
|
+
version: "1.0",
|
|
219
|
+
type: 3,
|
|
220
|
+
display_name: params.displayName,
|
|
221
|
+
members: params.members,
|
|
222
|
+
threshold: params.threshold,
|
|
223
|
+
topics: params.topics,
|
|
224
|
+
inboundTopicId: params.inboundTopicId ?? params.topics.communication,
|
|
225
|
+
outboundTopicId: params.outboundTopicId ?? params.topics.transaction,
|
|
226
|
+
bio: params.bio,
|
|
227
|
+
metadata: params.metadata,
|
|
228
|
+
policies: params.policies
|
|
229
|
+
};
|
|
230
|
+
const hcs11 = new HCS11Client({
|
|
231
|
+
network: this.network,
|
|
232
|
+
auth: {
|
|
233
|
+
operatorId: this.operatorId.toString(),
|
|
234
|
+
privateKey: this.operatorCtx.operatorKey.toString()
|
|
235
|
+
},
|
|
236
|
+
logLevel: this.logger.getLevel()
|
|
237
|
+
});
|
|
238
|
+
try {
|
|
239
|
+
await hcs11.initializeOperator();
|
|
240
|
+
const profileResult = await hcs11.inscribeProfile(profile);
|
|
241
|
+
if (!profileResult.success) {
|
|
242
|
+
throw new Error(
|
|
243
|
+
profileResult.error ?? "Failed to inscribe Flora profile"
|
|
244
|
+
);
|
|
245
|
+
}
|
|
246
|
+
const memoResult = await hcs11.updateAccountMemoWithProfile(
|
|
247
|
+
params.floraAccountId,
|
|
248
|
+
profileResult.profileTopicId,
|
|
249
|
+
params.signerKeys
|
|
250
|
+
);
|
|
251
|
+
if (!memoResult.success) {
|
|
252
|
+
throw new Error(
|
|
253
|
+
memoResult.error ?? "Failed to update Flora account memo"
|
|
254
|
+
);
|
|
255
|
+
}
|
|
256
|
+
return {
|
|
257
|
+
profileTopicId: profileResult.profileTopicId,
|
|
258
|
+
transactionId: profileResult.transactionId
|
|
259
|
+
};
|
|
260
|
+
} finally {
|
|
261
|
+
try {
|
|
262
|
+
hcs11.getClient().close();
|
|
263
|
+
} catch {
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Convenience: publish flora_created on the communication topic.
|
|
269
|
+
*/
|
|
121
270
|
async publishFloraCreated(params) {
|
|
122
|
-
|
|
271
|
+
await this.ensureOperatorReady();
|
|
123
272
|
const tx = buildHcs16FloraCreatedTx({
|
|
124
273
|
topicId: params.communicationTopicId,
|
|
125
274
|
operatorId: params.operatorId,
|
|
126
275
|
floraAccountId: params.floraAccountId,
|
|
127
276
|
topics: params.topics
|
|
128
277
|
});
|
|
129
|
-
const
|
|
130
|
-
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Post flora_join_request on Flora communication topic.
|
|
134
|
-
* If submitKey=1/M, a member must relay the message.
|
|
135
|
-
*/
|
|
136
|
-
async sendFloraJoinRequest(params) {
|
|
137
|
-
const signer = this.getSigner();
|
|
138
|
-
const tx = buildHcs16FloraJoinRequestTx(params);
|
|
139
|
-
const frozen = await tx.freezeWithSigner(signer);
|
|
140
|
-
await frozen.executeWithSigner(signer);
|
|
141
|
-
}
|
|
142
|
-
/** Post flora_join_vote approval/rejection on the communication topic. */
|
|
143
|
-
async sendFloraJoinVote(params) {
|
|
144
|
-
const signer = this.getSigner();
|
|
145
|
-
const tx = buildHcs16FloraJoinVoteTx(params);
|
|
146
|
-
const frozen = await tx.freezeWithSigner(signer);
|
|
147
|
-
await frozen.executeWithSigner(signer);
|
|
148
|
-
}
|
|
149
|
-
/** Post flora_join_accepted after threshold approval. */
|
|
150
|
-
async sendFloraJoinAccepted(params) {
|
|
151
|
-
const signer = this.getSigner();
|
|
152
|
-
const tx = buildHcs16FloraJoinAcceptedTx(params);
|
|
153
|
-
const frozen = await tx.freezeWithSigner(signer);
|
|
154
|
-
await frozen.executeWithSigner(signer);
|
|
278
|
+
const resp = await tx.execute(this.client);
|
|
279
|
+
return resp.getReceipt(this.client);
|
|
155
280
|
}
|
|
156
281
|
}
|
|
157
282
|
export {
|
|
158
|
-
|
|
283
|
+
HCS16Client
|
|
159
284
|
};
|
|
160
285
|
//# sourceMappingURL=standards-sdk.es99.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es99.js","sources":["../../src/hcs-16/browser.ts"],"sourcesContent":["import type { HashinalsWalletConnectSDK } from '@hashgraphonline/hashinal-wc';\nimport type { DAppSigner } from '@hashgraph/hedera-wallet-connect';\nimport type { PublicKey, KeyList } from '@hashgraph/sdk';\nimport { ScheduleSignTransaction } from '@hashgraph/sdk';\nimport {\n buildHcs16CreateFloraTopicTx,\n buildHcs16FloraCreatedTx,\n buildHcs16TransactionTx,\n buildHcs16StateUpdateTx,\n buildHcs16FloraJoinRequestTx,\n buildHcs16FloraJoinVoteTx,\n buildHcs16FloraJoinAcceptedTx,\n buildHcs16CreateAccountTx,\n} from './tx';\nimport { FloraTopicType } from './types';\nimport { HCS16BaseClient } from './base-client';\n\nexport interface HCS16BrowserClientConfig {\n network: 'testnet' | 'mainnet';\n hwc?: HashinalsWalletConnectSDK;\n signer?: DAppSigner;\n}\n\n/**\n * Browser client for HCS‑16 operations using a DAppSigner.\n */\nexport class HCS16BrowserClient extends HCS16BaseClient {\n private readonly hwc?: HashinalsWalletConnectSDK;\n private readonly signer?: DAppSigner;\n\n constructor(config: HCS16BrowserClientConfig) {\n super({ network: config.network });\n this.hwc = config.hwc;\n this.signer = config.signer;\n }\n\n private ensureConnected(): string {\n if (\n this.signer &&\n typeof (this.signer as DAppSigner).getAccountId === 'function'\n ) {\n return (this.signer as DAppSigner).getAccountId().toString();\n }\n const info = this.hwc?.getAccountInfo?.();\n const accountId = info?.accountId;\n if (!accountId) {\n throw new Error('No active wallet connection');\n }\n return accountId;\n }\n\n private getSigner(): DAppSigner {\n if (this.signer) {\n return this.signer;\n }\n this.ensureConnected();\n const s = this.hwc?.dAppConnector?.signers?.[0];\n if (!s) {\n throw new Error('No active wallet signer');\n }\n return s as unknown as DAppSigner;\n }\n\n async createFloraTopic(params: {\n floraAccountId: string;\n topicType: FloraTopicType;\n adminKey?: PublicKey | KeyList;\n submitKey?: PublicKey | KeyList;\n autoRenewAccountId?: string;\n }): Promise<string> {\n this.ensureConnected();\n const signer = this.getSigner();\n const tx = buildHcs16CreateFloraTopicTx({\n floraAccountId: params.floraAccountId,\n topicType: params.topicType,\n adminKey: params.adminKey,\n submitKey: params.submitKey,\n autoRenewAccountId: params.autoRenewAccountId,\n });\n const frozen = await tx.freezeWithSigner(signer);\n const res = await frozen.executeWithSigner(signer);\n const receipt = await res.getReceiptWithSigner(signer);\n const topicId = receipt?.topicId?.toString?.() || '';\n return topicId;\n }\n\n async sendFloraCreated(params: {\n topicId: string;\n operatorId: string;\n floraAccountId: string;\n topics: { communication: string; transaction: string; state: string };\n }): Promise<void> {\n const signer = this.getSigner();\n const tx = buildHcs16FloraCreatedTx(params);\n const frozen = await tx.freezeWithSigner(signer);\n await frozen.executeWithSigner(signer);\n }\n\n async sendTransaction(params: {\n topicId: string;\n operatorId: string;\n scheduleId: string;\n data?: string;\n }): Promise<void> {\n const signer = this.getSigner();\n const tx = buildHcs16TransactionTx(params);\n const frozen = await tx.freezeWithSigner(signer);\n await frozen.executeWithSigner(signer);\n }\n\n /**\n * Wallet-signed ScheduleSign for a given scheduleId.\n */\n async signSchedule(params: { scheduleId: string }): Promise<void> {\n const signer = this.getSigner();\n const tx = await new ScheduleSignTransaction()\n .setScheduleId(params.scheduleId)\n .freezeWithSigner(signer);\n await tx.executeWithSigner(signer);\n }\n\n async sendStateUpdate(params: {\n topicId: string;\n operatorId: string;\n hash: string;\n epoch?: number;\n accountId?: string;\n topics?: string[];\n memo?: string;\n transactionMemo?: string;\n }): Promise<void> {\n const signer = this.getSigner();\n const tx = buildHcs16StateUpdateTx(params);\n const frozen = await tx.freezeWithSigner(signer);\n await frozen.executeWithSigner(signer);\n }\n\n /** credit_purchase is not part of HCS-16 specification */\n\n /**\n * Create Flora account and C/T/S topics using DAppSigner.\n * - Account KeyList = threshold of members\n * - Topic submitKey = 1-of-M KeyList of members\n * Returns created Flora account ID and topic IDs.\n */\n async createFloraAccountWithTopics(params: {\n members: string[];\n threshold: number;\n initialBalanceHbar?: number;\n autoRenewAccountId?: string;\n }): Promise<{\n floraAccountId: string;\n topics: { communication: string; transaction: string; state: string };\n }> {\n const signer = this.getSigner();\n const keyList = await this.assembleKeyList({\n members: params.members,\n threshold: params.threshold,\n });\n const submitList = await this.assembleSubmitKeyList(params.members);\n\n const createAcc = buildHcs16CreateAccountTx({\n keyList,\n initialBalanceHbar:\n typeof params.initialBalanceHbar === 'number'\n ? params.initialBalanceHbar\n : 5,\n maxAutomaticTokenAssociations: -1,\n });\n const accFrozen = await createAcc.freezeWithSigner(signer);\n const accExec = await accFrozen.executeWithSigner(signer);\n const accReceipt = await accExec.getReceiptWithSigner(signer);\n const floraAccountId = accReceipt?.accountId?.toString?.();\n if (!floraAccountId) {\n throw new Error('Failed to create Flora account');\n }\n\n const {\n communication: commTx,\n transaction: trnTx,\n state: stateTx,\n } = this.buildFloraTopicCreateTxs({\n floraAccountId,\n keyList,\n submitList,\n autoRenewAccountId: params.autoRenewAccountId,\n });\n\n const commR = await (\n await (await commTx.freezeWithSigner(signer)).executeWithSigner(signer)\n ).getReceiptWithSigner(signer);\n const trnR = await (\n await (await trnTx.freezeWithSigner(signer)).executeWithSigner(signer)\n ).getReceiptWithSigner(signer);\n const stateR = await (\n await (await stateTx.freezeWithSigner(signer)).executeWithSigner(signer)\n ).getReceiptWithSigner(signer);\n const topics = {\n communication: commR?.topicId?.toString?.() || '',\n transaction: trnR?.topicId?.toString?.() || '',\n state: stateR?.topicId?.toString?.() || '',\n };\n return { floraAccountId, topics };\n }\n\n /** Publish flora_created on the communication topic. */\n async publishFloraCreated(params: {\n communicationTopicId: string;\n operatorId: string;\n floraAccountId: string;\n topics: { communication: string; transaction: string; state: string };\n }): Promise<void> {\n const signer = this.getSigner();\n const tx = buildHcs16FloraCreatedTx({\n topicId: params.communicationTopicId,\n operatorId: params.operatorId,\n floraAccountId: params.floraAccountId,\n topics: params.topics,\n });\n const frozen = await tx.freezeWithSigner(signer);\n await frozen.executeWithSigner(signer);\n }\n\n /**\n * Post flora_join_request on Flora communication topic.\n * If submitKey=1/M, a member must relay the message.\n */\n async sendFloraJoinRequest(params: {\n topicId: string;\n operatorId: string;\n accountId: string;\n connectionRequestId: number;\n connectionTopicId: string;\n connectionSeq: number;\n }): Promise<void> {\n const signer = this.getSigner();\n const tx = buildHcs16FloraJoinRequestTx(params);\n const frozen = await tx.freezeWithSigner(signer);\n await frozen.executeWithSigner(signer);\n }\n\n /** Post flora_join_vote approval/rejection on the communication topic. */\n async sendFloraJoinVote(params: {\n topicId: string;\n operatorId: string;\n accountId: string;\n approve: boolean;\n connectionRequestId: number;\n connectionSeq: number;\n }): Promise<void> {\n const signer = this.getSigner();\n const tx = buildHcs16FloraJoinVoteTx(params);\n const frozen = await tx.freezeWithSigner(signer);\n await frozen.executeWithSigner(signer);\n }\n\n /** Post flora_join_accepted after threshold approval. */\n async sendFloraJoinAccepted(params: {\n topicId: string;\n operatorId: string;\n members: string[];\n epoch?: number;\n }): Promise<void> {\n const signer = this.getSigner();\n const tx = buildHcs16FloraJoinAcceptedTx(params);\n const frozen = await tx.freezeWithSigner(signer);\n await frozen.executeWithSigner(signer);\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es99.js","sources":["../../src/hcs-16/sdk.ts"],"sourcesContent":["import {\n Client,\n AccountId,\n PublicKey,\n KeyList,\n TransactionReceipt,\n Hbar,\n ScheduleSignTransaction,\n PrivateKey,\n} from '@hashgraph/sdk';\nimport type { NetworkType } from '../utils/types';\nimport type { Logger } from '../utils/logger';\nimport { HCS11Client } from '../hcs-11';\nimport {\n createNodeOperatorContext,\n type NodeOperatorContext,\n} from '../common/node-operator-resolver';\nimport { HederaMirrorNode } from '../services/mirror-node';\nimport { HCS16BaseClient } from './base-client';\nimport {\n buildHcs16CreateFloraTopicTx,\n buildHcs16FloraCreatedTx,\n buildHcs16TransactionTx,\n buildHcs16StateUpdateTx,\n} from './tx';\nimport { FloraTopicType, type FloraMember, type FloraProfile } from './types';\nimport {\n buildHcs16FloraJoinRequestTx,\n buildHcs16FloraJoinVoteTx,\n buildHcs16FloraJoinAcceptedTx,\n buildHcs16CreateAccountTx,\n} from './tx';\n\nexport interface HCS16ClientConfig {\n network: NetworkType;\n operatorId: string;\n operatorKey: string;\n keyType?: 'ecdsa' | 'ed25519';\n logger?: Logger;\n}\n\nexport interface FloraProfileOptions {\n floraAccountId: string;\n displayName: string;\n members: FloraMember[];\n threshold: number;\n topics: { communication: string; transaction: string; state: string };\n inboundTopicId?: string;\n outboundTopicId?: string;\n bio?: string;\n metadata?: Record<string, unknown>;\n policies?: Record<string, string>;\n signerKeys: PrivateKey[];\n}\n\n/**\n * Node SDK client for HCS‑16 Flora operations.\n */\nexport class HCS16Client extends HCS16BaseClient {\n private readonly client: Client;\n private readonly operatorId: AccountId;\n private readonly operatorCtx: NodeOperatorContext;\n\n constructor(config: HCS16ClientConfig) {\n super({ network: config.network, logger: config.logger });\n this.operatorId = AccountId.fromString(config.operatorId);\n const mirror = new HederaMirrorNode(config.network, this.logger);\n this.operatorCtx = createNodeOperatorContext({\n network: config.network,\n operatorId: this.operatorId,\n operatorKey: config.operatorKey,\n keyType: config.keyType,\n mirrorNode: mirror,\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\n private async ensureOperatorReady(): Promise<void> {\n await this.operatorCtx.ensureInitialized();\n }\n\n /**\n * Create a Flora topic with memo `hcs-16:<floraAccountId>:<topicType>`.\n */\n async createFloraTopic(params: {\n floraAccountId: string;\n topicType: FloraTopicType;\n adminKey?: PublicKey | KeyList;\n submitKey?: PublicKey | KeyList;\n autoRenewAccountId?: string;\n signerKeys?: PrivateKey[];\n }): Promise<string> {\n await this.ensureOperatorReady();\n const tx = buildHcs16CreateFloraTopicTx({\n floraAccountId: params.floraAccountId,\n topicType: params.topicType,\n adminKey: params.adminKey,\n submitKey: params.submitKey,\n operatorPublicKey: this.client.operatorPublicKey || undefined,\n autoRenewAccountId: params.autoRenewAccountId,\n });\n const signerKeys = params.signerKeys ?? [];\n if (signerKeys.length > 0) {\n const frozen = await tx.freezeWith(this.client);\n let signed = frozen;\n for (const key of signerKeys) {\n signed = await signed.sign(key);\n }\n const resp = await signed.execute(this.client);\n const receipt = await resp.getReceipt(this.client);\n if (!receipt.topicId) {\n throw new Error('Failed to create Flora topic');\n }\n return receipt.topicId.toString();\n }\n const resp = await tx.execute(this.client);\n const receipt = await resp.getReceipt(this.client);\n if (!receipt.topicId) {\n throw new Error('Failed to create Flora topic');\n }\n return receipt.topicId.toString();\n }\n\n async createFloraAccount(params: {\n keyList: KeyList;\n initialBalanceHbar?: number;\n maxAutomaticTokenAssociations?: number;\n }): Promise<{ accountId: string; receipt: TransactionReceipt }> {\n await this.ensureOperatorReady();\n const tx = buildHcs16CreateAccountTx({\n keyList: params.keyList,\n initialBalanceHbar: params.initialBalanceHbar,\n maxAutomaticTokenAssociations: params.maxAutomaticTokenAssociations,\n });\n const resp = await tx.execute(this.client);\n const receipt = await resp.getReceipt(this.client);\n if (!receipt.accountId) {\n throw new Error('Failed to create Flora account');\n }\n return { accountId: receipt.accountId.toString(), receipt };\n }\n\n async sendFloraCreated(params: {\n topicId: string;\n operatorId: string;\n floraAccountId: string;\n topics: { communication: string; transaction: string; state: string };\n }): Promise<TransactionReceipt> {\n await this.ensureOperatorReady();\n const tx = buildHcs16FloraCreatedTx(params);\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n /**\n * Send HCS-16 transaction (preferred). scheduleId is the ScheduleId entity (e.g., 0.0.12345).\n */\n async sendTransaction(params: {\n topicId: string;\n operatorId: string;\n scheduleId: string;\n data?: string;\n }): Promise<TransactionReceipt> {\n await this.ensureOperatorReady();\n const tx = buildHcs16TransactionTx(params);\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n /**\n * Sign a scheduled transaction by ScheduleId entity using provided signer key (PrivateKey).\n * The signer must be a valid member key for the scheduled transaction to count toward threshold.\n */\n async signSchedule(params: {\n scheduleId: string;\n signerKey: PrivateKey;\n }): Promise<TransactionReceipt> {\n await this.ensureOperatorReady();\n const tx = await new ScheduleSignTransaction()\n .setScheduleId(params.scheduleId)\n .freezeWith(this.client);\n const signed = await tx.sign(params.signerKey);\n const resp = await signed.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n async sendStateUpdate(params: {\n topicId: string;\n operatorId: string;\n hash: string;\n epoch?: number;\n accountId?: string;\n topics?: string[];\n memo?: string;\n transactionMemo?: string;\n signerKeys?: PrivateKey[];\n }): Promise<TransactionReceipt> {\n await this.ensureOperatorReady();\n const tx = buildHcs16StateUpdateTx({\n topicId: params.topicId,\n operatorId: params.operatorId,\n hash: params.hash,\n epoch: params.epoch,\n accountId: params.accountId,\n topics: params.topics,\n memo: params.memo,\n transactionMemo: params.transactionMemo,\n });\n if (params.signerKeys && params.signerKeys.length > 0) {\n const frozen = await tx.freezeWith(this.client);\n let signed = frozen;\n for (const key of params.signerKeys) {\n signed = await signed.sign(key);\n }\n const resp = await signed.execute(this.client);\n return resp.getReceipt(this.client);\n }\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n async sendFloraJoinRequest(params: {\n topicId: string;\n operatorId: string;\n accountId: string;\n connectionRequestId: number;\n connectionTopicId: string;\n connectionSeq: number;\n signerKey?: PrivateKey;\n }): Promise<TransactionReceipt> {\n await this.ensureOperatorReady();\n const tx = buildHcs16FloraJoinRequestTx(params);\n if (params.signerKey) {\n const frozen = await tx.freezeWith(this.client);\n const signed = await frozen.sign(params.signerKey);\n const resp = await signed.execute(this.client);\n return resp.getReceipt(this.client);\n }\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n async sendFloraJoinVote(params: {\n topicId: string;\n operatorId: string;\n accountId: string;\n approve: boolean;\n connectionRequestId: number;\n connectionSeq: number;\n signerKey?: PrivateKey;\n }): Promise<TransactionReceipt> {\n await this.ensureOperatorReady();\n const tx = buildHcs16FloraJoinVoteTx(params);\n if (params.signerKey) {\n const frozen = await tx.freezeWith(this.client);\n const signed = await frozen.sign(params.signerKey);\n const resp = await signed.execute(this.client);\n return resp.getReceipt(this.client);\n }\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n async sendFloraJoinAccepted(params: {\n topicId: string;\n operatorId: string;\n members: string[];\n epoch?: number;\n signerKeys?: PrivateKey[];\n }): Promise<TransactionReceipt> {\n await this.ensureOperatorReady();\n const tx = buildHcs16FloraJoinAcceptedTx(params);\n if (params.signerKeys && params.signerKeys.length > 0) {\n const frozen = await tx.freezeWith(this.client);\n let signed = frozen;\n for (const key of params.signerKeys) {\n signed = await signed.sign(key);\n }\n const resp = await signed.execute(this.client);\n return resp.getReceipt(this.client);\n }\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n\n /**\n * Resolve member public keys from Mirror Node and build a KeyList with the given threshold.\n */\n async assembleKeyList(params: {\n members: string[];\n threshold: number;\n }): Promise<KeyList> {\n return super.assembleKeyList(params);\n }\n\n /**\n * Create a Flora account with a threshold KeyList, then create the three Flora topics.\n * Returns the Flora account ID and the topic IDs.\n */\n async createFloraAccountWithTopics(params: {\n members: string[];\n threshold: number;\n initialBalanceHbar?: number;\n autoRenewAccountId?: string;\n }): Promise<{\n floraAccountId: string;\n topics: { communication: string; transaction: string; state: string };\n }> {\n await this.ensureOperatorReady();\n const keyList = await this.assembleKeyList({\n members: params.members,\n threshold: params.threshold,\n });\n const submitList = await this.assembleSubmitKeyList(params.members);\n\n const createAcc = buildHcs16CreateAccountTx({\n keyList,\n initialBalanceHbar:\n typeof params.initialBalanceHbar === 'number'\n ? params.initialBalanceHbar\n : 5,\n maxAutomaticTokenAssociations: -1,\n });\n const accResp = await createAcc.execute(this.client);\n const accReceipt = await accResp.getReceipt(this.client);\n if (!accReceipt.accountId) {\n throw new Error('Failed to create Flora account');\n }\n const floraAccountId = accReceipt.accountId.toString();\n\n const {\n communication: commTx,\n transaction: trnTx,\n state: stateTx,\n } = this.buildFloraTopicCreateTxs({\n floraAccountId,\n keyList,\n submitList,\n autoRenewAccountId: params.autoRenewAccountId,\n });\n\n const commR = await commTx\n .execute(this.client)\n .then(r => r.getReceipt(this.client));\n const trnR = await trnTx\n .execute(this.client)\n .then(r => r.getReceipt(this.client));\n const stateR = await stateTx\n .execute(this.client)\n .then(r => r.getReceipt(this.client));\n const topics = {\n communication: commR.topicId!.toString(),\n transaction: trnR.topicId!.toString(),\n state: stateR.topicId!.toString(),\n };\n return { floraAccountId, topics };\n }\n\n async createFloraProfile(params: FloraProfileOptions): Promise<{\n profileTopicId: string;\n transactionId: string;\n }> {\n await this.ensureOperatorReady();\n if (params.signerKeys.length === 0) {\n throw new Error('Flora profile creation requires signer keys');\n }\n\n const profile: FloraProfile = {\n version: '1.0',\n type: 3,\n display_name: params.displayName,\n members: params.members,\n threshold: params.threshold,\n topics: params.topics,\n inboundTopicId: params.inboundTopicId ?? params.topics.communication,\n outboundTopicId: params.outboundTopicId ?? params.topics.transaction,\n bio: params.bio,\n metadata: params.metadata,\n policies: params.policies,\n };\n\n const hcs11 = new HCS11Client({\n network: this.network,\n auth: {\n operatorId: this.operatorId.toString(),\n privateKey: this.operatorCtx.operatorKey.toString(),\n },\n logLevel: this.logger.getLevel(),\n });\n\n try {\n await hcs11.initializeOperator();\n const profileResult = await hcs11.inscribeProfile(profile);\n if (!profileResult.success) {\n throw new Error(\n profileResult.error ?? 'Failed to inscribe Flora profile',\n );\n }\n\n const memoResult = await hcs11.updateAccountMemoWithProfile(\n params.floraAccountId,\n profileResult.profileTopicId,\n params.signerKeys,\n );\n\n if (!memoResult.success) {\n throw new Error(\n memoResult.error ?? 'Failed to update Flora account memo',\n );\n }\n\n return {\n profileTopicId: profileResult.profileTopicId,\n transactionId: profileResult.transactionId,\n };\n } finally {\n try {\n hcs11.getClient().close();\n } catch {}\n }\n }\n\n /**\n * Convenience: publish flora_created on the communication topic.\n */\n async publishFloraCreated(params: {\n communicationTopicId: string;\n operatorId: string;\n floraAccountId: string;\n topics: { communication: string; transaction: string; state: string };\n }): Promise<TransactionReceipt> {\n await this.ensureOperatorReady();\n const tx = buildHcs16FloraCreatedTx({\n topicId: params.communicationTopicId,\n operatorId: params.operatorId,\n floraAccountId: params.floraAccountId,\n topics: params.topics,\n });\n const resp = await tx.execute(this.client);\n return resp.getReceipt(this.client);\n }\n}\n"],"names":["resp","receipt"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hashgraphonline/standards-sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.162",
|
|
4
4
|
"description": "The Hashgraph Online Standards SDK provides a complete implementation of the Hiero Consensus Standards (HCS), giving developers all the tools needed to build wonderful decentralized applications on the Hashgraph network. https://hol.org",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -167,6 +167,10 @@
|
|
|
167
167
|
"demo:hcs-14:hiero-issue-uaid": "tsx demo/hcs-14/hiero-issue-and-uaid.ts",
|
|
168
168
|
"demo:hcs-14:issue-resolve": "tsx demo/hcs-14/issue-and-resolve-did.ts",
|
|
169
169
|
"demo:hcs-14:resolve-profile": "tsx demo/hcs-14/resolve-did.ts",
|
|
170
|
+
"demo:hcs-14:resolve-aid-profile": "tsx demo/hcs-14/resolve-aid-profile.ts",
|
|
171
|
+
"demo:hcs-14:resolve-ans-profile": "tsx demo/hcs-14/resolve-ans-profile.ts",
|
|
172
|
+
"demo:hcs-14:resolve-uaid-dns-profile": "tsx demo/hcs-14/resolve-uaid-dns-profile.ts",
|
|
173
|
+
"demo:hcs-14:resolve-uaid-did-profile": "tsx demo/hcs-14/resolve-uaid-did-profile.ts",
|
|
170
174
|
"demo:hcs12": "tsx demo/hcs-12/hcs12-demo.ts",
|
|
171
175
|
"demo:mcp-chat": "tsx demo/hcs-10/create-mcp.ts",
|
|
172
176
|
"demo:hcs-2:create": "tsx demo/hcs-2/create-registry.ts",
|