@hashgraphonline/standards-sdk 0.1.141-canary.30 → 0.1.141-canary.32

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.
Files changed (76) hide show
  1. package/dist/cjs/hcs-21/sdk.d.ts +17 -0
  2. package/dist/cjs/hcs-21/sdk.d.ts.map +1 -1
  3. package/dist/cjs/hcs-21/types.d.ts.map +1 -1
  4. package/dist/cjs/standards-sdk.cjs +1 -1
  5. package/dist/cjs/standards-sdk.cjs.map +1 -1
  6. package/dist/es/hcs-21/sdk.d.ts +17 -0
  7. package/dist/es/hcs-21/sdk.d.ts.map +1 -1
  8. package/dist/es/hcs-21/types.d.ts.map +1 -1
  9. package/dist/es/standards-sdk.es100.js +1 -1
  10. package/dist/es/standards-sdk.es102.js +1 -1
  11. package/dist/es/standards-sdk.es104.js +1 -1
  12. package/dist/es/standards-sdk.es110.js +1 -1
  13. package/dist/es/standards-sdk.es111.js +5 -5
  14. package/dist/es/standards-sdk.es12.js +1 -1
  15. package/dist/es/standards-sdk.es121.js +1 -1
  16. package/dist/es/standards-sdk.es122.js +1 -1
  17. package/dist/es/standards-sdk.es123.js +5 -5
  18. package/dist/es/standards-sdk.es125.js +1 -1
  19. package/dist/es/standards-sdk.es126.js +1 -1
  20. package/dist/es/standards-sdk.es128.js +1 -1
  21. package/dist/es/standards-sdk.es13.js +1 -1
  22. package/dist/es/standards-sdk.es137.js +766 -138
  23. package/dist/es/standards-sdk.es137.js.map +1 -1
  24. package/dist/es/standards-sdk.es138.js +12265 -33
  25. package/dist/es/standards-sdk.es138.js.map +1 -1
  26. package/dist/es/standards-sdk.es139.js +138 -766
  27. package/dist/es/standards-sdk.es139.js.map +1 -1
  28. package/dist/es/standards-sdk.es140.js +34 -12266
  29. package/dist/es/standards-sdk.es140.js.map +1 -1
  30. package/dist/es/standards-sdk.es142.js +167 -51
  31. package/dist/es/standards-sdk.es142.js.map +1 -1
  32. package/dist/es/standards-sdk.es143.js +289 -139
  33. package/dist/es/standards-sdk.es143.js.map +1 -1
  34. package/dist/es/standards-sdk.es144.js +298 -274
  35. package/dist/es/standards-sdk.es144.js.map +1 -1
  36. package/dist/es/standards-sdk.es145.js +369 -262
  37. package/dist/es/standards-sdk.es145.js.map +1 -1
  38. package/dist/es/standards-sdk.es146.js +194 -316
  39. package/dist/es/standards-sdk.es146.js.map +1 -1
  40. package/dist/es/standards-sdk.es147.js +64 -319
  41. package/dist/es/standards-sdk.es147.js.map +1 -1
  42. package/dist/es/standards-sdk.es148.js +49 -69
  43. package/dist/es/standards-sdk.es148.js.map +1 -1
  44. package/dist/es/standards-sdk.es17.js +1 -1
  45. package/dist/es/standards-sdk.es19.js +4 -4
  46. package/dist/es/standards-sdk.es20.js +2 -2
  47. package/dist/es/standards-sdk.es23.js +1 -1
  48. package/dist/es/standards-sdk.es28.js +3 -3
  49. package/dist/es/standards-sdk.es31.js +1 -1
  50. package/dist/es/standards-sdk.es32.js +1 -1
  51. package/dist/es/standards-sdk.es36.js +2 -2
  52. package/dist/es/standards-sdk.es37.js +3 -3
  53. package/dist/es/standards-sdk.es38.js +1 -1
  54. package/dist/es/standards-sdk.es5.js +1 -1
  55. package/dist/es/standards-sdk.es54.js +1 -1
  56. package/dist/es/standards-sdk.es57.js +1 -1
  57. package/dist/es/standards-sdk.es59.js +1 -1
  58. package/dist/es/standards-sdk.es61.js +2 -2
  59. package/dist/es/standards-sdk.es66.js +1 -1
  60. package/dist/es/standards-sdk.es69.js +2 -2
  61. package/dist/es/standards-sdk.es70.js +1 -1
  62. package/dist/es/standards-sdk.es72.js +1 -1
  63. package/dist/es/standards-sdk.es77.js +1 -1
  64. package/dist/es/standards-sdk.es78.js +1 -1
  65. package/dist/es/standards-sdk.es79.js +1 -1
  66. package/dist/es/standards-sdk.es8.js +1 -1
  67. package/dist/es/standards-sdk.es80.js +3 -3
  68. package/dist/es/standards-sdk.es80.js.map +1 -1
  69. package/dist/es/standards-sdk.es82.js +1 -1
  70. package/dist/es/standards-sdk.es84.js +56 -1
  71. package/dist/es/standards-sdk.es84.js.map +1 -1
  72. package/dist/es/standards-sdk.es88.js +1 -1
  73. package/dist/es/standards-sdk.es92.js +1 -1
  74. package/dist/es/standards-sdk.es93.js +1 -1
  75. package/dist/es/standards-sdk.es98.js +1 -1
  76. package/package.json +1 -1
