@hashgraphonline/standards-sdk 0.1.162 → 0.1.164

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 (239) hide show
  1. package/README.md +59 -0
  2. package/dist/cjs/common/node-operator-resolver.d.ts +1 -1
  3. package/dist/cjs/common/tx/tx-utils.d.ts +1 -1
  4. package/dist/cjs/hcs-10/base-client.d.ts +1 -1
  5. package/dist/cjs/hcs-10/browser.d.ts +1 -1
  6. package/dist/cjs/hcs-10/sdk.d.ts +1 -1
  7. package/dist/cjs/hcs-10/tx.d.ts +1 -1
  8. package/dist/cjs/hcs-10/types.d.ts +1 -1
  9. package/dist/cjs/hcs-11/client.d.ts +51 -51
  10. package/dist/cjs/hcs-11/types.d.ts +1 -1
  11. package/dist/cjs/hcs-12/base-client.d.ts +1 -1
  12. package/dist/cjs/hcs-12/browser.d.ts +1 -1
  13. package/dist/cjs/hcs-12/sdk.d.ts +1 -1
  14. package/dist/cjs/hcs-12/security/signature-verifier.d.ts +1 -1
  15. package/dist/cjs/hcs-12/tx.d.ts +1 -1
  16. package/dist/cjs/hcs-14/issuers/types.d.ts +1 -1
  17. package/dist/cjs/hcs-14/sdk.d.ts +1 -1
  18. package/dist/cjs/hcs-15/browser.d.ts +1 -1
  19. package/dist/cjs/hcs-15/sdk.d.ts +1 -1
  20. package/dist/cjs/hcs-15/tx.d.ts +1 -1
  21. package/dist/cjs/hcs-15/types.d.ts +1 -1
  22. package/dist/cjs/hcs-16/base-client.d.ts +1 -1
  23. package/dist/cjs/hcs-16/browser.d.ts +1 -1
  24. package/dist/cjs/hcs-16/sdk.d.ts +1 -1
  25. package/dist/cjs/hcs-16/tx.d.ts +1 -1
  26. package/dist/cjs/hcs-16/types.d.ts +1 -1
  27. package/dist/cjs/hcs-17/base-client.d.ts +1 -1
  28. package/dist/cjs/hcs-17/browser.d.ts +1 -1
  29. package/dist/cjs/hcs-17/sdk.d.ts +1 -1
  30. package/dist/cjs/hcs-17/tx.d.ts +1 -1
  31. package/dist/cjs/hcs-17/types.d.ts +1 -1
  32. package/dist/cjs/hcs-18/browser.d.ts +1 -1
  33. package/dist/cjs/hcs-18/sdk.d.ts +2 -2
  34. package/dist/cjs/hcs-18/tx.d.ts +1 -1
  35. package/dist/cjs/hcs-18/types.d.ts +1 -1
  36. package/dist/cjs/hcs-2/base-client.d.ts +1 -1
  37. package/dist/cjs/hcs-2/browser.d.ts +1 -1
  38. package/dist/cjs/hcs-2/client.d.ts +8 -2
  39. package/dist/cjs/hcs-2/client.d.ts.map +1 -1
  40. package/dist/cjs/hcs-2/tx.d.ts +1 -1
  41. package/dist/cjs/hcs-2/types.d.ts +3 -1
  42. package/dist/cjs/hcs-2/types.d.ts.map +1 -1
  43. package/dist/cjs/hcs-20/base-client.d.ts +1 -1
  44. package/dist/cjs/hcs-20/tx.d.ts +1 -1
  45. package/dist/cjs/hcs-20/types.d.ts +1 -1
  46. package/dist/cjs/hcs-21/sdk.d.ts +1 -1
  47. package/dist/cjs/hcs-21/tx.d.ts +1 -1
  48. package/dist/cjs/hcs-5/tx.d.ts +1 -1
  49. package/dist/cjs/hcs-5/types.d.ts +1 -1
  50. package/dist/cjs/hcs-6/base-client.d.ts +1 -1
  51. package/dist/cjs/hcs-6/browser.d.ts +1 -1
  52. package/dist/cjs/hcs-6/sdk.d.ts +1 -1
  53. package/dist/cjs/hcs-6/tx.d.ts +1 -1
  54. package/dist/cjs/hcs-6/types.d.ts +1 -1
  55. package/dist/cjs/hcs-7/evm-bridge.d.ts +1 -1
  56. package/dist/cjs/hcs-7/tx.d.ts +1 -1
  57. package/dist/cjs/hcs-7/types.d.ts +1 -1
  58. package/dist/cjs/inscribe/types.d.ts +1 -1
  59. package/dist/cjs/services/mirror-node.d.ts +1 -1
  60. package/dist/cjs/services/registry-broker/client/base-client.d.ts +22 -9
  61. package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -1
  62. package/dist/cjs/services/registry-broker/client/skills.d.ts +19 -9
  63. package/dist/cjs/services/registry-broker/client/skills.d.ts.map +1 -1
  64. package/dist/cjs/services/registry-broker/client/verification.d.ts +3 -1
  65. package/dist/cjs/services/registry-broker/client/verification.d.ts.map +1 -1
  66. package/dist/cjs/services/registry-broker/private-key-signer.d.ts +1 -1
  67. package/dist/cjs/services/registry-broker/schemas.d.ts +12879 -167
  68. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  69. package/dist/cjs/services/registry-broker/types.d.ts +80 -2
  70. package/dist/cjs/services/registry-broker/types.d.ts.map +1 -1
  71. package/dist/cjs/standards-sdk.cjs +1 -1
  72. package/dist/cjs/standards-sdk.cjs.map +1 -1
  73. package/dist/cjs/utils/key-type-detector.d.ts +1 -1
  74. package/dist/cjs/utils/parsers/crypto-parser.d.ts +1 -1
  75. package/dist/cjs/utils/parsers/file-parser.d.ts +1 -1
  76. package/dist/cjs/utils/parsers/hcs-parser.d.ts +1 -1
  77. package/dist/cjs/utils/parsers/hts-parser.d.ts +1 -1
  78. package/dist/cjs/utils/parsers/parser-utils.d.ts +1 -1
  79. package/dist/cjs/utils/parsers/schedule-parser.d.ts +1 -1
  80. package/dist/cjs/utils/parsers/scs-parser.d.ts +1 -1
  81. package/dist/cjs/utils/parsers/util-parser.d.ts +1 -1
  82. package/dist/cjs/utils/topic-fee-utils.d.ts +1 -1
  83. package/dist/cjs/utils/transaction-parser.d.ts +1 -1
  84. package/dist/es/common/node-operator-resolver.d.ts +1 -1
  85. package/dist/es/common/tx/tx-utils.d.ts +1 -1
  86. package/dist/es/hcs-10/base-client.d.ts +1 -1
  87. package/dist/es/hcs-10/browser.d.ts +1 -1
  88. package/dist/es/hcs-10/sdk.d.ts +1 -1
  89. package/dist/es/hcs-10/tx.d.ts +1 -1
  90. package/dist/es/hcs-10/types.d.ts +1 -1
  91. package/dist/es/hcs-11/client.d.ts +51 -51
  92. package/dist/es/hcs-11/types.d.ts +1 -1
  93. package/dist/es/hcs-12/base-client.d.ts +1 -1
  94. package/dist/es/hcs-12/browser.d.ts +1 -1
  95. package/dist/es/hcs-12/sdk.d.ts +1 -1
  96. package/dist/es/hcs-12/security/signature-verifier.d.ts +1 -1
  97. package/dist/es/hcs-12/tx.d.ts +1 -1
  98. package/dist/es/hcs-14/issuers/types.d.ts +1 -1
  99. package/dist/es/hcs-14/sdk.d.ts +1 -1
  100. package/dist/es/hcs-15/browser.d.ts +1 -1
  101. package/dist/es/hcs-15/sdk.d.ts +1 -1
  102. package/dist/es/hcs-15/tx.d.ts +1 -1
  103. package/dist/es/hcs-15/types.d.ts +1 -1
  104. package/dist/es/hcs-16/base-client.d.ts +1 -1
  105. package/dist/es/hcs-16/browser.d.ts +1 -1
  106. package/dist/es/hcs-16/sdk.d.ts +1 -1
  107. package/dist/es/hcs-16/tx.d.ts +1 -1
  108. package/dist/es/hcs-16/types.d.ts +1 -1
  109. package/dist/es/hcs-17/base-client.d.ts +1 -1
  110. package/dist/es/hcs-17/browser.d.ts +1 -1
  111. package/dist/es/hcs-17/sdk.d.ts +1 -1
  112. package/dist/es/hcs-17/tx.d.ts +1 -1
  113. package/dist/es/hcs-17/types.d.ts +1 -1
  114. package/dist/es/hcs-18/browser.d.ts +1 -1
  115. package/dist/es/hcs-18/sdk.d.ts +2 -2
  116. package/dist/es/hcs-18/tx.d.ts +1 -1
  117. package/dist/es/hcs-18/types.d.ts +1 -1
  118. package/dist/es/hcs-2/base-client.d.ts +1 -1
  119. package/dist/es/hcs-2/browser.d.ts +1 -1
  120. package/dist/es/hcs-2/client.d.ts +8 -2
  121. package/dist/es/hcs-2/client.d.ts.map +1 -1
  122. package/dist/es/hcs-2/tx.d.ts +1 -1
  123. package/dist/es/hcs-2/types.d.ts +3 -1
  124. package/dist/es/hcs-2/types.d.ts.map +1 -1
  125. package/dist/es/hcs-20/base-client.d.ts +1 -1
  126. package/dist/es/hcs-20/tx.d.ts +1 -1
  127. package/dist/es/hcs-20/types.d.ts +1 -1
  128. package/dist/es/hcs-21/sdk.d.ts +1 -1
  129. package/dist/es/hcs-21/tx.d.ts +1 -1
  130. package/dist/es/hcs-5/tx.d.ts +1 -1
  131. package/dist/es/hcs-5/types.d.ts +1 -1
  132. package/dist/es/hcs-6/base-client.d.ts +1 -1
  133. package/dist/es/hcs-6/browser.d.ts +1 -1
  134. package/dist/es/hcs-6/sdk.d.ts +1 -1
  135. package/dist/es/hcs-6/tx.d.ts +1 -1
  136. package/dist/es/hcs-6/types.d.ts +1 -1
  137. package/dist/es/hcs-7/evm-bridge.d.ts +1 -1
  138. package/dist/es/hcs-7/tx.d.ts +1 -1
  139. package/dist/es/hcs-7/types.d.ts +1 -1
  140. package/dist/es/inscribe/types.d.ts +1 -1
  141. package/dist/es/services/mirror-node.d.ts +1 -1
  142. package/dist/es/services/registry-broker/client/base-client.d.ts +22 -9
  143. package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -1
  144. package/dist/es/services/registry-broker/client/skills.d.ts +19 -9
  145. package/dist/es/services/registry-broker/client/skills.d.ts.map +1 -1
  146. package/dist/es/services/registry-broker/client/verification.d.ts +3 -1
  147. package/dist/es/services/registry-broker/client/verification.d.ts.map +1 -1
  148. package/dist/es/services/registry-broker/private-key-signer.d.ts +1 -1
  149. package/dist/es/services/registry-broker/schemas.d.ts +12879 -167
  150. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  151. package/dist/es/services/registry-broker/types.d.ts +80 -2
  152. package/dist/es/services/registry-broker/types.d.ts.map +1 -1
  153. package/dist/es/standards-sdk.es104.js +1 -1
  154. package/dist/es/standards-sdk.es106.js +1 -1
  155. package/dist/es/standards-sdk.es108.js +1 -1
  156. package/dist/es/standards-sdk.es11.js +1 -1
  157. package/dist/es/standards-sdk.es110.js +1 -1
  158. package/dist/es/standards-sdk.es116.js +1 -1
  159. package/dist/es/standards-sdk.es12.js +1 -1
  160. package/dist/es/standards-sdk.es132.js +1 -1
  161. package/dist/es/standards-sdk.es137.js +1 -1
  162. package/dist/es/standards-sdk.es138.js +1 -1
  163. package/dist/es/standards-sdk.es140.js +234 -0
  164. package/dist/es/standards-sdk.es140.js.map +1 -1
  165. package/dist/es/standards-sdk.es143.js +1 -1
  166. package/dist/es/standards-sdk.es144.js +45 -3
  167. package/dist/es/standards-sdk.es144.js.map +1 -1
  168. package/dist/es/standards-sdk.es153.js +12450 -106
  169. package/dist/es/standards-sdk.es153.js.map +1 -1
  170. package/dist/es/standards-sdk.es154.js +133 -37
  171. package/dist/es/standards-sdk.es154.js.map +1 -1
  172. package/dist/es/standards-sdk.es155.js +34 -12474
  173. package/dist/es/standards-sdk.es155.js.map +1 -1
  174. package/dist/es/standards-sdk.es156.js +54 -15
  175. package/dist/es/standards-sdk.es156.js.map +1 -1
  176. package/dist/es/standards-sdk.es157.js +76 -48
  177. package/dist/es/standards-sdk.es157.js.map +1 -1
  178. package/dist/es/standards-sdk.es158.js +66 -69
  179. package/dist/es/standards-sdk.es158.js.map +1 -1
  180. package/dist/es/standards-sdk.es159.js +180 -61
  181. package/dist/es/standards-sdk.es159.js.map +1 -1
  182. package/dist/es/standards-sdk.es160.js +521 -187
  183. package/dist/es/standards-sdk.es160.js.map +1 -1
  184. package/dist/es/standards-sdk.es162.js +15 -240
  185. package/dist/es/standards-sdk.es162.js.map +1 -1
  186. package/dist/es/standards-sdk.es169.js +1 -1
  187. package/dist/es/standards-sdk.es173.js +1 -1
  188. package/dist/es/standards-sdk.es179.js +37 -1
  189. package/dist/es/standards-sdk.es179.js.map +1 -1
  190. package/dist/es/standards-sdk.es18.js +3 -3
  191. package/dist/es/standards-sdk.es19.js +1 -1
  192. package/dist/es/standards-sdk.es22.js +1 -1
  193. package/dist/es/standards-sdk.es27.js +2 -2
  194. package/dist/es/standards-sdk.es30.js +1 -1
  195. package/dist/es/standards-sdk.es31.js +1 -1
  196. package/dist/es/standards-sdk.es35.js +1 -1
  197. package/dist/es/standards-sdk.es36.js +3 -3
  198. package/dist/es/standards-sdk.es37.js +1 -1
  199. package/dist/es/standards-sdk.es4.js +1 -1
  200. package/dist/es/standards-sdk.es41.js +7 -7
  201. package/dist/es/standards-sdk.es41.js.map +1 -1
  202. package/dist/es/standards-sdk.es53.js +1 -1
  203. package/dist/es/standards-sdk.es56.js +1 -1
  204. package/dist/es/standards-sdk.es59.js +1 -1
  205. package/dist/es/standards-sdk.es60.js +1 -1
  206. package/dist/es/standards-sdk.es62.js +1 -1
  207. package/dist/es/standards-sdk.es63.js +2 -2
  208. package/dist/es/standards-sdk.es64.js +1 -1
  209. package/dist/es/standards-sdk.es65.js +1 -1
  210. package/dist/es/standards-sdk.es66.js +1 -1
  211. package/dist/es/standards-sdk.es67.js +1 -1
  212. package/dist/es/standards-sdk.es69.js +1 -1
  213. package/dist/es/standards-sdk.es7.js +1 -1
  214. package/dist/es/standards-sdk.es71.js +1 -1
  215. package/dist/es/standards-sdk.es72.js +2 -2
  216. package/dist/es/standards-sdk.es74.js.map +1 -1
  217. package/dist/es/standards-sdk.es75.js +97 -6
  218. package/dist/es/standards-sdk.es75.js.map +1 -1
  219. package/dist/es/standards-sdk.es76.js +1 -1
  220. package/dist/es/standards-sdk.es78.js +1 -1
  221. package/dist/es/standards-sdk.es83.js +1 -1
  222. package/dist/es/standards-sdk.es85.js +1 -1
  223. package/dist/es/standards-sdk.es88.js +2 -2
  224. package/dist/es/standards-sdk.es90.js +1 -1
  225. package/dist/es/standards-sdk.es94.js +1 -1
  226. package/dist/es/standards-sdk.es98.js +2 -2
  227. package/dist/es/standards-sdk.es99.js +1 -1
  228. package/dist/es/utils/key-type-detector.d.ts +1 -1
  229. package/dist/es/utils/parsers/crypto-parser.d.ts +1 -1
  230. package/dist/es/utils/parsers/file-parser.d.ts +1 -1
  231. package/dist/es/utils/parsers/hcs-parser.d.ts +1 -1
  232. package/dist/es/utils/parsers/hts-parser.d.ts +1 -1
  233. package/dist/es/utils/parsers/parser-utils.d.ts +1 -1
  234. package/dist/es/utils/parsers/schedule-parser.d.ts +1 -1
  235. package/dist/es/utils/parsers/scs-parser.d.ts +1 -1
  236. package/dist/es/utils/parsers/util-parser.d.ts +1 -1
  237. package/dist/es/utils/topic-fee-utils.d.ts +1 -1
  238. package/dist/es/utils/transaction-parser.d.ts +1 -1
  239. package/package.json +7 -6
@@ -1,20 +1,59 @@
1
- import { Logger } from "./standards-sdk.es118.js";
2
- import { HederaMirrorNode } from "./standards-sdk.es139.js";
3
- class HCS5BaseClient {
4
- /**
5
- * Create a new HCS-5 base client
6
- */
7
- constructor(config) {
8
- this.network = config.network;
9
- this.logger = config.logger || Logger.getInstance({
10
- level: config.logLevel || "info",
11
- module: "HCS5Client",
12
- silent: config.silent
13
- });
14
- this.mirrorNode = new HederaMirrorNode(this.network, this.logger);
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;
15
+ }
16
+ while (carry > 0) {
17
+ digits.push(carry % BASE);
18
+ carry = carry / BASE | 0;
19
+ }
15
20
  }
21
+ let result = "";
22
+ for (let i = 0; i < zeros; i++) result += "1";
23
+ for (let i = digits.length - 1; i >= 0; i--) result += ALPHABET[digits[i]];
24
+ return result;
25
+ }
26
+ function base58Decode(text) {
27
+ if (text.length === 0) return new Uint8Array(0);
28
+ let zeros = 0;
29
+ while (zeros < text.length && text[zeros] === "1") zeros++;
30
+ const b256 = [];
31
+ for (let i = zeros; i < text.length; i++) {
32
+ const ch = text[i];
33
+ const val = ALPHABET.indexOf(ch);
34
+ if (val === -1) throw new Error("Invalid Base58 character");
35
+ let carry = val;
36
+ for (let j = 0; j < b256.length; j++) {
37
+ const x = b256[j] * BASE + carry;
38
+ b256[j] = x & 255;
39
+ carry = x >> 8;
40
+ }
41
+ while (carry > 0) {
42
+ b256.push(carry & 255);
43
+ carry >>= 8;
44
+ }
45
+ }
46
+ for (let i = 0; i < zeros; i++) b256.push(0);
47
+ b256.reverse();
48
+ return Uint8Array.from(b256);
49
+ }
50
+ function multibaseB58btcDecode(zText) {
51
+ if (!zText.startsWith("z")) throw new Error("Invalid multibase base58btc");
52
+ return base58Decode(zText.slice(1));
16
53
  }