@@ -1,79 +1,59 @@
1
- import { proto } from "@hashgraph/proto";
2
- import { ContractId } from "@hashgraph/sdk";
3
- import { Buffer } from "buffer";
4
- function parseKey(key) {
5
- if (!key) {
6
- return void 0;
7
- }
8
- if (key.contractID) {
9
- return `ContractID: ${new ContractId(
10
- key.contractID.shardNum ?? 0,
11
- key.contractID.realmNum ?? 0,
12
- key.contractID.contractNum ?? 0
13
- ).toString()}`;
14
- }
15
- if (key.ed25519) {
16
- return `ED25519: ${Buffer.from(key.ed25519).toString("hex")}`;
17
- }
18
- if (key.ECDSASecp256k1) {
19
- return `ECDSA_secp256k1: ${Buffer.from(key.ECDSASecp256k1).toString(
20
- "hex"
21
- )}`;
22
- }
23
- if (key?.keyList?.keys?.length > 0) {
24
- const keys = key.keyList.keys.map((k) => parseKey(k)).filter(Boolean);
25
- return `KeyList (${keys.length} keys): [${keys.join(", ")}]`;
26
- }
27
- if (key?.thresholdKey?.keys?.keys?.length > 0) {
28
- const keys = key.thresholdKey.keys.keys.map((k) => parseKey(k)).filter(Boolean);
29
- return `ThresholdKey (${key.thresholdKey.threshold} of ${keys.length}): [${keys.join(", ")}]`;
30
- }
31
- if (key.delegatableContractId) {
32
- return `DelegatableContractID: ${new ContractId(
33
- key.delegatableContractId.shardNum ?? 0,
34
- key.delegatableContractId.realmNum ?? 0,
35
- key.delegatableContractId.contractNum ?? 0
36
- ).toString()}`;
37
- }
38
- if (Object.keys(key).length === 0) {
39
- return "Empty Key Structure";
40
- }
41
- return "Unknown or Unset Key Type";
42
- }
43
- function extractTransactionBody(transaction) {
44
- try {
45
- const bytes = transaction.toBytes ? transaction.toBytes() : void 0;
46
- if (!bytes) {
47
- return null;
1
+ const ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
2
+ const BASE = 58;
3
+ function base58Encode(bytes) {
4
+ if (bytes.length === 0) return "";
5
+ let zeros = 0;
6
+ while (zeros < bytes.length && bytes[zeros] === 0) zeros++;
7
+ if (zeros === bytes.length) return "1".repeat(zeros);
8
+ const digits = [0];
9
+ for (let i = zeros; i < bytes.length; i++) {
10
+ let carry = bytes[i];
11
+ for (let j = 0; j < digits.length; j++) {
12
+ const val = (digits[j] << 8) + carry;
13
+ digits[j] = val % BASE;
14
+ carry = val / BASE | 0;
48
15
  }
49
- const decoded = proto.TransactionList.decode(bytes);
50
- if (!decoded.transactionList || decoded.transactionList.length === 0) {
51
- return null;
16
+ while (carry > 0) {
17
+ digits.push(carry % BASE);
18
+ carry = carry / BASE | 0;
52
19
  }
53
- const tx = decoded.transactionList[0];
54
- if (tx.bodyBytes && tx.bodyBytes.length > 0) {
55
- return proto.TransactionBody.decode(tx.bodyBytes);
20
+ }
21
+ let result = "";
22
+ for (let i = 0; i < zeros; i++) result += "1";
23
+ for (let i = digits.length - 1; i >= 0; i--) result += ALPHABET[digits[i]];
24
+ return result;
25
+ }
26
+ function base58Decode(text) {
27
+ if (text.length === 0) return new Uint8Array(0);
28
+ let zeros = 0;
29
+ while (zeros < text.length && text[zeros] === "1") zeros++;
30
+ const b256 = [];
31
+ for (let i = zeros; i < text.length; i++) {
32
+ const ch = text[i];
33
+ const val = ALPHABET.indexOf(ch);
34
+ if (val === -1) throw new Error("Invalid Base58 character");
35
+ let carry = val;
36
+ for (let j = 0; j < b256.length; j++) {
37
+ const x = b256[j] * BASE + carry;
38
+ b256[j] = x & 255;
39
+ carry = x >> 8;
56
40
  }
57
- if (tx.signedTransactionBytes && tx.signedTransactionBytes.length > 0) {
58
- const signedTx = proto.SignedTransaction.decode(
59
- tx.signedTransactionBytes
60
- );
61
- if (signedTx.bodyBytes) {
62
- return proto.TransactionBody.decode(signedTx.bodyBytes);
63
- }
41
+ while (carry > 0) {
42
+ b256.push(carry & 255);
43
+ carry >>= 8;
64
44
  }
65
- return null;
66
- } catch (error) {
67
- return null;
68
45
  }
46
+ for (let i = 0; i < zeros; i++) b256.push(0);
47
+ b256.reverse();
48
+ return Uint8Array.from(b256);
69
49
  }
70
- function hasTransactionType(transaction, transactionField) {
71
- const txBody = extractTransactionBody(transaction);
72
- return !!(txBody && txBody[transactionField]);
50
+ function multibaseB58btcDecode(zText) {
51
+ if (!zText.startsWith("z")) throw new Error("Invalid multibase base58btc");
52
+ return base58Decode(zText.slice(1));
73
53
  }
74
54
  export {
75
- extractTransactionBody,
76
- hasTransactionType,
77
- parseKey
55
+ base58Decode,
56
+ base58Encode,
57
+ multibaseB58btcDecode
78
58
  };
79
59
  //# sourceMappingURL=standards-sdk.es148.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es148.js","sources":["../../src/utils/parsers/parser-utils.ts"],"sourcesContent":["import { proto } from '@hashgraph/proto';\nimport { ContractId, Transaction } from '@hashgraph/sdk';\nimport { Buffer } from 'buffer';\n\nexport function parseKey(\n key: proto.IKey | null | undefined,\n): string | undefined {\n if (!key) {\n return undefined;\n }\n\n if (key.contractID) {\n return `ContractID: ${new ContractId(\n key.contractID.shardNum ?? 0,\n key.contractID.realmNum ?? 0,\n key.contractID.contractNum ?? 0,\n ).toString()}`;\n }\n if (key.ed25519) {\n return `ED25519: ${Buffer.from(key.ed25519).toString('hex')}`;\n }\n if (key.ECDSASecp256k1) {\n return `ECDSA_secp256k1: ${Buffer.from(key.ECDSASecp256k1).toString(\n 'hex',\n )}`;\n }\n if (key?.keyList?.keys?.length > 0) {\n const keys = key.keyList.keys.map(k => parseKey(k)).filter(Boolean);\n return `KeyList (${keys.length} keys): [${keys.join(', ')}]`;\n }\n if (key?.thresholdKey?.keys?.keys?.length > 0) {\n const keys = key.thresholdKey.keys.keys\n .map(k => parseKey(k))\n .filter(Boolean);\n return `ThresholdKey (${key.thresholdKey.threshold} of ${\n keys.length\n }): [${keys.join(', ')}]`;\n }\n if (key.delegatableContractId) {\n return `DelegatableContractID: ${new ContractId(\n key.delegatableContractId.shardNum ?? 0,\n key.delegatableContractId.realmNum ?? 0,\n key.delegatableContractId.contractNum ?? 0,\n ).toString()}`;\n }\n if (Object.keys(key).length === 0) {\n return 'Empty Key Structure';\n }\n\n return 'Unknown or Unset Key Type';\n}\n\n/**\n * Extract TransactionBody from Transaction object using protobuf parsing\n * This replaces fragile constructor name checking with reliable protobuf data\n */\nexport function extractTransactionBody(\n transaction: Transaction,\n): proto.ITransactionBody | null {\n try {\n const bytes = transaction.toBytes ? transaction.toBytes() : undefined;\n if (!bytes) {\n return null;\n }\n\n const decoded = proto.TransactionList.decode(bytes);\n if (!decoded.transactionList || decoded.transactionList.length === 0) {\n return null;\n }\n\n const tx = decoded.transactionList[0];\n\n if (tx.bodyBytes && tx.bodyBytes.length > 0) {\n return proto.TransactionBody.decode(tx.bodyBytes);\n }\n\n if (tx.signedTransactionBytes && tx.signedTransactionBytes.length > 0) {\n const signedTx = proto.SignedTransaction.decode(\n tx.signedTransactionBytes,\n );\n if (signedTx.bodyBytes) {\n return proto.TransactionBody.decode(signedTx.bodyBytes);\n }\n }\n\n return null;\n } catch (error) {\n return null;\n }\n}\n\n/**\n * Check if transaction has specific transaction type using protobuf data\n * This replaces constructor name checking with reliable protobuf field detection\n */\nexport function hasTransactionType(\n transaction: Transaction,\n transactionField: keyof proto.ITransactionBody,\n): boolean {\n const txBody = extractTransactionBody(transaction);\n return !!(txBody && txBody[transactionField]);\n}\n"],"names":[],"mappings":";;;AAIO,SAAS,SACd,KACoB;AACpB,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AAEA,MAAI,IAAI,YAAY;AAClB,WAAO,eAAe,IAAI;AAAA,MACxB,IAAI,WAAW,YAAY;AAAA,MAC3B,IAAI,WAAW,YAAY;AAAA,MAC3B,IAAI,WAAW,eAAe;AAAA,IAAA,EAC9B,UAAU;AAAA,EACd;AACA,MAAI,IAAI,SAAS;AACf,WAAO,YAAY,OAAO,KAAK,IAAI,OAAO,EAAE,SAAS,KAAK,CAAC;AAAA,EAC7D;AACA,MAAI,IAAI,gBAAgB;AACtB,WAAO,oBAAoB,OAAO,KAAK,IAAI,cAAc,EAAE;AAAA,MACzD;AAAA,IAAA,CACD;AAAA,EACH;AACA,MAAI,KAAK,SAAS,MAAM,SAAS,GAAG;AAClC,UAAM,OAAO,IAAI,QAAQ,KAAK,IAAI,CAAA,MAAK,SAAS,CAAC,CAAC,EAAE,OAAO,OAAO;AAClE,WAAO,YAAY,KAAK,MAAM,YAAY,KAAK,KAAK,IAAI,CAAC;AAAA,EAC3D;AACA,MAAI,KAAK,cAAc,MAAM,MAAM,SAAS,GAAG;AAC7C,UAAM,OAAO,IAAI,aAAa,KAAK,KAChC,IAAI,CAAA,MAAK,SAAS,CAAC,CAAC,EACpB,OAAO,OAAO;AACjB,WAAO,iBAAiB,IAAI,aAAa,SAAS,OAChD,KAAK,MACP,OAAO,KAAK,KAAK,IAAI,CAAC;AAAA,EACxB;AACA,MAAI,IAAI,uBAAuB;AAC7B,WAAO,0BAA0B,IAAI;AAAA,MACnC,IAAI,sBAAsB,YAAY;AAAA,MACtC,IAAI,sBAAsB,YAAY;AAAA,MACtC,IAAI,sBAAsB,eAAe;AAAA,IAAA,EACzC,UAAU;AAAA,EACd;AACA,MAAI,OAAO,KAAK,GAAG,EAAE,WAAW,GAAG;AACjC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAMO,SAAS,uBACd,aAC+B;AAC/B,MAAI;AACF,UAAM,QAAQ,YAAY,UAAU,YAAY,YAAY;AAC5D,QAAI,CAAC,OAAO;AACV,aAAO;AAAA,IACT;AAEA,UAAM,UAAU,MAAM,gBAAgB,OAAO,KAAK;AAClD,QAAI,CAAC,QAAQ,mBAAmB,QAAQ,gBAAgB,WAAW,GAAG;AACpE,aAAO;AAAA,IACT;AAEA,UAAM,KAAK,QAAQ,gBAAgB,CAAC;AAEpC,QAAI,GAAG,aAAa,GAAG,UAAU,SAAS,GAAG;AAC3C,aAAO,MAAM,gBAAgB,OAAO,GAAG,SAAS;AAAA,IAClD;AAEA,QAAI,GAAG,0BAA0B,GAAG,uBAAuB,SAAS,GAAG;AACrE,YAAM,WAAW,MAAM,kBAAkB;AAAA,QACvC,GAAG;AAAA,MAAA;AAEL,UAAI,SAAS,WAAW;AACtB,eAAO,MAAM,gBAAgB,OAAO,SAAS,SAAS;AAAA,MACxD;AAAA,IACF;AAEA,WAAO;AAAA,EACT,SAAS,OAAO;AACd,WAAO;AAAA,EACT;AACF;AAMO,SAAS,mBACd,aACA,kBACS;AACT,QAAM,SAAS,uBAAuB,WAAW;AACjD,SAAO,CAAC,EAAE,UAAU,OAAO,gBAAgB;AAC7C;"}
1
+ {"version":3,"file":"standards-sdk.es148.js","sources":["../../src/hcs-14/base58.ts"],"sourcesContent":["/**\n * Minimal Base58 encoder/decoder (Bitcoin alphabet) with no external dependencies.\n */\n\nconst ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';\nconst BASE = 58;\n\nfunction countLeadingZeros(bytes: Uint8Array): number {\n let zeros = 0;\n for (let i = 0; i < bytes.length && bytes[i] === 0; i++) {\n zeros++;\n }\n return zeros;\n}\n\nexport function base58Encode(bytes: Uint8Array): string {\n if (bytes.length === 0) return '';\n\n let zeros = 0;\n while (zeros < bytes.length && bytes[zeros] === 0) zeros++;\n\n if (zeros === bytes.length) return '1'.repeat(zeros);\n\n const digits: number[] = [0];\n for (let i = zeros; i < bytes.length; i++) {\n let carry = bytes[i];\n for (let j = 0; j < digits.length; j++) {\n const val = (digits[j] << 8) + carry;\n digits[j] = val % BASE;\n carry = (val / BASE) | 0;\n }\n while (carry > 0) {\n digits.push(carry % BASE);\n carry = (carry / BASE) | 0;\n }\n }\n\n let result = '';\n for (let i = 0; i < zeros; i++) result += '1';\n for (let i = digits.length - 1; i >= 0; i--) result += ALPHABET[digits[i]];\n return result;\n}\n\nexport function base58Decode(text: string): Uint8Array {\n if (text.length === 0) return new Uint8Array(0);\n\n let zeros = 0;\n while (zeros < text.length && text[zeros] === '1') zeros++;\n\n const b256: number[] = [];\n for (let i = zeros; i < text.length; i++) {\n const ch = text[i];\n const val = ALPHABET.indexOf(ch);\n if (val === -1) throw new Error('Invalid Base58 character');\n\n let carry = val;\n for (let j = 0; j < b256.length; j++) {\n const x = b256[j] * BASE + carry;\n b256[j] = x & 0xff;\n carry = x >> 8;\n }\n while (carry > 0) {\n b256.push(carry & 0xff);\n carry >>= 8;\n }\n }\n\n for (let i = 0; i < zeros; i++) b256.push(0);\n b256.reverse();\n return Uint8Array.from(b256);\n}\n\nexport function multibaseB58btcDecode(zText: string): Uint8Array {\n if (!zText.startsWith('z')) throw new Error('Invalid multibase base58btc');\n return base58Decode(zText.slice(1));\n}\n"],"names":[],"mappings":"AAIA,MAAM,WAAW;AACjB,MAAM,OAAO;AAUN,SAAS,aAAa,OAA2B;AACtD,MAAI,MAAM,WAAW,EAAG,QAAO;AAE/B,MAAI,QAAQ;AACZ,SAAO,QAAQ,MAAM,UAAU,MAAM,KAAK,MAAM,EAAG;AAEnD,MAAI,UAAU,MAAM,OAAQ,QAAO,IAAI,OAAO,KAAK;AAEnD,QAAM,SAAmB,CAAC,CAAC;AAC3B,WAAS,IAAI,OAAO,IAAI,MAAM,QAAQ,KAAK;AACzC,QAAI,QAAQ,MAAM,CAAC;AACnB,aAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,YAAM,OAAO,OAAO,CAAC,KAAK,KAAK;AAC/B,aAAO,CAAC,IAAI,MAAM;AAClB,cAAS,MAAM,OAAQ;AAAA,IACzB;AACA,WAAO,QAAQ,GAAG;AAChB,aAAO,KAAK,QAAQ,IAAI;AACxB,cAAS,QAAQ,OAAQ;AAAA,IAC3B;AAAA,EACF;AAEA,MAAI,SAAS;AACb,WAAS,IAAI,GAAG,IAAI,OAAO,IAAK,WAAU;AAC1C,WAAS,IAAI,OAAO,SAAS,GAAG,KAAK,GAAG,IAAK,WAAU,SAAS,OAAO,CAAC,CAAC;AACzE,SAAO;AACT;AAEO,SAAS,aAAa,MAA0B;AACrD,MAAI,KAAK,WAAW,EAAG,QAAO,IAAI,WAAW,CAAC;AAE9C,MAAI,QAAQ;AACZ,SAAO,QAAQ,KAAK,UAAU,KAAK,KAAK,MAAM,IAAK;AAEnD,QAAM,OAAiB,CAAA;AACvB,WAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,KAAK;AACxC,UAAM,KAAK,KAAK,CAAC;AACjB,UAAM,MAAM,SAAS,QAAQ,EAAE;AAC/B,QAAI,QAAQ,GAAI,OAAM,IAAI,MAAM,0BAA0B;AAE1D,QAAI,QAAQ;AACZ,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,YAAM,IAAI,KAAK,CAAC,IAAI,OAAO;AAC3B,WAAK,CAAC,IAAI,IAAI;AACd,cAAQ,KAAK;AAAA,IACf;AACA,WAAO,QAAQ,GAAG;AAChB,WAAK,KAAK,QAAQ,GAAI;AACtB,gBAAU;AAAA,IACZ;AAAA,EACF;AAEA,WAAS,IAAI,GAAG,IAAI,OAAO,IAAK,MAAK,KAAK,CAAC;AAC3C,OAAK,QAAA;AACL,SAAO,WAAW,KAAK,IAAI;AAC7B;AAEO,SAAS,sBAAsB,OAA2B;AAC/D,MAAI,CAAC,MAAM,WAAW,GAAG,EAAG,OAAM,IAAI,MAAM,6BAA6B;AACzE,SAAO,aAAa,MAAM,MAAM,CAAC,CAAC;AACpC;"}
@@ -8,7 +8,7 @@ import "node:buffer";
8
8
  import "node:crypto";
9
9
  import "@noble/curves/secp256k1.js";
10
10
  import "./standards-sdk.es130.js";
11
- import "./standards-sdk.es139.js";
11
+ import "./standards-sdk.es137.js";
12
12
  import "zod";
13
13
  import { buildHcs10SubmitConnectionRequestTx, buildHcs10OutboundConnectionRequestRecordTx, buildHcs10OutboundConnectionCreatedRecordTx } from "./standards-sdk.es23.js";
14
14
  import { HRLResolver } from "./standards-sdk.es110.js";
@@ -1,7 +1,7 @@
1
1
  import "./standards-sdk.es2.js";
2
2
  import { Client, PrivateKey, AccountCreateTransaction, Hbar, CustomFixedFee, AccountId, TokenId, KeyList, TopicMessageSubmitTransaction, Transaction, ScheduleCreateTransaction, Timestamp } from "@hashgraph/sdk";
3
3
  import { AccountCreationError, TopicCreationError, ConnectionConfirmationError, PayloadSizeError } from "./standards-sdk.es18.js";
4
- import { InscriptionSDK } from "./standards-sdk.es140.js";
4
+ import { InscriptionSDK } from "./standards-sdk.es138.js";
5
5
  import { Logger } from "./standards-sdk.es106.js";
6
6
  import { accountIdsToExemptKeys } from "./standards-sdk.es108.js";
7
7
  import { ProgressReporter } from "./standards-sdk.es109.js";
@@ -12,14 +12,14 @@ import "node:buffer";
12
12
  import "node:crypto";
13
13
  import "@noble/curves/secp256k1.js";
14
14
  import "./standards-sdk.es130.js";
15
- import "./standards-sdk.es139.js";
15
+ import "./standards-sdk.es137.js";
16
16
  import "zod";
17
17
  import "buffer";
18
18
  import "ethers";
19
19
  import "./standards-sdk.es123.js";
20
20
  import { detectKeyTypeFromString } from "./standards-sdk.es114.js";
21
21
  import { getTopicId } from "./standards-sdk.es115.js";
22
- import { createNodeOperatorContext, NodeOperatorResolver } from "./standards-sdk.es137.js";
22
+ import { createNodeOperatorContext, NodeOperatorResolver } from "./standards-sdk.es139.js";
23
23
  import { HCS10BaseClient, Hcs10MemoType } from "./standards-sdk.es17.js";
24
24
  import * as mime from "mime-types";
25
25
  import { AgentBuilder } from "./standards-sdk.es24.js";
@@ -27,7 +27,7 @@ import { InboundTopicType } from "./standards-sdk.es29.js";
27
27
  import { HCS11Client } from "./standards-sdk.es28.js";
28
28
  import { inscribe } from "./standards-sdk.es125.js";
29
29
  import { addSeconds } from "date-fns";
30
- import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es138.js";
30
+ import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es140.js";
31
31
  import { buildHcs10CreateInboundTopicTx, buildHcs10CreateConnectionTopicTx, buildHcs10ConfirmConnectionTx, buildHcs10SendMessageTx, buildHcs10RegistryRegisterTx, buildHcs10CreateOutboundTopicTx, buildHcs10CreateRegistryTopicTx } from "./standards-sdk.es23.js";
32
32
  class HCS10Client extends HCS10BaseClient {
33
33
  constructor(config) {
@@ -8,14 +8,14 @@ import "node:buffer";
8
8
  import "node:crypto";
9
9
  import "@noble/curves/secp256k1.js";
10
10
  import "./standards-sdk.es130.js";
11
- import "./standards-sdk.es139.js";
11
+ import "./standards-sdk.es137.js";
12
12
  import "zod";
13
13
  import "buffer";
14
14
  import "ethers";
15
15
  import "./standards-sdk.es123.js";
16
16
  import "./standards-sdk.es114.js";
17
17
  import { getTopicId } from "./standards-sdk.es115.js";
18
- import { InscriptionSDK } from "./standards-sdk.es140.js";
18
+ import { InscriptionSDK } from "./standards-sdk.es138.js";
19
19
  import { HCS10BaseClient, Hcs10MemoType } from "./standards-sdk.es17.js";
20
20
  import * as mime from "mime-types";
21
21
  import { AgentBuilder } from "./standards-sdk.es24.js";
@@ -1,4 +1,4 @@
1
- import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es138.js";
1
+ import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es140.js";
2
2
  function memoInbound(ttl, accountId) {
3
3
  return `hcs-10:0:${ttl}:0:${accountId}`;
4
4
  }
@@ -1,6 +1,6 @@
1
1
  import { Client, Status, PrivateKey, AccountUpdateTransaction } from "@hashgraph/sdk";
2
2
  import { inscribeWithSigner, inscribe } from "./standards-sdk.es125.js";
3
- import "./standards-sdk.es140.js";
3
+ import "./standards-sdk.es138.js";
4
4
  import { Logger } from "./standards-sdk.es106.js";
5
5
  import { HederaMirrorNode } from "./standards-sdk.es127.js";
6
6
  import { ProgressReporter } from "./standards-sdk.es109.js";
@@ -10,7 +10,7 @@ import "node:buffer";
10
10
  import "node:crypto";
11
11
  import "@noble/curves/secp256k1.js";
12
12
  import "./standards-sdk.es130.js";
13
- import "./standards-sdk.es139.js";
13
+ import "./standards-sdk.es137.js";
14
14
  import { z } from "zod";
15
15
  import "@hashgraph/proto";
16
16
  import "buffer";
@@ -20,7 +20,7 @@ import "./standards-sdk.es114.js";
20
20
  import { getTopicId } from "./standards-sdk.es115.js";
21
21
  import * as mime from "mime-types";
22
22
  import { isHederaNetwork, toHederaCaip10 } from "./standards-sdk.es58.js";
23
- import { createNodeOperatorContext } from "./standards-sdk.es137.js";
23
+ import { createNodeOperatorContext } from "./standards-sdk.es139.js";
24
24
  import { AIAgentCapability, AIAgentType, VerificationType, MCPServerCapability, ProfileType, capabilityNameToCapabilityMap } from "./standards-sdk.es29.js";
25
25
  const SocialLinkSchema = z.object({
26
26
  platform: z.string().min(1),
@@ -1,6 +1,6 @@
1
1
  import { RegistryType } from "./standards-sdk.es30.js";
2
2
  import { inscribe, inscribeWithSigner } from "./standards-sdk.es125.js";
3
- import "./standards-sdk.es140.js";
3
+ import "./standards-sdk.es138.js";
4
4
  class BaseRegistry {
5
5
  constructor(networkType, logger, registryType, topicId, client) {
6
6
  this.entries = /* @__PURE__ */ new Map();
@@ -1,7 +1,7 @@
1
1
  import { RegistryType } from "./standards-sdk.es30.js";
2
2
  import { BaseRegistry } from "./standards-sdk.es31.js";
3
3
  import { retrieveInscription } from "./standards-sdk.es125.js";
4
- import "./standards-sdk.es140.js";
4
+ import "./standards-sdk.es138.js";
5
5
  import { getCryptoAdapter } from "./standards-sdk.es120.js";
6
6
  import { isSSREnvironment } from "./standards-sdk.es118.js";
7
7
  import { validateActionRegistration } from "./standards-sdk.es43.js";
@@ -5,9 +5,9 @@ import "node:buffer";
5
5
  import "node:crypto";
6
6
  import "@noble/curves/secp256k1.js";
7
7
  import "./standards-sdk.es130.js";
8
- import "./standards-sdk.es139.js";
8
+ import "./standards-sdk.es137.js";
9
9
  import "zod";
10
- import "./standards-sdk.es140.js";
10
+ import "./standards-sdk.es138.js";
11
11
  import "@hashgraph/proto";
12
12
  import "buffer";
13
13
  import "@hashgraph/sdk";
@@ -1,15 +1,15 @@
1
1
  import { Client } from "@hashgraph/sdk";
2
2
  import { HCS12BaseClient } from "./standards-sdk.es36.js";
3
- import { createNodeOperatorContext } from "./standards-sdk.es137.js";
3
+ import { createNodeOperatorContext } from "./standards-sdk.es139.js";
4
4
  import { RegistryType } from "./standards-sdk.es30.js";
5
5
  import { inscribe } from "./standards-sdk.es125.js";
6
- import { InscriptionSDK } from "./standards-sdk.es140.js";
6
+ import { InscriptionSDK } from "./standards-sdk.es138.js";
7
7
  import { ActionRegistry } from "./standards-sdk.es32.js";
8
8
  import { BlockLoader } from "./standards-sdk.es33.js";
9
9
  import { AssemblyRegistry } from "./standards-sdk.es34.js";
10
10
  import { HashLinksRegistry } from "./standards-sdk.es35.js";
11
11
  import * as mime from "mime-types";
12
- import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es138.js";
12
+ import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es140.js";
13
13
  class HCS12Client extends HCS12BaseClient {
14
14
  constructor(config) {
15
15
  super(config);
@@ -2,7 +2,7 @@ import { TopicCreateTransaction, TransactionId, AccountId, PublicKey, KeyList, T
2
2
  import { HCS12BaseClient } from "./standards-sdk.es36.js";
3
3
  import { RegistryType } from "./standards-sdk.es30.js";
4
4
  import { inscribeWithSigner } from "./standards-sdk.es125.js";
5
- import { InscriptionSDK } from "./standards-sdk.es140.js";
5
+ import { InscriptionSDK } from "./standards-sdk.es138.js";
6
6
  import { ActionRegistry } from "./standards-sdk.es32.js";
7
7
  import { BlockLoader } from "./standards-sdk.es33.js";
8
8
  import { AssemblyRegistry } from "./standards-sdk.es34.js";
@@ -2,7 +2,7 @@ import { HCS6BaseClient } from "./standards-sdk.es7.js";
2
2
  import { buildHcs6Hrl } from "./standards-sdk.es4.js";
3
3
  import { AccountId, Client, TopicMessageSubmitTransaction, TopicId, PrivateKey, PublicKey, TokenMintTransaction, TokenId } from "@hashgraph/sdk";
4
4
  import { buildHcs6CreateRegistryTx } from "./standards-sdk.es8.js";
5
- import { createNodeOperatorContext, NodeOperatorResolver } from "./standards-sdk.es137.js";
5
+ import { createNodeOperatorContext, NodeOperatorResolver } from "./standards-sdk.es139.js";
6
6
  import { inscribe } from "./standards-sdk.es125.js";
7
7
  class HCS6Client extends HCS6BaseClient {
8
8
  constructor(config) {
@@ -1,4 +1,4 @@
1
- import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es138.js";
1
+ import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es140.js";
2
2
  function memoForHcs12(registry, ttl) {
3
3
  const typeMap = {
4
4
  action: 0,
@@ -1,5 +1,5 @@
1
1
  import { getCryptoAdapter } from "./standards-sdk.es120.js";
2
- import { base58Encode } from "./standards-sdk.es142.js";
2
+ import { base58Encode } from "./standards-sdk.es148.js";
3
3
  import { canonicalizeAgentData } from "./standards-sdk.es56.js";
4
4
  function encodeMultibaseB58btc(input) {
5
5
  const bytes = Buffer.from(input, "utf8");
@@ -1,6 +1,6 @@
1
1
  import { HieroDidResolver } from "./standards-sdk.es60.js";
2
2
  import { parseHcs14Did } from "./standards-sdk.es57.js";
3
- import { multibaseB58btcDecode } from "./standards-sdk.es142.js";
3
+ import { multibaseB58btcDecode } from "./standards-sdk.es148.js";
4
4
  class ResolverRegistry {
5
5
  constructor() {
6
6
  this.resolvers = [];
@@ -15,14 +15,14 @@ import "node:buffer";
15
15
  import "node:crypto";
16
16
  import "@noble/curves/secp256k1.js";
17
17
  import "./standards-sdk.es130.js";
18
- import "./standards-sdk.es139.js";
18
+ import "./standards-sdk.es137.js";
19
19
  import "zod";
20
20
  import "@hashgraph/proto";
21
21
  import "buffer";
22
22
  import "ethers";
23
23
  import "./standards-sdk.es123.js";
24
24
  import "./standards-sdk.es114.js";
25
- import { createNodeOperatorContext } from "./standards-sdk.es137.js";
25
+ import { createNodeOperatorContext } from "./standards-sdk.es139.js";
26
26
  import { HCS10Client } from "./standards-sdk.es19.js";
27
27
  class HCS14Client {
28
28
  constructor(options) {
@@ -3,7 +3,7 @@ import { buildHcs1Hrl } from "./standards-sdk.es64.js";
3
3
  import { AccountId } from "@hashgraph/sdk";
4
4
  import { inscribe } from "./standards-sdk.es125.js";
5
5
  import { buildHcs5MintTx } from "./standards-sdk.es67.js";
6
- import { createNodeOperatorContext, NodeOperatorResolver } from "./standards-sdk.es137.js";
6
+ import { createNodeOperatorContext, NodeOperatorResolver } from "./standards-sdk.es139.js";
7
7
  class HCS5Client extends HCS5BaseClient {
8
8
  constructor(config) {
9
9
  super(config);
@@ -1,8 +1,8 @@
1
1
  import { AccountId, Client, PublicKey } from "@hashgraph/sdk";
2
2
  import { HCS2BaseClient } from "./standards-sdk.es71.js";
3
3
  import { HCS2Operation, HCS2RegistryType } from "./standards-sdk.es68.js";
4
- import { createNodeOperatorContext } from "./standards-sdk.es137.js";
5
- import { buildMessageTx } from "./standards-sdk.es138.js";
4
+ import { createNodeOperatorContext } from "./standards-sdk.es139.js";
5
+ import { buildMessageTx } from "./standards-sdk.es140.js";
6
6
  import { buildHcs2CreateRegistryTx } from "./standards-sdk.es72.js";
7
7
  const _HCS2Client = class _HCS2Client extends HCS2BaseClient {
8
8
  /**
@@ -3,7 +3,7 @@ import { HCS2BaseClient } from "./standards-sdk.es71.js";
3
3
  import { HCS2RegistryType, HCS2Operation } from "./standards-sdk.es68.js";
4
4
  import { isBrowser } from "./standards-sdk.es119.js";
5
5
  import { KeyTypeDetector } from "./standards-sdk.es114.js";
6
- import { buildMessageTx } from "./standards-sdk.es138.js";
6
+ import { buildMessageTx } from "./standards-sdk.es140.js";
7
7
  class BrowserHCS2Client extends HCS2BaseClient {
8
8
  /**
9
9
  * Create a new browser HCS-2 client
@@ -1,4 +1,4 @@
1
- import { buildTopicCreateTx, buildMessageTx, encodeHcs2RegistryMemo } from "./standards-sdk.es138.js";
1
+ import { buildTopicCreateTx, buildMessageTx, encodeHcs2RegistryMemo } from "./standards-sdk.es140.js";
2
2
  import { HCS2Operation } from "./standards-sdk.es68.js";
3
3
  function buildHcs2CreateRegistryTx(params) {
4
4
  const memo = params.memoOverride ?? encodeHcs2RegistryMemo(params.registryType, params.ttl);
@@ -2,7 +2,7 @@ import { AccountId, Client, Status, TopicCreateTransaction } from "@hashgraph/sd
2
2
  import { HCS20BaseClient } from "./standards-sdk.es75.js";
3
3
  import { PointsDeploymentError, PointsValidationError, PointsTransferError, PointsBurnError } from "./standards-sdk.es74.js";
4
4
  import { sleep } from "./standards-sdk.es116.js";
5
- import { createNodeOperatorContext } from "./standards-sdk.es137.js";
5
+ import { createNodeOperatorContext } from "./standards-sdk.es139.js";
6
6
  import { HCS2Client } from "./standards-sdk.es69.js";
7
7
  import { buildHcs20DeployTx, buildHcs20MintTx, buildHcs20TransferTx, buildHcs20BurnTx, buildHcs20RegisterTx } from "./standards-sdk.es79.js";
8
8
  class HCS20Client extends HCS20BaseClient {
@@ -5,7 +5,7 @@ import "node:buffer";
5
5
  import "node:crypto";
6
6
  import "@noble/curves/secp256k1.js";
7
7
  import "./standards-sdk.es130.js";
8
- import "./standards-sdk.es139.js";
8
+ import "./standards-sdk.es137.js";
9
9
  import "zod";
10
10
  import { HCS20_CONSTANTS, HCS20MessageSchema } from "./standards-sdk.es73.js";
11
11
  class HCS20PointsIndexer {
@@ -1,4 +1,4 @@
1
- import { buildMessageTx } from "./standards-sdk.es138.js";
1
+ import { buildMessageTx } from "./standards-sdk.es140.js";
2
2
  function buildHcs20SubmitMessageTx(params) {
3
3
  const msg = typeof params.payload === "string" ? params.payload : JSON.stringify(params.payload);
4
4
  return buildMessageTx({
@@ -1,4 +1,4 @@
1
- import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es138.js";
1
+ import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es140.js";
2
2
  import { HCS6Operation } from "./standards-sdk.es4.js";
3
3
  function encodeHcs6NonIndexedMemo(ttl) {
4
4
  return `hcs-6:1:${ttl}`;
@@ -2,9 +2,9 @@ import { z } from "zod";
2
2
  const HCS21_PROTOCOL = "hcs-21";
3
3
  const HCS21_MAX_MESSAGE_BYTES = 1024;
4
4
  const HCS21_SAFE_MESSAGE_BYTES = 1e3;
5
- const HCS21ManifestPointerPattern = /^(?:hcs:\/\/1\/0\.0\.\d+(?:\/\d+)?|ipfs:\/\/[a-zA-Z0-9]+|ar:\/\/[a-zA-Z0-9]+|oci:\/\/.+|https?:\/\/.+)$/;
5
+ const HCS21ManifestPointerPattern = /^(?:hcs:\/\/1\/0\.0\.\d+|ipfs:\/\/\S+|ar:\/\/\S+|oci:\/\/\S+|https?:\/\/\S+)$/;
6
6
  const HCS21TopicIdPattern = /^0\.0\.\d+$/;
7
- const HCS21MetadataPointerPattern = /^(?:0\.0\.\d+|hcs:\/\/1\/0\.0\.\d+(?:\/\d+)?|ipfs:\/\/[a-zA-Z0-9]+|ar:\/\/[a-zA-Z0-9]+|oci:\/\/.+|https?:\/\/.+)$/;
7
+ const HCS21MetadataPointerPattern = /^(?:0\.0\.\d+|hcs:\/\/1\/0\.0\.\d+(?:\/\d+)?|ipfs:\/\/\S+|ar:\/\/\S+|oci:\/\/\S+|https?:\/\/\S+)$/;
8
8
  var HCS21TopicType = /* @__PURE__ */ ((HCS21TopicType2) => {
9
9
  HCS21TopicType2[HCS21TopicType2["ADAPTER_REGISTRY"] = 0] = "ADAPTER_REGISTRY";
10
10
  HCS21TopicType2[HCS21TopicType2["REGISTRY_OF_REGISTRIES"] = 1] = "REGISTRY_OF_REGISTRIES";
@@ -32,7 +32,7 @@ const adapterDeclarationSchema = z.object({
32
32
  package: adapterPackageSchema,
33
33
  manifest: z.string().regex(
34
34
  HCS21ManifestPointerPattern,
35
- "manifest must be a resolvable URI (hcs://1/<topicId>[/sequence], ipfs://, ar://, oci://, https://)"
35
+ "manifest must be an immutable pointer (hcs://1/<topicId>, ipfs://cid/path, ar://txid, oci://repo@digest, https://...#sha384-..)"
36
36
  ),
37
37
  manifest_sequence: z.number().int().positive().optional(),
38
38
  config: adapterConfigContextSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es80.js","sources":["../../src/hcs-21/types.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport const HCS21_PROTOCOL = 'hcs-21';\nexport const HCS21_MAX_MESSAGE_BYTES = 1024;\nexport const HCS21_SAFE_MESSAGE_BYTES = 1000;\nexport const HCS21ManifestPointerPattern =\n /^(?:hcs:\\/\\/1\\/0\\.0\\.\\d+(?:\\/\\d+)?|ipfs:\\/\\/[a-zA-Z0-9]+|ar:\\/\\/[a-zA-Z0-9]+|oci:\\/\\/.+|https?:\\/\\/.+)$/;\nexport const HCS21TopicIdPattern = /^0\\.0\\.\\d+$/;\nexport const HCS21MetadataPointerPattern =\n /^(?:0\\.0\\.\\d+|hcs:\\/\\/1\\/0\\.0\\.\\d+(?:\\/\\d+)?|ipfs:\\/\\/[a-zA-Z0-9]+|ar:\\/\\/[a-zA-Z0-9]+|oci:\\/\\/.+|https?:\\/\\/.+)$/;\n\nexport type HCS21Operation = 'register' | 'update' | 'delete';\n\nexport interface AdapterPackage {\n registry: string;\n name: string;\n version: string;\n integrity: string;\n}\n\nexport interface AdapterConfigContext {\n type: string;\n account?: string;\n threshold?: string;\n ctopic?: string;\n ttopic?: string;\n stopic?: string;\n [key: string]: unknown;\n}\n\nexport interface AdapterDeclaration {\n p: typeof HCS21_PROTOCOL;\n op: HCS21Operation;\n adapter_id: string;\n entity: string;\n package: AdapterPackage;\n manifest: string;\n manifest_sequence?: number;\n config: AdapterConfigContext;\n state_model?: string;\n signature?: string;\n}\n\nexport interface AdapterDeclarationEnvelope {\n declaration: AdapterDeclaration;\n consensusTimestamp?: string;\n sequenceNumber: number;\n payer?: string;\n}\n\nexport enum HCS21TopicType {\n ADAPTER_REGISTRY = 0,\n REGISTRY_OF_REGISTRIES = 1,\n}\n\nexport interface ManifestPointer {\n pointer: string;\n topicId: string;\n sequenceNumber: number;\n manifestSequence?: number;\n jobId?: string;\n transactionId?: string;\n}\n\nexport const adapterPackageSchema = z.object({\n registry: z.string().min(1),\n name: z.string().min(1),\n version: z.string().min(1),\n integrity: z.string().min(1),\n});\n\nexport const adapterConfigContextSchema = z\n .object({\n type: z.string().min(1),\n account: z.string().min(1).optional(),\n threshold: z.string().min(1).optional(),\n ctopic: z.string().min(1).optional(),\n ttopic: z.string().min(1).optional(),\n stopic: z.string().min(1).optional(),\n })\n .catchall(z.unknown());\n\nexport const adapterDeclarationSchema = z.object({\n p: z.literal(HCS21_PROTOCOL),\n op: z.enum(['register', 'update', 'delete']),\n adapter_id: z.string().min(1),\n entity: z.string().min(1),\n package: adapterPackageSchema,\n manifest: z\n .string()\n .regex(\n HCS21ManifestPointerPattern,\n 'manifest must be a resolvable URI (hcs://1/<topicId>[/sequence], ipfs://, ar://, oci://, https://)',\n ),\n manifest_sequence: z.number().int().positive().optional(),\n config: adapterConfigContextSchema,\n state_model: z.string().min(1).optional(),\n signature: z.string().min(1).optional(),\n});\n\nexport const adapterManifestSchema = z.object({\n meta: z.object({\n spec_version: z.string().min(1),\n adapter_version: z.string().min(1),\n minimum_flora_version: z.string().min(1).optional(),\n generated: z.string().min(1),\n }),\n adapter: z.object({\n name: z.string().min(1),\n id: z.string().min(1),\n maintainers: z\n .array(\n z.object({\n name: z.string().min(1),\n contact: z.string().min(1),\n }),\n )\n .min(1),\n license: z.string().min(1),\n }),\n package: z.object({\n registry: z.string().min(1),\n dist_tag: z.string().min(1).optional(),\n artifacts: z\n .array(\n z.object({\n url: z.string().min(1),\n digest: z.string().min(1),\n signature: z.string().min(1).optional(),\n }),\n )\n .min(1),\n }),\n runtime: z.object({\n platforms: z.array(z.string().min(1)).min(1),\n primary: z.string().min(1),\n entry: z.string().min(1),\n dependencies: z.array(z.string().min(1)).optional(),\n env: z.array(z.string().min(1)).optional(),\n }),\n capabilities: z.object({\n discovery: z.boolean(),\n communication: z.boolean(),\n protocols: z.array(z.string().min(1)),\n discovery_tags: z.array(z.string().min(1)).optional(),\n communication_channels: z.array(z.string().min(1)).optional(),\n extras: z.record(z.string(), z.unknown()).optional(),\n }),\n consensus: z.object({\n state_model: z.string().min(1).optional(),\n profile_uri: z.string().min(1).optional(),\n entity_schema: z.string().min(1).optional(),\n required_fields: z.array(z.string().min(1)),\n hashing: z.literal('sha384'),\n }),\n});\n\nexport const registryMetadataSchema = z.object({\n version: z.string().min(1),\n name: z.string().min(1),\n description: z.string().min(1),\n operator: z.object({\n account: z.string().min(1),\n name: z.string().optional(),\n contact: z.string().optional(),\n }),\n entityTypes: z.array(z.string().min(1)),\n categories: z.array(z.string().min(1)).optional(),\n tags: z.array(z.string().min(1)).optional(),\n links: z.record(z.string().min(1)).optional(),\n});\n\nexport const metadataDocumentSchema = z.union([\n adapterManifestSchema,\n registryMetadataSchema,\n]);\n\nexport type AdapterDeclarationValidation = z.infer<\n typeof adapterDeclarationSchema\n>;\nexport type AdapterManifest = z.infer<typeof adapterManifestSchema>;\nexport type RegistryMetadataRecord = z.infer<typeof registryMetadataSchema>;\nexport type HCS21MetadataDocument = AdapterManifest | RegistryMetadataRecord;\n"],"names":["HCS21TopicType"],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es80.js","sources":["../../src/hcs-21/types.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport const HCS21_PROTOCOL = 'hcs-21';\nexport const HCS21_MAX_MESSAGE_BYTES = 1024;\nexport const HCS21_SAFE_MESSAGE_BYTES = 1000;\nexport const HCS21ManifestPointerPattern =\n /^(?:hcs:\\/\\/1\\/0\\.0\\.\\d+|ipfs:\\/\\/\\S+|ar:\\/\\/\\S+|oci:\\/\\/\\S+|https?:\\/\\/\\S+)$/;\nexport const HCS21TopicIdPattern = /^0\\.0\\.\\d+$/;\nexport const HCS21MetadataPointerPattern =\n /^(?:0\\.0\\.\\d+|hcs:\\/\\/1\\/0\\.0\\.\\d+(?:\\/\\d+)?|ipfs:\\/\\/\\S+|ar:\\/\\/\\S+|oci:\\/\\/\\S+|https?:\\/\\/\\S+)$/;\n\nexport type HCS21Operation = 'register' | 'update' | 'delete';\n\nexport interface AdapterPackage {\n registry: string;\n name: string;\n version: string;\n integrity: string;\n}\n\nexport interface AdapterConfigContext {\n type: string;\n account?: string;\n threshold?: string;\n ctopic?: string;\n ttopic?: string;\n stopic?: string;\n [key: string]: unknown;\n}\n\nexport interface AdapterDeclaration {\n p: typeof HCS21_PROTOCOL;\n op: HCS21Operation;\n adapter_id: string;\n entity: string;\n package: AdapterPackage;\n manifest: string;\n manifest_sequence?: number;\n config: AdapterConfigContext;\n state_model?: string;\n signature?: string;\n}\n\nexport interface AdapterDeclarationEnvelope {\n declaration: AdapterDeclaration;\n consensusTimestamp?: string;\n sequenceNumber: number;\n payer?: string;\n}\n\nexport enum HCS21TopicType {\n ADAPTER_REGISTRY = 0,\n REGISTRY_OF_REGISTRIES = 1,\n}\n\nexport interface ManifestPointer {\n pointer: string;\n topicId: string;\n sequenceNumber: number;\n manifestSequence?: number;\n jobId?: string;\n transactionId?: string;\n}\n\nexport const adapterPackageSchema = z.object({\n registry: z.string().min(1),\n name: z.string().min(1),\n version: z.string().min(1),\n integrity: z.string().min(1),\n});\n\nexport const adapterConfigContextSchema = z\n .object({\n type: z.string().min(1),\n account: z.string().min(1).optional(),\n threshold: z.string().min(1).optional(),\n ctopic: z.string().min(1).optional(),\n ttopic: z.string().min(1).optional(),\n stopic: z.string().min(1).optional(),\n })\n .catchall(z.unknown());\n\nexport const adapterDeclarationSchema = z.object({\n p: z.literal(HCS21_PROTOCOL),\n op: z.enum(['register', 'update', 'delete']),\n adapter_id: z.string().min(1),\n entity: z.string().min(1),\n package: adapterPackageSchema,\n manifest: z\n .string()\n .regex(\n HCS21ManifestPointerPattern,\n 'manifest must be an immutable pointer (hcs://1/<topicId>, ipfs://cid/path, ar://txid, oci://repo@digest, https://...#sha384-..)',\n ),\n manifest_sequence: z.number().int().positive().optional(),\n config: adapterConfigContextSchema,\n state_model: z.string().min(1).optional(),\n signature: z.string().min(1).optional(),\n});\n\nexport const adapterManifestSchema = z.object({\n meta: z.object({\n spec_version: z.string().min(1),\n adapter_version: z.string().min(1),\n minimum_flora_version: z.string().min(1).optional(),\n generated: z.string().min(1),\n }),\n adapter: z.object({\n name: z.string().min(1),\n id: z.string().min(1),\n maintainers: z\n .array(\n z.object({\n name: z.string().min(1),\n contact: z.string().min(1),\n }),\n )\n .min(1),\n license: z.string().min(1),\n }),\n package: z.object({\n registry: z.string().min(1),\n dist_tag: z.string().min(1).optional(),\n artifacts: z\n .array(\n z.object({\n url: z.string().min(1),\n digest: z.string().min(1),\n signature: z.string().min(1).optional(),\n }),\n )\n .min(1),\n }),\n runtime: z.object({\n platforms: z.array(z.string().min(1)).min(1),\n primary: z.string().min(1),\n entry: z.string().min(1),\n dependencies: z.array(z.string().min(1)).optional(),\n env: z.array(z.string().min(1)).optional(),\n }),\n capabilities: z.object({\n discovery: z.boolean(),\n communication: z.boolean(),\n protocols: z.array(z.string().min(1)),\n discovery_tags: z.array(z.string().min(1)).optional(),\n communication_channels: z.array(z.string().min(1)).optional(),\n extras: z.record(z.string(), z.unknown()).optional(),\n }),\n consensus: z.object({\n state_model: z.string().min(1).optional(),\n profile_uri: z.string().min(1).optional(),\n entity_schema: z.string().min(1).optional(),\n required_fields: z.array(z.string().min(1)),\n hashing: z.literal('sha384'),\n }),\n});\n\nexport const registryMetadataSchema = z.object({\n version: z.string().min(1),\n name: z.string().min(1),\n description: z.string().min(1),\n operator: z.object({\n account: z.string().min(1),\n name: z.string().optional(),\n contact: z.string().optional(),\n }),\n entityTypes: z.array(z.string().min(1)),\n categories: z.array(z.string().min(1)).optional(),\n tags: z.array(z.string().min(1)).optional(),\n links: z.record(z.string().min(1)).optional(),\n});\n\nexport const metadataDocumentSchema = z.union([\n adapterManifestSchema,\n registryMetadataSchema,\n]);\n\nexport type AdapterDeclarationValidation = z.infer<\n typeof adapterDeclarationSchema\n>;\nexport type AdapterManifest = z.infer<typeof adapterManifestSchema>;\nexport type RegistryMetadataRecord = z.infer<typeof registryMetadataSchema>;\nexport type HCS21MetadataDocument = AdapterManifest | RegistryMetadataRecord;\n"],"names":["HCS21TopicType"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es138.js";
1
+ import { buildTopicCreateTx, buildMessageTx } from "./standards-sdk.es140.js";
2
2
  import { HCS21TopicType, HCS21MetadataPointerPattern, HCS21_SAFE_MESSAGE_BYTES, HCS21_MAX_MESSAGE_BYTES } from "./standards-sdk.es80.js";
3
3
  import { HCS21ValidationError } from "./standards-sdk.es81.js";
4
4
  function buildHcs21RegistryMemo(params) {
@@ -1,5 +1,5 @@
1
1
  import { Client, Status } from "@hashgraph/sdk";
2
- import { createNodeOperatorContext } from "./standards-sdk.es137.js";
2
+ import { createNodeOperatorContext } from "./standards-sdk.es139.js";
3
3
  import { Logger } from "./standards-sdk.es106.js";
4
4
  import { HCS21BaseClient } from "./standards-sdk.es83.js";
5
5
  import { metadataDocumentSchema, HCS21ManifestPointerPattern } from "./standards-sdk.es80.js";
@@ -138,6 +138,29 @@ class HCS21Client extends HCS21BaseClient {
138
138
  }
139
139
  return receipt.topicId.toString();
140
140
  }
141
+ async createRegistryDiscoveryTopic(params) {
142
+ await this.operatorCtx.ensureInitialized();
143
+ const tx = buildHcs2CreateRegistryTx({
144
+ registryType: HCS2RegistryType.INDEXED,
145
+ ttl: params.ttl,
146
+ adminKey: params.adminKey,
147
+ submitKey: params.submitKey,
148
+ memoOverride: params.memoOverride,
149
+ operatorPublicKey: this.operatorCtx.operatorKey.publicKey
150
+ });
151
+ if (params.transactionMemo) {
152
+ tx.setTransactionMemo(params.transactionMemo);
153
+ }
154
+ const response = await tx.execute(this.client);
155
+ const receipt = await response.getReceipt(this.client);
156
+ if (receipt.status !== Status.Success || !receipt.topicId) {
157
+ throw new HCS21ValidationError(
158
+ "Failed to create registry-of-registries topic",
159
+ "invalid_payload"
160
+ );
161
+ }
162
+ return receipt.topicId.toString();
163
+ }
141
164
  async publishRegistryVersion(params) {
142
165
  await this.operatorCtx.ensureInitialized();
143
166
  const tx = buildHcs2RegisterTx({
@@ -212,6 +235,38 @@ class HCS21Client extends HCS21BaseClient {
212
235
  op: latest.op
213
236
  };
214
237
  }
238
+ async resolveRegistryOfRegistriesEntry(registryOfRegistriesTopicId) {
239
+ const [latest] = await this.mirrorNode.getTopicMessages(
240
+ registryOfRegistriesTopicId,
241
+ {
242
+ limit: 1,
243
+ order: "desc"
244
+ }
245
+ );
246
+ if (!latest) {
247
+ throw new HCS21ValidationError(
248
+ "Registry-of-registries topic has no messages",
249
+ "invalid_payload"
250
+ );
251
+ }
252
+ const versionTopicId = latest.t_id;
253
+ if (typeof versionTopicId !== "string" || versionTopicId.length === 0) {
254
+ throw new HCS21ValidationError(
255
+ "Registry-of-registries entry is missing the version topic ID (`t_id`)",
256
+ "invalid_payload"
257
+ );
258
+ }
259
+ const rawSequence = typeof latest.sequence_number === "number" ? latest.sequence_number : Number(latest.sequence_number);
260
+ const sequenceNumber = Number.isFinite(rawSequence) ? rawSequence : 0;
261
+ return {
262
+ versionTopicId,
263
+ sequenceNumber,
264
+ metadata: latest.metadata,
265
+ payer: latest.payer,
266
+ memo: latest.m,
267
+ op: latest.op
268
+ };
269
+ }
215
270
  async publishDeclaration(params) {
216
271
  await this.operatorCtx.ensureInitialized();
217
272
  const declaration = this.normalizeDeclarationInput(params.declaration);