17
54
  export {
18
- HCS5BaseClient
55
+ base58Decode,
56
+ base58Encode,
57
+ multibaseB58btcDecode
19
58
  };
20
59
  //# sourceMappingURL=standards-sdk.es156.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es156.js","sources":["../../src/hcs-5/base-client.ts"],"sourcesContent":["import { Logger, ILogger } from '../utils/logger';\nimport { HederaMirrorNode } from '../services/mirror-node';\nimport { HCS5ClientConfig } from './types';\nimport { NetworkType } from '../utils/types';\n\n/**\n * Base client for HCS-5 operations\n */\nexport abstract class HCS5BaseClient {\n protected logger: ILogger;\n protected mirrorNode: HederaMirrorNode;\n protected network: NetworkType;\n\n /**\n * Create a new HCS-5 base client\n */\n constructor(config: HCS5ClientConfig) {\n this.network = config.network;\n this.logger =\n config.logger ||\n Logger.getInstance({\n level: config.logLevel || 'info',\n module: 'HCS5Client',\n silent: config.silent,\n });\n\n this.mirrorNode = new HederaMirrorNode(this.network, this.logger);\n }\n}\n"],"names":[],"mappings":";;AAQO,MAAe,eAAe;AAAA;AAAA;AAAA;AAAA,EAQnC,YAAY,QAA0B;AACpC,SAAK,UAAU,OAAO;AACtB,SAAK,SACH,OAAO,UACP,OAAO,YAAY;AAAA,MACjB,OAAO,OAAO,YAAY;AAAA,MAC1B,QAAQ;AAAA,MACR,QAAQ,OAAO;AAAA,IAAA,CAChB;AAEH,SAAK,aAAa,IAAI,iBAAiB,KAAK,SAAS,KAAK,MAAM;AAAA,EAClE;AACF;"}
1
+ {"version":3,"file":"standards-sdk.es156.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;"}
@@ -1,59 +1,87 @@
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;
15
- }
16
- while (carry > 0) {
17
- digits.push(carry % BASE);
18
- carry = carry / BASE | 0;
1
+ import { isBrowser } from "./standards-sdk.es131.js";
2
+ let nodeRequire;
3
+ function isModuleNotFound(specifier, error) {
4
+ if (!error || typeof error !== "object") {
5
+ return false;
6
+ }
7
+ const code = Reflect.get(error, "code");
8
+ const message = Reflect.get(error, "message");
9
+ const messageText = typeof message === "string" ? message : "";
10
+ if (typeof code === "string" && code.includes("MODULE_NOT_FOUND")) {
11
+ return messageText.includes(specifier);
12
+ }
13
+ if (messageText) {
14
+ const lowered = messageText.toLowerCase();
15
+ if (lowered.includes("cannot find module") || lowered.includes("module not found") || lowered.includes("cannot find package")) {
16
+ return lowered.includes(specifier.toLowerCase());
19
17
  }
20
18
  }
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;
19
+ return false;
20
+ }
21
+ async function resolveNodeRequire() {
22
+ if (nodeRequire !== void 0) {
23
+ return nodeRequire;
24
+ }
25
+ if (isBrowser) {
26
+ nodeRequire = null;
27
+ return nodeRequire;
28
+ }
29
+ try {
30
+ const globalObject = typeof global !== "undefined" ? global : globalThis;
31
+ const req = globalObject.process?.mainModule?.require ?? globalObject.require;
32
+ nodeRequire = typeof req === "function" && typeof req.resolve === "function" ? req : null;
33
+ } catch {
34
+ nodeRequire = null;
35
+ }
36
+ return nodeRequire;
25
37
  }
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;
38
+ async function dynamicImport(specifier) {
39
+ try {
40
+ return await import(specifier);
41
+ } catch (error) {
42
+ if (isModuleNotFound(specifier, error)) {
43
+ return null;
40
44
  }
41
- while (carry > 0) {
42
- b256.push(carry & 255);
43
- carry >>= 8;
45
+ throw error;
46
+ }
47
+ }
48
+ async function optionalImport(specifier, options = {}) {
49
+ if (isBrowser) {
50
+ return dynamicImport(specifier);
51
+ }
52
+ if (!options.preferImport) {
53
+ const requireFn = await resolveNodeRequire();
54
+ if (requireFn) {
55
+ try {
56
+ return requireFn(specifier);
57
+ } catch (error) {
58
+ if (!isModuleNotFound(specifier, error)) {
59
+ throw error;
60
+ }
61
+ }
44
62
  }
45
63
  }
46
- for (let i = 0; i < zeros; i++) b256.push(0);
47
- b256.reverse();
48
- return Uint8Array.from(b256);
64
+ return dynamicImport(specifier);
49
65
  }
50
- function multibaseB58btcDecode(zText) {
51
- if (!zText.startsWith("z")) throw new Error("Invalid multibase base58btc");
52
- return base58Decode(zText.slice(1));
66
+ function optionalImportSync(specifier) {
67
+ if (isBrowser) {
68
+ return null;
69
+ }
70
+ try {
71
+ const globalObject = typeof global !== "undefined" ? global : globalThis;
72
+ const req = globalObject.process?.mainModule?.require ?? globalObject.require;
73
+ if (typeof req === "function" && typeof req.resolve === "function") {
74
+ return req(specifier);
75
+ }
76
+ } catch (error) {
77
+ if (!isModuleNotFound(specifier, error)) {
78
+ throw error;
79
+ }
80
+ }
81
+ return null;
53
82
  }
54
83
  export {
55
- base58Decode,
56
- base58Encode,
57
- multibaseB58btcDecode
84
+ optionalImport,
85
+ optionalImportSync
58
86
  };
59
87
  //# sourceMappingURL=standards-sdk.es157.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es157.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;"}
1
+ {"version":3,"file":"standards-sdk.es157.js","sources":["../../src/utils/dynamic-import.ts"],"sourcesContent":["import { isBrowser } from './is-browser';\n\nlet nodeRequire: NodeRequire | null | undefined;\n\nfunction isModuleNotFound(specifier: string, error: unknown): boolean {\n if (!error || typeof error !== 'object') {\n return false;\n }\n const code = Reflect.get(error, 'code');\n const message = Reflect.get(error, 'message');\n const messageText = typeof message === 'string' ? message : '';\n\n if (typeof code === 'string' && code.includes('MODULE_NOT_FOUND')) {\n return messageText.includes(specifier);\n }\n\n if (messageText) {\n const lowered = messageText.toLowerCase();\n if (\n lowered.includes('cannot find module') ||\n lowered.includes('module not found') ||\n lowered.includes('cannot find package')\n ) {\n return lowered.includes(specifier.toLowerCase());\n }\n }\n\n return false;\n}\n\nasync function resolveNodeRequire(): Promise<NodeRequire | null> {\n if (nodeRequire !== undefined) {\n return nodeRequire;\n }\n\n if (isBrowser) {\n nodeRequire = null;\n return nodeRequire;\n }\n\n try {\n const globalObject =\n typeof global !== 'undefined'\n ? (global as typeof globalThis)\n : globalThis;\n const req =\n globalObject.process?.mainModule?.require ??\n (globalObject as { require?: NodeRequire }).require;\n\n nodeRequire =\n typeof req === 'function' &&\n typeof (req as NodeRequire).resolve === 'function'\n ? (req as NodeRequire)\n : null;\n } catch {\n nodeRequire = null;\n }\n\n return nodeRequire;\n}\n\nasync function dynamicImport<T>(specifier: string): Promise<T | null> {\n try {\n return (await import(specifier)) as T;\n } catch (error) {\n if (isModuleNotFound(specifier, error)) {\n return null;\n }\n throw error as Error;\n }\n}\n\ntype OptionalImportOptions = {\n preferImport?: boolean;\n};\n\nexport async function optionalImport<T>(\n specifier: string,\n options: OptionalImportOptions = {},\n): Promise<T | null> {\n if (isBrowser) {\n return dynamicImport<T>(specifier);\n }\n\n if (!options.preferImport) {\n const requireFn = await resolveNodeRequire();\n if (requireFn) {\n try {\n return requireFn(specifier) as T;\n } catch (error) {\n if (!isModuleNotFound(specifier, error)) {\n throw error as Error;\n }\n }\n }\n }\n\n return dynamicImport<T>(specifier);\n}\n\nexport function optionalImportSync<T>(specifier: string): T | null {\n if (isBrowser) {\n return null;\n }\n\n try {\n const globalObject =\n typeof global !== 'undefined'\n ? (global as typeof globalThis)\n : globalThis;\n const req =\n globalObject.process?.mainModule?.require ??\n (globalObject as { require?: NodeRequire }).require;\n\n if (\n typeof req === 'function' &&\n typeof (req as NodeRequire).resolve === 'function'\n ) {\n return req(specifier) as T;\n }\n } catch (error) {\n if (!isModuleNotFound(specifier, error)) {\n throw error as Error;\n }\n }\n\n return null;\n}\n"],"names":[],"mappings":";AAEA,IAAI;AAEJ,SAAS,iBAAiB,WAAmB,OAAyB;AACpE,MAAI,CAAC,SAAS,OAAO,UAAU,UAAU;AACvC,WAAO;AAAA,EACT;AACA,QAAM,OAAO,QAAQ,IAAI,OAAO,MAAM;AACtC,QAAM,UAAU,QAAQ,IAAI,OAAO,SAAS;AAC5C,QAAM,cAAc,OAAO,YAAY,WAAW,UAAU;AAE5D,MAAI,OAAO,SAAS,YAAY,KAAK,SAAS,kBAAkB,GAAG;AACjE,WAAO,YAAY,SAAS,SAAS;AAAA,EACvC;AAEA,MAAI,aAAa;AACf,UAAM,UAAU,YAAY,YAAA;AAC5B,QACE,QAAQ,SAAS,oBAAoB,KACrC,QAAQ,SAAS,kBAAkB,KACnC,QAAQ,SAAS,qBAAqB,GACtC;AACA,aAAO,QAAQ,SAAS,UAAU,YAAA,CAAa;AAAA,IACjD;AAAA,EACF;AAEA,SAAO;AACT;AAEA,eAAe,qBAAkD;AAC/D,MAAI,gBAAgB,QAAW;AAC7B,WAAO;AAAA,EACT;AAEA,MAAI,WAAW;AACb,kBAAc;AACd,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,eACJ,OAAO,WAAW,cACb,SACD;AACN,UAAM,MACJ,aAAa,SAAS,YAAY,WACjC,aAA2C;AAE9C,kBACE,OAAO,QAAQ,cACf,OAAQ,IAAoB,YAAY,aACnC,MACD;AAAA,EACR,QAAQ;AACN,kBAAc;AAAA,EAChB;AAEA,SAAO;AACT;AAEA,eAAe,cAAiB,WAAsC;AACpE,MAAI;AACF,WAAQ,MAAM,OAAO;AAAA,EACvB,SAAS,OAAO;AACd,QAAI,iBAAiB,WAAW,KAAK,GAAG;AACtC,aAAO;AAAA,IACT;AACA,UAAM;AAAA,EACR;AACF;AAMA,eAAsB,eACpB,WACA,UAAiC,IACd;AACnB,MAAI,WAAW;AACb,WAAO,cAAiB,SAAS;AAAA,EACnC;AAEA,MAAI,CAAC,QAAQ,cAAc;AACzB,UAAM,YAAY,MAAM,mBAAA;AACxB,QAAI,WAAW;AACb,UAAI;AACF,eAAO,UAAU,SAAS;AAAA,MAC5B,SAAS,OAAO;AACd,YAAI,CAAC,iBAAiB,WAAW,KAAK,GAAG;AACvC,gBAAM;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO,cAAiB,SAAS;AACnC;AAEO,SAAS,mBAAsB,WAA6B;AACjE,MAAI,WAAW;AACb,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,eACJ,OAAO,WAAW,cACb,SACD;AACN,UAAM,MACJ,aAAa,SAAS,YAAY,WACjC,aAA2C;AAE9C,QACE,OAAO,QAAQ,cACf,OAAQ,IAAoB,YAAY,YACxC;AACA,aAAO,IAAI,SAAS;AAAA,IACtB;AAAA,EACF,SAAS,OAAO;AACd,QAAI,CAAC,iBAAiB,WAAW,KAAK,GAAG;AACvC,YAAM;AAAA,IACR;AAAA,EACF;AAEA,SAAO;AACT;"}
@@ -1,87 +1,84 @@
1
- import { isBrowser } from "./standards-sdk.es131.js";
2
- let nodeRequire;
3
- function isModuleNotFound(specifier, error) {
4
- if (!error || typeof error !== "object") {
1
+ const orderedParamKeys = [
2
+ "uid",
3
+ "registry",
4
+ "proto",
5
+ "nativeId",
6
+ "domain",
7
+ "src"
8
+ ];
9
+ const fqdnLabelRegex = /^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/i;
10
+ function uaidTargetFromParsed(parsed) {
11
+ return parsed.method === "aid" ? "aid" : "did";
12
+ }
13
+ function normalizeDomain(value) {
14
+ return value.trim().replace(/\.$/, "").toLowerCase();
15
+ }
16
+ function isFqdn(value) {
17
+ const normalized = normalizeDomain(value);
18
+ if (!normalized || normalized.length > 253 || !normalized.includes(".")) {
5
19
  return false;
6
20
  }
7
- const code = Reflect.get(error, "code");
8
- const message = Reflect.get(error, "message");
9
- const messageText = typeof message === "string" ? message : "";
10
- if (typeof code === "string" && code.includes("MODULE_NOT_FOUND")) {
11
- return messageText.includes(specifier);
12
- }
13
- if (messageText) {
14
- const lowered = messageText.toLowerCase();
15
- if (lowered.includes("cannot find module") || lowered.includes("module not found") || lowered.includes("cannot find package")) {
16
- return lowered.includes(specifier.toLowerCase());
21
+ const labels = normalized.split(".");
22
+ for (const label of labels) {
23
+ if (!label || label.length > 63 || !fqdnLabelRegex.test(label)) {
24
+ return false;
17
25
  }
18
26
  }
19
- return false;
27
+ return true;
20
28
  }
21
- async function resolveNodeRequire() {
22
- if (nodeRequire !== void 0) {
23
- return nodeRequire;
29
+ function normalizeTxtValue(value) {
30
+ const trimmed = value.trim();
31
+ if (trimmed.length >= 2 && trimmed.startsWith('"') && trimmed.endsWith('"')) {
32
+ return trimmed.slice(1, -1);
24
33
  }
25
- if (isBrowser) {
26
- nodeRequire = null;
27
- return nodeRequire;
34
+ const markdownLinkMatch = trimmed.match(/^\[(.+)\]\((.+)\)$/);
35
+ if (markdownLinkMatch) {
36
+ return markdownLinkMatch[2].trim();
28
37
  }
29
- try {
30
- const globalObject = typeof global !== "undefined" ? global : globalThis;
31
- const req = globalObject.process?.mainModule?.require ?? globalObject.require;
32
- nodeRequire = typeof req === "function" && typeof req.resolve === "function" ? req : null;
33
- } catch {
34
- nodeRequire = null;
35
- }
36
- return nodeRequire;
38
+ return trimmed;
37
39
  }
38
- async function dynamicImport(specifier) {
39
- try {
40
- return await import(specifier);
41
- } catch (error) {
42
- if (isModuleNotFound(specifier, error)) {
43
- return null;
40
+ function parseSemicolonFields(input) {
41
+ const fields = {};
42
+ for (const part of input.split(";")) {
43
+ const trimmed = part.trim();
44
+ if (!trimmed) {
45
+ continue;
44
46
  }
45
- throw error;
46
- }
47
- }
48
- async function optionalImport(specifier, options = {}) {
49
- if (isBrowser) {
50
- return dynamicImport(specifier);
51
- }
52
- if (!options.preferImport) {
53
- const requireFn = await resolveNodeRequire();
54
- if (requireFn) {
55
- try {
56
- return requireFn(specifier);
57
- } catch (error) {
58
- if (!isModuleNotFound(specifier, error)) {
59
- throw error;
60
- }
61
- }
47
+ const equalsIndex = trimmed.indexOf("=");
48
+ if (equalsIndex <= 0) {
49
+ continue;
50
+ }
51
+ const key = trimmed.slice(0, equalsIndex).trim();
52
+ const value = normalizeTxtValue(trimmed.slice(equalsIndex + 1));
53
+ if (!key || !value) {
54
+ continue;
62
55
  }
56
+ fields[key] = value;
63
57
  }
64
- return dynamicImport(specifier);
58
+ return fields;
65
59
  }
66
- function optionalImportSync(specifier) {
67
- if (isBrowser) {
68
- return null;
69
- }
70
- try {
71
- const globalObject = typeof global !== "undefined" ? global : globalThis;
72
- const req = globalObject.process?.mainModule?.require ?? globalObject.require;
73
- if (typeof req === "function" && typeof req.resolve === "function") {
74
- return req(specifier);
75
- }
76
- } catch (error) {
77
- if (!isModuleNotFound(specifier, error)) {
78
- throw error;
60
+ function buildCanonicalUaid(target, id, params) {
61
+ const entries = [];
62
+ const usedKeys = /* @__PURE__ */ new Set();
63
+ for (const key of orderedParamKeys) {
64
+ const value = params[key];
65
+ if (value) {
66
+ entries.push(`${key}=${value}`);
67
+ usedKeys.add(key);
79
68
  }
80
69
  }
81
- return null;
70
+ const extraKeys = Object.keys(params).filter((key) => !usedKeys.has(key) && params[key]).sort((a, b) => a.localeCompare(b));
71
+ for (const key of extraKeys) {
72
+ entries.push(`${key}=${params[key]}`);
73
+ }
74
+ return entries.length > 0 ? `uaid:${target}:${id};${entries.join(";")}` : `uaid:${target}:${id}`;
82
75
  }
83
76
  export {
84
- optionalImport,
85
- optionalImportSync
77
+ buildCanonicalUaid,
78
+ isFqdn,
79
+ normalizeDomain,
80
+ normalizeTxtValue,
81
+ parseSemicolonFields,
82
+ uaidTargetFromParsed
86
83
  };
87
84
  //# sourceMappingURL=standards-sdk.es158.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es158.js","sources":["../../src/utils/dynamic-import.ts"],"sourcesContent":["import { isBrowser } from './is-browser';\n\nlet nodeRequire: NodeRequire | null | undefined;\n\nfunction isModuleNotFound(specifier: string, error: unknown): boolean {\n if (!error || typeof error !== 'object') {\n return false;\n }\n const code = Reflect.get(error, 'code');\n const message = Reflect.get(error, 'message');\n const messageText = typeof message === 'string' ? message : '';\n\n if (typeof code === 'string' && code.includes('MODULE_NOT_FOUND')) {\n return messageText.includes(specifier);\n }\n\n if (messageText) {\n const lowered = messageText.toLowerCase();\n if (\n lowered.includes('cannot find module') ||\n lowered.includes('module not found') ||\n lowered.includes('cannot find package')\n ) {\n return lowered.includes(specifier.toLowerCase());\n }\n }\n\n return false;\n}\n\nasync function resolveNodeRequire(): Promise<NodeRequire | null> {\n if (nodeRequire !== undefined) {\n return nodeRequire;\n }\n\n if (isBrowser) {\n nodeRequire = null;\n return nodeRequire;\n }\n\n try {\n const globalObject =\n typeof global !== 'undefined'\n ? (global as typeof globalThis)\n : globalThis;\n const req =\n globalObject.process?.mainModule?.require ??\n (globalObject as { require?: NodeRequire }).require;\n\n nodeRequire =\n typeof req === 'function' &&\n typeof (req as NodeRequire).resolve === 'function'\n ? (req as NodeRequire)\n : null;\n } catch {\n nodeRequire = null;\n }\n\n return nodeRequire;\n}\n\nasync function dynamicImport<T>(specifier: string): Promise<T | null> {\n try {\n return (await import(specifier)) as T;\n } catch (error) {\n if (isModuleNotFound(specifier, error)) {\n return null;\n }\n throw error as Error;\n }\n}\n\ntype OptionalImportOptions = {\n preferImport?: boolean;\n};\n\nexport async function optionalImport<T>(\n specifier: string,\n options: OptionalImportOptions = {},\n): Promise<T | null> {\n if (isBrowser) {\n return dynamicImport<T>(specifier);\n }\n\n if (!options.preferImport) {\n const requireFn = await resolveNodeRequire();\n if (requireFn) {\n try {\n return requireFn(specifier) as T;\n } catch (error) {\n if (!isModuleNotFound(specifier, error)) {\n throw error as Error;\n }\n }\n }\n }\n\n return dynamicImport<T>(specifier);\n}\n\nexport function optionalImportSync<T>(specifier: string): T | null {\n if (isBrowser) {\n return null;\n }\n\n try {\n const globalObject =\n typeof global !== 'undefined'\n ? (global as typeof globalThis)\n : globalThis;\n const req =\n globalObject.process?.mainModule?.require ??\n (globalObject as { require?: NodeRequire }).require;\n\n if (\n typeof req === 'function' &&\n typeof (req as NodeRequire).resolve === 'function'\n ) {\n return req(specifier) as T;\n }\n } catch (error) {\n if (!isModuleNotFound(specifier, error)) {\n throw error as Error;\n }\n }\n\n return null;\n}\n"],"names":[],"mappings":";AAEA,IAAI;AAEJ,SAAS,iBAAiB,WAAmB,OAAyB;AACpE,MAAI,CAAC,SAAS,OAAO,UAAU,UAAU;AACvC,WAAO;AAAA,EACT;AACA,QAAM,OAAO,QAAQ,IAAI,OAAO,MAAM;AACtC,QAAM,UAAU,QAAQ,IAAI,OAAO,SAAS;AAC5C,QAAM,cAAc,OAAO,YAAY,WAAW,UAAU;AAE5D,MAAI,OAAO,SAAS,YAAY,KAAK,SAAS,kBAAkB,GAAG;AACjE,WAAO,YAAY,SAAS,SAAS;AAAA,EACvC;AAEA,MAAI,aAAa;AACf,UAAM,UAAU,YAAY,YAAA;AAC5B,QACE,QAAQ,SAAS,oBAAoB,KACrC,QAAQ,SAAS,kBAAkB,KACnC,QAAQ,SAAS,qBAAqB,GACtC;AACA,aAAO,QAAQ,SAAS,UAAU,YAAA,CAAa;AAAA,IACjD;AAAA,EACF;AAEA,SAAO;AACT;AAEA,eAAe,qBAAkD;AAC/D,MAAI,gBAAgB,QAAW;AAC7B,WAAO;AAAA,EACT;AAEA,MAAI,WAAW;AACb,kBAAc;AACd,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,eACJ,OAAO,WAAW,cACb,SACD;AACN,UAAM,MACJ,aAAa,SAAS,YAAY,WACjC,aAA2C;AAE9C,kBACE,OAAO,QAAQ,cACf,OAAQ,IAAoB,YAAY,aACnC,MACD;AAAA,EACR,QAAQ;AACN,kBAAc;AAAA,EAChB;AAEA,SAAO;AACT;AAEA,eAAe,cAAiB,WAAsC;AACpE,MAAI;AACF,WAAQ,MAAM,OAAO;AAAA,EACvB,SAAS,OAAO;AACd,QAAI,iBAAiB,WAAW,KAAK,GAAG;AACtC,aAAO;AAAA,IACT;AACA,UAAM;AAAA,EACR;AACF;AAMA,eAAsB,eACpB,WACA,UAAiC,IACd;AACnB,MAAI,WAAW;AACb,WAAO,cAAiB,SAAS;AAAA,EACnC;AAEA,MAAI,CAAC,QAAQ,cAAc;AACzB,UAAM,YAAY,MAAM,mBAAA;AACxB,QAAI,WAAW;AACb,UAAI;AACF,eAAO,UAAU,SAAS;AAAA,MAC5B,SAAS,OAAO;AACd,YAAI,CAAC,iBAAiB,WAAW,KAAK,GAAG;AACvC,gBAAM;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO,cAAiB,SAAS;AACnC;AAEO,SAAS,mBAAsB,WAA6B;AACjE,MAAI,WAAW;AACb,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,eACJ,OAAO,WAAW,cACb,SACD;AACN,UAAM,MACJ,aAAa,SAAS,YAAY,WACjC,aAA2C;AAE9C,QACE,OAAO,QAAQ,cACf,OAAQ,IAAoB,YAAY,YACxC;AACA,aAAO,IAAI,SAAS;AAAA,IACtB;AAAA,EACF,SAAS,OAAO;AACd,QAAI,CAAC,iBAAiB,WAAW,KAAK,GAAG;AACvC,YAAM;AAAA,IACR;AAAA,EACF;AAEA,SAAO;AACT;"}
1
+ {"version":3,"file":"standards-sdk.es158.js","sources":["../../src/hcs-14/resolvers/profile-utils.ts"],"sourcesContent":["import type { ParsedHcs14Did } from '../types';\n\nconst orderedParamKeys = [\n 'uid',\n 'registry',\n 'proto',\n 'nativeId',\n 'domain',\n 'src',\n] as const;\n\nconst fqdnLabelRegex = /^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/i;\n\nexport function uaidTargetFromParsed(parsed: ParsedHcs14Did): 'aid' | 'did' {\n return parsed.method === 'aid' ? 'aid' : 'did';\n}\n\nexport function normalizeDomain(value: string): string {\n return value.trim().replace(/\\.$/, '').toLowerCase();\n}\n\nexport function isFqdn(value: string): boolean {\n const normalized = normalizeDomain(value);\n if (!normalized || normalized.length > 253 || !normalized.includes('.')) {\n return false;\n }\n const labels = normalized.split('.');\n for (const label of labels) {\n if (!label || label.length > 63 || !fqdnLabelRegex.test(label)) {\n return false;\n }\n }\n return true;\n}\n\nexport function normalizeTxtValue(value: string): string {\n const trimmed = value.trim();\n if (trimmed.length >= 2 && trimmed.startsWith('\"') && trimmed.endsWith('\"')) {\n return trimmed.slice(1, -1);\n }\n const markdownLinkMatch = trimmed.match(/^\\[(.+)\\]\\((.+)\\)$/);\n if (markdownLinkMatch) {\n return markdownLinkMatch[2].trim();\n }\n return trimmed;\n}\n\nexport function parseSemicolonFields(input: string): Record<string, string> {\n const fields: Record<string, string> = {};\n for (const part of input.split(';')) {\n const trimmed = part.trim();\n if (!trimmed) {\n continue;\n }\n const equalsIndex = trimmed.indexOf('=');\n if (equalsIndex <= 0) {\n continue;\n }\n const key = trimmed.slice(0, equalsIndex).trim();\n const value = normalizeTxtValue(trimmed.slice(equalsIndex + 1));\n if (!key || !value) {\n continue;\n }\n fields[key] = value;\n }\n return fields;\n}\n\nexport function buildCanonicalUaid(\n target: 'aid' | 'did',\n id: string,\n params: Record<string, string>,\n): string {\n const entries: string[] = [];\n const usedKeys = new Set<string>();\n\n for (const key of orderedParamKeys) {\n const value = params[key];\n if (value) {\n entries.push(`${key}=${value}`);\n usedKeys.add(key);\n }\n }\n\n const extraKeys = Object.keys(params)\n .filter(key => !usedKeys.has(key) && params[key])\n .sort((a, b) => a.localeCompare(b));\n\n for (const key of extraKeys) {\n entries.push(`${key}=${params[key]}`);\n }\n\n return entries.length > 0\n ? `uaid:${target}:${id};${entries.join(';')}`\n : `uaid:${target}:${id}`;\n}\n\nexport function canonicalizeUaidFromParsed(parsed: ParsedHcs14Did): string {\n return buildCanonicalUaid(\n uaidTargetFromParsed(parsed),\n parsed.id,\n parsed.params,\n );\n}\n"],"names":[],"mappings":"AAEA,MAAM,mBAAmB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,iBAAiB;AAEhB,SAAS,qBAAqB,QAAuC;AAC1E,SAAO,OAAO,WAAW,QAAQ,QAAQ;AAC3C;AAEO,SAAS,gBAAgB,OAAuB;AACrD,SAAO,MAAM,OAAO,QAAQ,OAAO,EAAE,EAAE,YAAA;AACzC;AAEO,SAAS,OAAO,OAAwB;AAC7C,QAAM,aAAa,gBAAgB,KAAK;AACxC,MAAI,CAAC,cAAc,WAAW,SAAS,OAAO,CAAC,WAAW,SAAS,GAAG,GAAG;AACvE,WAAO;AAAA,EACT;AACA,QAAM,SAAS,WAAW,MAAM,GAAG;AACnC,aAAW,SAAS,QAAQ;AAC1B,QAAI,CAAC,SAAS,MAAM,SAAS,MAAM,CAAC,eAAe,KAAK,KAAK,GAAG;AAC9D,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,kBAAkB,OAAuB;AACvD,QAAM,UAAU,MAAM,KAAA;AACtB,MAAI,QAAQ,UAAU,KAAK,QAAQ,WAAW,GAAG,KAAK,QAAQ,SAAS,GAAG,GAAG;AAC3E,WAAO,QAAQ,MAAM,GAAG,EAAE;AAAA,EAC5B;AACA,QAAM,oBAAoB,QAAQ,MAAM,oBAAoB;AAC5D,MAAI,mBAAmB;AACrB,WAAO,kBAAkB,CAAC,EAAE,KAAA;AAAA,EAC9B;AACA,SAAO;AACT;AAEO,SAAS,qBAAqB,OAAuC;AAC1E,QAAM,SAAiC,CAAA;AACvC,aAAW,QAAQ,MAAM,MAAM,GAAG,GAAG;AACnC,UAAM,UAAU,KAAK,KAAA;AACrB,QAAI,CAAC,SAAS;AACZ;AAAA,IACF;AACA,UAAM,cAAc,QAAQ,QAAQ,GAAG;AACvC,QAAI,eAAe,GAAG;AACpB;AAAA,IACF;AACA,UAAM,MAAM,QAAQ,MAAM,GAAG,WAAW,EAAE,KAAA;AAC1C,UAAM,QAAQ,kBAAkB,QAAQ,MAAM,cAAc,CAAC,CAAC;AAC9D,QAAI,CAAC,OAAO,CAAC,OAAO;AAClB;AAAA,IACF;AACA,WAAO,GAAG,IAAI;AAAA,EAChB;AACA,SAAO;AACT;AAEO,SAAS,mBACd,QACA,IACA,QACQ;AACR,QAAM,UAAoB,CAAA;AAC1B,QAAM,+BAAe,IAAA;AAErB,aAAW,OAAO,kBAAkB;AAClC,UAAM,QAAQ,OAAO,GAAG;AACxB,QAAI,OAAO;AACT,cAAQ,KAAK,GAAG,GAAG,IAAI,KAAK,EAAE;AAC9B,eAAS,IAAI,GAAG;AAAA,IAClB;AAAA,EACF;AAEA,QAAM,YAAY,OAAO,KAAK,MAAM,EACjC,OAAO,CAAA,QAAO,CAAC,SAAS,IAAI,GAAG,KAAK,OAAO,GAAG,CAAC,EAC/C,KAAK,CAAC,GAAG,MAAM,EAAE,cAAc,CAAC,CAAC;AAEpC,aAAW,OAAO,WAAW;AAC3B,YAAQ,KAAK,GAAG,GAAG,IAAI,OAAO,GAAG,CAAC,EAAE;AAAA,EACtC;AAEA,SAAO,QAAQ,SAAS,IACpB,QAAQ,MAAM,IAAI,EAAE,IAAI,QAAQ,KAAK,GAAG,CAAC,KACzC,QAAQ,MAAM,IAAI,EAAE;AAC1B;"}