@xyo-network/sdk-protocol 7.0.4

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 (391) hide show
  1. package/LICENSE +165 -0
  2. package/README.md +85 -0
  3. package/dist/_pkg/account/neutral/Account.d.ts +38 -0
  4. package/dist/_pkg/account/neutral/Jwt/base64url.d.ts +5 -0
  5. package/dist/_pkg/account/neutral/Jwt/createJwt.d.ts +3 -0
  6. package/dist/_pkg/account/neutral/Jwt/decodeJwt.d.ts +3 -0
  7. package/dist/_pkg/account/neutral/Jwt/digest.d.ts +4 -0
  8. package/dist/_pkg/account/neutral/Jwt/index.d.ts +6 -0
  9. package/dist/_pkg/account/neutral/Jwt/verifyJwt.d.ts +3 -0
  10. package/dist/_pkg/account/neutral/Key/AddressValue.d.ts +11 -0
  11. package/dist/_pkg/account/neutral/Key/EllipticKey.d.ts +4 -0
  12. package/dist/_pkg/account/neutral/Key/PrivateKey.d.ts +14 -0
  13. package/dist/_pkg/account/neutral/Key/PublicKey.d.ts +14 -0
  14. package/dist/_pkg/account/neutral/Key/index.d.ts +5 -0
  15. package/dist/_pkg/account/neutral/index.d.ts +6 -0
  16. package/dist/_pkg/account/neutral/index.mjs +547 -0
  17. package/dist/_pkg/account/neutral/lib/index.d.ts +2 -0
  18. package/dist/_pkg/account/neutral/lib/walletPath/combineWalletPaths.d.ts +2 -0
  19. package/dist/_pkg/account/neutral/lib/walletPath/formatWalletPath.d.ts +2 -0
  20. package/dist/_pkg/account/neutral/lib/walletPath/index.d.ts +4 -0
  21. package/dist/_pkg/account/neutral/lib/walletPath/isValidWalletPath.d.ts +3 -0
  22. package/dist/_pkg/account/neutral/register.d.ts +2 -0
  23. package/dist/_pkg/account-model/neutral/Account.d.ts +46 -0
  24. package/dist/_pkg/account-model/neutral/Algorithm.d.ts +5 -0
  25. package/dist/_pkg/account-model/neutral/Jwt/constants.d.ts +14 -0
  26. package/dist/_pkg/account-model/neutral/Jwt/index.d.ts +3 -0
  27. package/dist/_pkg/account-model/neutral/Jwt/types.d.ts +56 -0
  28. package/dist/_pkg/account-model/neutral/VerifierRegistry.d.ts +6 -0
  29. package/dist/_pkg/account-model/neutral/addressTo20Bytes.d.ts +2 -0
  30. package/dist/_pkg/account-model/neutral/index.d.ts +6 -0
  31. package/dist/_pkg/account-model/neutral/index.mjs +100 -0
  32. package/dist/_pkg/address/neutral/XyoAddress.d.ts +38 -0
  33. package/dist/_pkg/address/neutral/XyoLegacyAddress.d.ts +37 -0
  34. package/dist/_pkg/address/neutral/XyoQuantAddress.d.ts +33 -0
  35. package/dist/_pkg/address/neutral/index.d.ts +4 -0
  36. package/dist/_pkg/address/neutral/index.mjs +75 -0
  37. package/dist/_pkg/api/neutral/Api/Api.d.ts +8 -0
  38. package/dist/_pkg/api/neutral/Api/index.d.ts +2 -0
  39. package/dist/_pkg/api/neutral/Base.d.ts +32 -0
  40. package/dist/_pkg/api/neutral/Simple.d.ts +22 -0
  41. package/dist/_pkg/api/neutral/WithArchive.d.ts +4 -0
  42. package/dist/_pkg/api/neutral/index.d.ts +6 -0
  43. package/dist/_pkg/api/neutral/index.mjs +187 -0
  44. package/dist/_pkg/api/neutral/models/ArchivePath.d.ts +4 -0
  45. package/dist/_pkg/api/neutral/models/index.d.ts +2 -0
  46. package/dist/_pkg/api/neutral/objToQuery.d.ts +2 -0
  47. package/dist/_pkg/api-models/neutral/Config.d.ts +25 -0
  48. package/dist/_pkg/api-models/neutral/Envelope.d.ts +15 -0
  49. package/dist/_pkg/api-models/neutral/Error.d.ts +5 -0
  50. package/dist/_pkg/api-models/neutral/Reportable.d.ts +8 -0
  51. package/dist/_pkg/api-models/neutral/Response.d.ts +8 -0
  52. package/dist/_pkg/api-models/neutral/Warning.d.ts +2 -0
  53. package/dist/_pkg/api-models/neutral/index.d.ts +7 -0
  54. package/dist/_pkg/api-models/neutral/index.mjs +1 -0
  55. package/dist/_pkg/boundwitness/neutral/builder.d.ts +2 -0
  56. package/dist/_pkg/boundwitness/neutral/builder.mjs +3 -0
  57. package/dist/_pkg/boundwitness/neutral/index.d.ts +5 -0
  58. package/dist/_pkg/boundwitness/neutral/index.mjs +6 -0
  59. package/dist/_pkg/boundwitness/neutral/model.d.ts +2 -0
  60. package/dist/_pkg/boundwitness/neutral/model.mjs +3 -0
  61. package/dist/_pkg/boundwitness/neutral/validator.d.ts +2 -0
  62. package/dist/_pkg/boundwitness/neutral/validator.mjs +3 -0
  63. package/dist/_pkg/boundwitness/neutral/wrapper.d.ts +2 -0
  64. package/dist/_pkg/boundwitness/neutral/wrapper.mjs +3 -0
  65. package/dist/_pkg/boundwitness-builder/neutral/BoundWitnessBuilder.d.ts +48 -0
  66. package/dist/_pkg/boundwitness-builder/neutral/GeneratedBoundWitnessFields.d.ts +3 -0
  67. package/dist/_pkg/boundwitness-builder/neutral/Query/QueryBoundWitnessBuilder.d.ts +9 -0
  68. package/dist/_pkg/boundwitness-builder/neutral/Query/index.d.ts +2 -0
  69. package/dist/_pkg/boundwitness-builder/neutral/combinationsByBoundwitness.d.ts +10 -0
  70. package/dist/_pkg/boundwitness-builder/neutral/index.d.ts +5 -0
  71. package/dist/_pkg/boundwitness-builder/neutral/index.mjs +311 -0
  72. package/dist/_pkg/boundwitness-builder/neutral/intraBoundwitnessSchemaCombinations.d.ts +11 -0
  73. package/dist/_pkg/boundwitness-builder/neutral/uniqueAccounts.d.ts +3 -0
  74. package/dist/_pkg/boundwitness-builder/neutral/uniqueAddresses.d.ts +3 -0
  75. package/dist/_pkg/boundwitness-model/neutral/BoundWitness/BoundWitness.d.ts +173 -0
  76. package/dist/_pkg/boundwitness-model/neutral/BoundWitness/BoundWitnessJsonSchema.d.ts +37 -0
  77. package/dist/_pkg/boundwitness-model/neutral/BoundWitness/BoundWitnessSchema.d.ts +5 -0
  78. package/dist/_pkg/boundwitness-model/neutral/BoundWitness/HydratedBoundWitness.d.ts +72 -0
  79. package/dist/_pkg/boundwitness-model/neutral/BoundWitness/Signatures.d.ts +14 -0
  80. package/dist/_pkg/boundwitness-model/neutral/BoundWitness/SignedBoundWitness.d.ts +44 -0
  81. package/dist/_pkg/boundwitness-model/neutral/BoundWitness/UnsignedBoundWitness.d.ts +44 -0
  82. package/dist/_pkg/boundwitness-model/neutral/BoundWitness/index.d.ts +8 -0
  83. package/dist/_pkg/boundwitness-model/neutral/QueryBoundWitness.d.ts +150 -0
  84. package/dist/_pkg/boundwitness-model/neutral/index.d.ts +3 -0
  85. package/dist/_pkg/boundwitness-model/neutral/index.mjs +131 -0
  86. package/dist/_pkg/boundwitness-validator/neutral/Validator.d.ts +17 -0
  87. package/dist/_pkg/boundwitness-validator/neutral/index.d.ts +3 -0
  88. package/dist/_pkg/boundwitness-validator/neutral/index.mjs +177 -0
  89. package/dist/_pkg/boundwitness-validator/neutral/lib/addresses/addressesContains.d.ts +10 -0
  90. package/dist/_pkg/boundwitness-validator/neutral/lib/addresses/addressesContainsAll.d.ts +10 -0
  91. package/dist/_pkg/boundwitness-validator/neutral/lib/addresses/addressesContainsAny.d.ts +12 -0
  92. package/dist/_pkg/boundwitness-validator/neutral/lib/addresses/index.d.ts +4 -0
  93. package/dist/_pkg/boundwitness-validator/neutral/lib/index.d.ts +4 -0
  94. package/dist/_pkg/boundwitness-validator/neutral/lib/payloadHashes/index.d.ts +4 -0
  95. package/dist/_pkg/boundwitness-validator/neutral/lib/payloadHashes/payloadHashesContains.d.ts +10 -0
  96. package/dist/_pkg/boundwitness-validator/neutral/lib/payloadHashes/payloadHashesContainsAll.d.ts +10 -0
  97. package/dist/_pkg/boundwitness-validator/neutral/lib/payloadHashes/payloadHashesContainsAny.d.ts +12 -0
  98. package/dist/_pkg/boundwitness-validator/neutral/lib/payloadSchemas/index.d.ts +4 -0
  99. package/dist/_pkg/boundwitness-validator/neutral/lib/payloadSchemas/payloadSchemasContains.d.ts +10 -0
  100. package/dist/_pkg/boundwitness-validator/neutral/lib/payloadSchemas/payloadSchemasContainsAll.d.ts +10 -0
  101. package/dist/_pkg/boundwitness-validator/neutral/lib/payloadSchemas/payloadSchemasContainsAny.d.ts +12 -0
  102. package/dist/_pkg/boundwitness-validator/neutral/lib/util/BoundWitnessArrayProperty.d.ts +10 -0
  103. package/dist/_pkg/boundwitness-validator/neutral/lib/util/boundWitnessArrayPropertyContains.d.ts +11 -0
  104. package/dist/_pkg/boundwitness-validator/neutral/lib/util/boundWitnessArrayPropertyContainsAll.d.ts +11 -0
  105. package/dist/_pkg/boundwitness-validator/neutral/lib/util/boundWitnessArrayPropertyContainsAny.d.ts +13 -0
  106. package/dist/_pkg/boundwitness-validator/neutral/lib/util/index.d.ts +4 -0
  107. package/dist/_pkg/boundwitness-wrapper/neutral/BoundWitnessWrapper.d.ts +60 -0
  108. package/dist/_pkg/boundwitness-wrapper/neutral/QueryBoundWitnessWrapper.d.ts +14 -0
  109. package/dist/_pkg/boundwitness-wrapper/neutral/SchemaType.d.ts +6 -0
  110. package/dist/_pkg/boundwitness-wrapper/neutral/index.d.ts +4 -0
  111. package/dist/_pkg/boundwitness-wrapper/neutral/index.mjs +281 -0
  112. package/dist/_pkg/config-payload-plugin/neutral/Payload.d.ts +44 -0
  113. package/dist/_pkg/config-payload-plugin/neutral/Plugin.d.ts +7 -0
  114. package/dist/_pkg/config-payload-plugin/neutral/Schema.d.ts +5 -0
  115. package/dist/_pkg/config-payload-plugin/neutral/Template.d.ts +3 -0
  116. package/dist/_pkg/config-payload-plugin/neutral/index.d.ts +5 -0
  117. package/dist/_pkg/config-payload-plugin/neutral/index.mjs +44 -0
  118. package/dist/_pkg/core/neutral/index.d.ts +6 -0
  119. package/dist/_pkg/core/neutral/index.mjs +7 -0
  120. package/dist/_pkg/core-payload-plugins/neutral/index.d.ts +11 -0
  121. package/dist/_pkg/core-payload-plugins/neutral/index.mjs +26 -0
  122. package/dist/_pkg/crypto/neutral/account-model.d.ts +2 -0
  123. package/dist/_pkg/crypto/neutral/account-model.mjs +3 -0
  124. package/dist/_pkg/crypto/neutral/account.d.ts +2 -0
  125. package/dist/_pkg/crypto/neutral/account.mjs +3 -0
  126. package/dist/_pkg/crypto/neutral/index.d.ts +10 -0
  127. package/dist/_pkg/crypto/neutral/index.mjs +11 -0
  128. package/dist/_pkg/crypto/neutral/key-model.d.ts +2 -0
  129. package/dist/_pkg/crypto/neutral/key-model.mjs +3 -0
  130. package/dist/_pkg/crypto/neutral/wallet-model.d.ts +2 -0
  131. package/dist/_pkg/crypto/neutral/wallet-model.mjs +3 -0
  132. package/dist/_pkg/crypto/neutral/wallet.d.ts +2 -0
  133. package/dist/_pkg/crypto/neutral/wallet.mjs +3 -0
  134. package/dist/_pkg/data/neutral/AbstractData.d.ts +16 -0
  135. package/dist/_pkg/data/neutral/Data.d.ts +13 -0
  136. package/dist/_pkg/data/neutral/index.d.ts +3 -0
  137. package/dist/_pkg/data/neutral/index.mjs +53 -0
  138. package/dist/_pkg/dns/neutral/DnsRecordType.d.ts +16 -0
  139. package/dist/_pkg/dns/neutral/DnsReturnCode.d.ts +14 -0
  140. package/dist/_pkg/dns/neutral/GoogleDnsResult.d.ts +17 -0
  141. package/dist/_pkg/dns/neutral/GoogleDnsResultAnswer.d.ts +8 -0
  142. package/dist/_pkg/dns/neutral/GoogleDnsResultQuestion.d.ts +11 -0
  143. package/dist/_pkg/dns/neutral/domainExists.d.ts +8 -0
  144. package/dist/_pkg/dns/neutral/domainResolve.d.ts +9 -0
  145. package/dist/_pkg/dns/neutral/googleDnsOverHttps.d.ts +5 -0
  146. package/dist/_pkg/dns/neutral/index.d.ts +9 -0
  147. package/dist/_pkg/dns/neutral/index.mjs +61 -0
  148. package/dist/_pkg/domain-payload-plugin/neutral/DomainConfigPayload.d.ts +219 -0
  149. package/dist/_pkg/domain-payload-plugin/neutral/DomainConfigPlugin.d.ts +33 -0
  150. package/dist/_pkg/domain-payload-plugin/neutral/DomainConfigSchema.d.ts +5 -0
  151. package/dist/_pkg/domain-payload-plugin/neutral/DomainConfigTemplate.d.ts +3 -0
  152. package/dist/_pkg/domain-payload-plugin/neutral/Payload.d.ts +282 -0
  153. package/dist/_pkg/domain-payload-plugin/neutral/Plugin.d.ts +33 -0
  154. package/dist/_pkg/domain-payload-plugin/neutral/Resolution/DomainSchemaResolver.d.ts +45 -0
  155. package/dist/_pkg/domain-payload-plugin/neutral/Resolution/SchemaResolution.d.ts +27 -0
  156. package/dist/_pkg/domain-payload-plugin/neutral/Resolution/XyoDnsRecords.d.ts +27 -0
  157. package/dist/_pkg/domain-payload-plugin/neutral/Resolution/index.d.ts +4 -0
  158. package/dist/_pkg/domain-payload-plugin/neutral/Schema.d.ts +5 -0
  159. package/dist/_pkg/domain-payload-plugin/neutral/Template.d.ts +3 -0
  160. package/dist/_pkg/domain-payload-plugin/neutral/Wrapper.d.ts +278 -0
  161. package/dist/_pkg/domain-payload-plugin/neutral/index.d.ts +11 -0
  162. package/dist/_pkg/domain-payload-plugin/neutral/index.mjs +485 -0
  163. package/dist/_pkg/elliptic/neutral/Elliptic.d.ts +15 -0
  164. package/dist/_pkg/elliptic/neutral/index.d.ts +2 -0
  165. package/dist/_pkg/elliptic/neutral/index.mjs +89 -0
  166. package/dist/_pkg/hash/browser/BrowserObjectHasher.d.ts +9 -0
  167. package/dist/_pkg/hash/browser/NodeObjectHasher.d.ts +6 -0
  168. package/dist/_pkg/hash/browser/ObjectHasher.d.ts +69 -0
  169. package/dist/_pkg/hash/browser/createBrowserWorker.d.ts +3 -0
  170. package/dist/_pkg/hash/browser/createNodeWorker.d.ts +3 -0
  171. package/dist/_pkg/hash/browser/hasEmptyFields.d.ts +3 -0
  172. package/dist/_pkg/hash/browser/index-browser.d.ts +4 -0
  173. package/dist/_pkg/hash/browser/index-browser.mjs +289 -0
  174. package/dist/_pkg/hash/browser/index.d.ts +5 -0
  175. package/dist/_pkg/hash/browser/removeEmptyFields.d.ts +3 -0
  176. package/dist/_pkg/hash/browser/sortFields.d.ts +3 -0
  177. package/dist/_pkg/hash/browser/worker/index.d.ts +3 -0
  178. package/dist/_pkg/hash/browser/worker/subtleHash-bundle.mjs +257 -0
  179. package/dist/_pkg/hash/browser/worker/subtleHash.d.ts +2 -0
  180. package/dist/_pkg/hash/browser/worker/subtleHashNode.d.ts +2 -0
  181. package/dist/_pkg/hash/browser/worker/wasmHash-bundle.mjs +1678 -0
  182. package/dist/_pkg/hash/browser/worker/wasmHash.d.ts +2 -0
  183. package/dist/_pkg/hash/browser/worker/wasmHashNode.d.ts +2 -0
  184. package/dist/_pkg/hash/neutral/BrowserObjectHasher.d.ts +9 -0
  185. package/dist/_pkg/hash/neutral/NodeObjectHasher.d.ts +6 -0
  186. package/dist/_pkg/hash/neutral/ObjectHasher.d.ts +69 -0
  187. package/dist/_pkg/hash/neutral/createBrowserWorker.d.ts +3 -0
  188. package/dist/_pkg/hash/neutral/createNodeWorker.d.ts +3 -0
  189. package/dist/_pkg/hash/neutral/hasEmptyFields.d.ts +3 -0
  190. package/dist/_pkg/hash/neutral/index-browser.d.ts +4 -0
  191. package/dist/_pkg/hash/neutral/index-browser.mjs +289 -0
  192. package/dist/_pkg/hash/neutral/index.d.ts +5 -0
  193. package/dist/_pkg/hash/neutral/removeEmptyFields.d.ts +3 -0
  194. package/dist/_pkg/hash/neutral/sortFields.d.ts +3 -0
  195. package/dist/_pkg/hash/neutral/worker/index.d.ts +3 -0
  196. package/dist/_pkg/hash/neutral/worker/subtleHash.d.ts +2 -0
  197. package/dist/_pkg/hash/neutral/worker/subtleHashNode.d.ts +2 -0
  198. package/dist/_pkg/hash/neutral/worker/wasmHash.d.ts +2 -0
  199. package/dist/_pkg/hash/neutral/worker/wasmHashNode.d.ts +2 -0
  200. package/dist/_pkg/hash/node/BrowserObjectHasher.d.ts +9 -0
  201. package/dist/_pkg/hash/node/NodeObjectHasher.d.ts +6 -0
  202. package/dist/_pkg/hash/node/ObjectHasher.d.ts +69 -0
  203. package/dist/_pkg/hash/node/createBrowserWorker.d.ts +3 -0
  204. package/dist/_pkg/hash/node/createNodeWorker.d.ts +3 -0
  205. package/dist/_pkg/hash/node/hasEmptyFields.d.ts +3 -0
  206. package/dist/_pkg/hash/node/index-browser.d.ts +4 -0
  207. package/dist/_pkg/hash/node/index.d.ts +5 -0
  208. package/dist/_pkg/hash/node/index.mjs +279 -0
  209. package/dist/_pkg/hash/node/removeEmptyFields.d.ts +3 -0
  210. package/dist/_pkg/hash/node/sortFields.d.ts +3 -0
  211. package/dist/_pkg/hash/node/worker/index.d.ts +3 -0
  212. package/dist/_pkg/hash/node/worker/subtleHash.d.ts +2 -0
  213. package/dist/_pkg/hash/node/worker/subtleHashNode.d.ts +2 -0
  214. package/dist/_pkg/hash/node/worker/wasmHash.d.ts +2 -0
  215. package/dist/_pkg/hash/node/worker/wasmHashNode.d.ts +2 -0
  216. package/dist/_pkg/huri/neutral/Huri.d.ts +33 -0
  217. package/dist/_pkg/huri/neutral/index.d.ts +2 -0
  218. package/dist/_pkg/huri/neutral/index.mjs +118 -0
  219. package/dist/_pkg/id-payload-plugin/neutral/Payload.d.ts +86 -0
  220. package/dist/_pkg/id-payload-plugin/neutral/Plugin.d.ts +7 -0
  221. package/dist/_pkg/id-payload-plugin/neutral/Schema.d.ts +5 -0
  222. package/dist/_pkg/id-payload-plugin/neutral/Template.d.ts +3 -0
  223. package/dist/_pkg/id-payload-plugin/neutral/index.d.ts +5 -0
  224. package/dist/_pkg/id-payload-plugin/neutral/index.mjs +48 -0
  225. package/dist/_pkg/key-model/neutral/Key/AddressValue.d.ts +10 -0
  226. package/dist/_pkg/key-model/neutral/Key/EllipticKey.d.ts +4 -0
  227. package/dist/_pkg/key-model/neutral/Key/PrivateKey.d.ts +15 -0
  228. package/dist/_pkg/key-model/neutral/Key/PublicKey.d.ts +11 -0
  229. package/dist/_pkg/key-model/neutral/Key/index.d.ts +4 -0
  230. package/dist/_pkg/key-model/neutral/index.d.ts +2 -0
  231. package/dist/_pkg/key-model/neutral/index.mjs +1 -0
  232. package/dist/_pkg/manifest/neutral/index.d.ts +2 -0
  233. package/dist/_pkg/manifest/neutral/index.mjs +3 -0
  234. package/dist/_pkg/manifest-model/neutral/Manifest.d.ts +4 -0
  235. package/dist/_pkg/manifest-model/neutral/Manifest.zod.d.ts +2619 -0
  236. package/dist/_pkg/manifest-model/neutral/Payload.d.ts +2 -0
  237. package/dist/_pkg/manifest-model/neutral/Payload.zod.d.ts +1591 -0
  238. package/dist/_pkg/manifest-model/neutral/index.d.ts +3 -0
  239. package/dist/_pkg/manifest-model/neutral/index.mjs +193 -0
  240. package/dist/_pkg/metamask-connector/browser/MetaMaskConnector.d.ts +38 -0
  241. package/dist/_pkg/metamask-connector/browser/index.d.ts +2 -0
  242. package/dist/_pkg/metamask-connector/browser/index.mjs +114 -0
  243. package/dist/_pkg/network/neutral/NetworkNodePayload.d.ts +79 -0
  244. package/dist/_pkg/network/neutral/NetworkNodePayloadWrapper.d.ts +17 -0
  245. package/dist/_pkg/network/neutral/NetworkPayload.d.ts +119 -0
  246. package/dist/_pkg/network/neutral/NetworkPayloadWrapper.d.ts +63 -0
  247. package/dist/_pkg/network/neutral/index.d.ts +8 -0
  248. package/dist/_pkg/network/neutral/index.mjs +211 -0
  249. package/dist/_pkg/network/neutral/knownArchivists.d.ts +3 -0
  250. package/dist/_pkg/network/neutral/knownDiviners.d.ts +3 -0
  251. package/dist/_pkg/network/neutral/knownNetworks.d.ts +3 -0
  252. package/dist/_pkg/payload/neutral/builder.d.ts +2 -0
  253. package/dist/_pkg/payload/neutral/builder.mjs +3 -0
  254. package/dist/_pkg/payload/neutral/index.d.ts +6 -0
  255. package/dist/_pkg/payload/neutral/index.mjs +7 -0
  256. package/dist/_pkg/payload/neutral/model.d.ts +2 -0
  257. package/dist/_pkg/payload/neutral/model.mjs +3 -0
  258. package/dist/_pkg/payload/neutral/validator.d.ts +2 -0
  259. package/dist/_pkg/payload/neutral/validator.mjs +3 -0
  260. package/dist/_pkg/payload/neutral/wrapper.d.ts +2 -0
  261. package/dist/_pkg/payload/neutral/wrapper.mjs +3 -0
  262. package/dist/_pkg/payload-builder/neutral/Builder.d.ts +70 -0
  263. package/dist/_pkg/payload-builder/neutral/Options.d.ts +7 -0
  264. package/dist/_pkg/payload-builder/neutral/index.d.ts +3 -0
  265. package/dist/_pkg/payload-builder/neutral/index.mjs +218 -0
  266. package/dist/_pkg/payload-model/neutral/Error.d.ts +65 -0
  267. package/dist/_pkg/payload-model/neutral/Payload.d.ts +35 -0
  268. package/dist/_pkg/payload-model/neutral/PayloadBundle.d.ts +72 -0
  269. package/dist/_pkg/payload-model/neutral/PayloadFindFilter.d.ts +6 -0
  270. package/dist/_pkg/payload-model/neutral/PayloadHashMap.d.ts +7 -0
  271. package/dist/_pkg/payload-model/neutral/PayloadSet/PayloadSetPayload.d.ts +54 -0
  272. package/dist/_pkg/payload-model/neutral/PayloadSet/PayloadSetSchema.d.ts +5 -0
  273. package/dist/_pkg/payload-model/neutral/PayloadSet/index.d.ts +3 -0
  274. package/dist/_pkg/payload-model/neutral/PayloadValidationFunction.d.ts +14 -0
  275. package/dist/_pkg/payload-model/neutral/PayloadValueExpression.d.ts +38 -0
  276. package/dist/_pkg/payload-model/neutral/PayloadZod.d.ts +173 -0
  277. package/dist/_pkg/payload-model/neutral/Query.d.ts +21 -0
  278. package/dist/_pkg/payload-model/neutral/Schema.d.ts +38 -0
  279. package/dist/_pkg/payload-model/neutral/StorageMeta/DataHash.d.ts +24 -0
  280. package/dist/_pkg/payload-model/neutral/StorageMeta/Hash.d.ts +25 -0
  281. package/dist/_pkg/payload-model/neutral/StorageMeta/Sequence.d.ts +11 -0
  282. package/dist/_pkg/payload-model/neutral/StorageMeta/index.d.ts +3 -0
  283. package/dist/_pkg/payload-model/neutral/StorageMeta/sequence/Comparer.d.ts +7 -0
  284. package/dist/_pkg/payload-model/neutral/StorageMeta/sequence/Parser.d.ts +31 -0
  285. package/dist/_pkg/payload-model/neutral/StorageMeta/sequence/Sequence.d.ts +80 -0
  286. package/dist/_pkg/payload-model/neutral/StorageMeta/sequence/SequenceZod.d.ts +9 -0
  287. package/dist/_pkg/payload-model/neutral/StorageMeta/sequence/index.d.ts +5 -0
  288. package/dist/_pkg/payload-model/neutral/Timestamp.d.ts +8 -0
  289. package/dist/_pkg/payload-model/neutral/index.d.ts +16 -0
  290. package/dist/_pkg/payload-model/neutral/index.mjs +452 -0
  291. package/dist/_pkg/payload-model/neutral/isPayloadOfSchemaType.d.ts +5 -0
  292. package/dist/_pkg/payload-model/neutral/isPayloadOfZodType.d.ts +12 -0
  293. package/dist/_pkg/payload-plugin/neutral/Plugin.d.ts +19 -0
  294. package/dist/_pkg/payload-plugin/neutral/Resolver.d.ts +26 -0
  295. package/dist/_pkg/payload-plugin/neutral/createPlugin.d.ts +5 -0
  296. package/dist/_pkg/payload-plugin/neutral/index.d.ts +4 -0
  297. package/dist/_pkg/payload-plugin/neutral/index.mjs +67 -0
  298. package/dist/_pkg/payload-validator/neutral/Validator.d.ts +18 -0
  299. package/dist/_pkg/payload-validator/neutral/index.d.ts +2 -0
  300. package/dist/_pkg/payload-validator/neutral/index.mjs +40 -0
  301. package/dist/_pkg/payload-wrapper/neutral/PayloadDataWrapper.d.ts +18 -0
  302. package/dist/_pkg/payload-wrapper/neutral/PayloadWrapper.d.ts +6 -0
  303. package/dist/_pkg/payload-wrapper/neutral/PayloadWrapperBase.d.ts +23 -0
  304. package/dist/_pkg/payload-wrapper/neutral/SchemaType.d.ts +6 -0
  305. package/dist/_pkg/payload-wrapper/neutral/index.d.ts +4 -0
  306. package/dist/_pkg/payload-wrapper/neutral/index.mjs +157 -0
  307. package/dist/_pkg/pqc/neutral/MlDsa.d.ts +20 -0
  308. package/dist/_pkg/pqc/neutral/index.d.ts +2 -0
  309. package/dist/_pkg/pqc/neutral/index.mjs +47 -0
  310. package/dist/_pkg/previous-hash-store/neutral/index.d.ts +4 -0
  311. package/dist/_pkg/previous-hash-store/neutral/index.mjs +5 -0
  312. package/dist/_pkg/previous-hash-store-indexeddb/neutral/IndexedDbPreviousHashStore.d.ts +27 -0
  313. package/dist/_pkg/previous-hash-store-indexeddb/neutral/index.d.ts +2 -0
  314. package/dist/_pkg/previous-hash-store-indexeddb/neutral/index.mjs +42 -0
  315. package/dist/_pkg/previous-hash-store-model/neutral/PreviousHashStore.d.ts +8 -0
  316. package/dist/_pkg/previous-hash-store-model/neutral/index.d.ts +2 -0
  317. package/dist/_pkg/previous-hash-store-model/neutral/index.mjs +1 -0
  318. package/dist/_pkg/previous-hash-store-storage/neutral/NamespacedStorage.d.ts +10 -0
  319. package/dist/_pkg/previous-hash-store-storage/neutral/StoragePreviousHashStore.d.ts +24 -0
  320. package/dist/_pkg/previous-hash-store-storage/neutral/index.d.ts +3 -0
  321. package/dist/_pkg/previous-hash-store-storage/neutral/index.mjs +104 -0
  322. package/dist/_pkg/protocol/neutral/index.d.ts +5 -0
  323. package/dist/_pkg/protocol/neutral/index.mjs +6 -0
  324. package/dist/_pkg/quadkey/neutral/Quadkey.d.ts +65 -0
  325. package/dist/_pkg/quadkey/neutral/RelativeDirectionConstantLookup.d.ts +2 -0
  326. package/dist/_pkg/quadkey/neutral/index.d.ts +2 -0
  327. package/dist/_pkg/quadkey/neutral/index.mjs +281 -0
  328. package/dist/_pkg/quant-account/neutral/QuantAccount.d.ts +34 -0
  329. package/dist/_pkg/quant-account/neutral/index.d.ts +3 -0
  330. package/dist/_pkg/quant-account/neutral/index.mjs +173 -0
  331. package/dist/_pkg/quant-account/neutral/register.d.ts +2 -0
  332. package/dist/_pkg/query-payload-plugin/neutral/Payload.d.ts +43 -0
  333. package/dist/_pkg/query-payload-plugin/neutral/Plugin.d.ts +7 -0
  334. package/dist/_pkg/query-payload-plugin/neutral/Schema.d.ts +5 -0
  335. package/dist/_pkg/query-payload-plugin/neutral/Template.d.ts +3 -0
  336. package/dist/_pkg/query-payload-plugin/neutral/index.d.ts +5 -0
  337. package/dist/_pkg/query-payload-plugin/neutral/index.mjs +44 -0
  338. package/dist/_pkg/schema-cache/neutral/Debounce.d.ts +5 -0
  339. package/dist/_pkg/schema-cache/neutral/SchemaCache.d.ts +43 -0
  340. package/dist/_pkg/schema-cache/neutral/SchemaNameToValidatorMap.d.ts +12 -0
  341. package/dist/_pkg/schema-cache/neutral/TtlLruCache.d.ts +13 -0
  342. package/dist/_pkg/schema-cache/neutral/index.d.ts +5 -0
  343. package/dist/_pkg/schema-cache/neutral/index.mjs +178 -0
  344. package/dist/_pkg/schema-name-validator/neutral/SchemaNameValidator.d.ts +43 -0
  345. package/dist/_pkg/schema-name-validator/neutral/index.d.ts +2 -0
  346. package/dist/_pkg/schema-name-validator/neutral/index.mjs +69 -0
  347. package/dist/_pkg/schema-payload-plugin/neutral/Payload.d.ts +96 -0
  348. package/dist/_pkg/schema-payload-plugin/neutral/Plugin.d.ts +13 -0
  349. package/dist/_pkg/schema-payload-plugin/neutral/Schema.d.ts +5 -0
  350. package/dist/_pkg/schema-payload-plugin/neutral/Template.d.ts +3 -0
  351. package/dist/_pkg/schema-payload-plugin/neutral/index.d.ts +5 -0
  352. package/dist/_pkg/schema-payload-plugin/neutral/index.mjs +60 -0
  353. package/dist/_pkg/sdk-utils/neutral/api.d.ts +5 -0
  354. package/dist/_pkg/sdk-utils/neutral/api.mjs +6 -0
  355. package/dist/_pkg/sdk-utils/neutral/index.d.ts +9 -0
  356. package/dist/_pkg/sdk-utils/neutral/index.mjs +10 -0
  357. package/dist/_pkg/sdk-utils/neutral/integrations.d.ts +3 -0
  358. package/dist/_pkg/sdk-utils/neutral/integrations.mjs +4 -0
  359. package/dist/_pkg/sdk-utils/neutral/plugins.d.ts +2 -0
  360. package/dist/_pkg/sdk-utils/neutral/plugins.mjs +3 -0
  361. package/dist/_pkg/sdk-utils/neutral/validation.d.ts +2 -0
  362. package/dist/_pkg/sdk-utils/neutral/validation.mjs +3 -0
  363. package/dist/_pkg/value-payload-plugin/neutral/Payload.d.ts +46 -0
  364. package/dist/_pkg/value-payload-plugin/neutral/Plugin.d.ts +3 -0
  365. package/dist/_pkg/value-payload-plugin/neutral/Schema.d.ts +5 -0
  366. package/dist/_pkg/value-payload-plugin/neutral/Template.d.ts +3 -0
  367. package/dist/_pkg/value-payload-plugin/neutral/index.d.ts +5 -0
  368. package/dist/_pkg/value-payload-plugin/neutral/index.mjs +44 -0
  369. package/dist/_pkg/wallet/neutral/HDWallet.d.ts +38 -0
  370. package/dist/_pkg/wallet/neutral/index.d.ts +2 -0
  371. package/dist/_pkg/wallet/neutral/index.mjs +157 -0
  372. package/dist/_pkg/wallet-model/neutral/Mnemonic.d.ts +27 -0
  373. package/dist/_pkg/wallet-model/neutral/Wallet.d.ts +26 -0
  374. package/dist/_pkg/wallet-model/neutral/Wordlist.d.ts +24 -0
  375. package/dist/_pkg/wallet-model/neutral/index.d.ts +2 -0
  376. package/dist/_pkg/wallet-model/neutral/index.mjs +1 -0
  377. package/dist/_pkg/wasm/neutral/WasmSupport.d.ts +110 -0
  378. package/dist/_pkg/wasm/neutral/index.d.ts +2 -0
  379. package/dist/_pkg/wasm/neutral/index.mjs +178 -0
  380. package/dist/_pkg/wasm/neutral/wasmFeatureDetect.d.ts +16 -0
  381. package/dist/neutral/core-payload-plugins.d.ts +1 -0
  382. package/dist/neutral/core-payload-plugins.mjs +1 -0
  383. package/dist/neutral/index.d.ts +4 -0
  384. package/dist/neutral/index.mjs +4 -0
  385. package/dist/neutral/manifest.d.ts +1 -0
  386. package/dist/neutral/manifest.mjs +1 -0
  387. package/dist/neutral/protocol.d.ts +1 -0
  388. package/dist/neutral/protocol.mjs +1 -0
  389. package/dist/neutral/sdk-utils.d.ts +1 -0
  390. package/dist/neutral/sdk-utils.mjs +1 -0
  391. package/package.json +113 -0
@@ -0,0 +1,547 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
+ var __decorateClass = (decorators, target, key, kind) => {
5
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
6
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
7
+ if (decorator = decorators[i])
8
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
9
+ if (kind && result) __defProp(target, key, result);
10
+ return result;
11
+ };
12
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
13
+
14
+ // src/register.ts
15
+ import { addressTo20Bytes, registerVerifier } from "../../account-model/neutral/index.mjs";
16
+ import { Elliptic } from "../../elliptic/neutral/index.mjs";
17
+ registerVerifier("secp256k1", async (address, hash, signature) => {
18
+ await Elliptic.initialize();
19
+ return await Elliptic.verify(hash, signature, addressTo20Bytes(address));
20
+ });
21
+
22
+ // src/Account.ts
23
+ import {
24
+ asAddress,
25
+ asHash,
26
+ assertEx as assertEx3,
27
+ globallyUnique,
28
+ isDefined as isDefined2,
29
+ isHash,
30
+ isString,
31
+ staticImplements as staticImplements4,
32
+ toArrayBuffer as toArrayBuffer3,
33
+ toHex as toHex3,
34
+ toUint8Array as toUint8Array3
35
+ } from "@xylabs/sdk";
36
+ import {
37
+ isMnemonicInitializationConfig,
38
+ isPhraseInitializationConfig,
39
+ isPrivateKeyInitializationConfig
40
+ } from "../../account-model/neutral/index.mjs";
41
+ import { Elliptic as Elliptic5 } from "../../elliptic/neutral/index.mjs";
42
+ import { Mutex } from "async-mutex";
43
+ import {
44
+ HDNodeWallet,
45
+ Mnemonic,
46
+ randomBytes
47
+ } from "ethers";
48
+
49
+ // src/Jwt/createJwt.ts
50
+ import { toHex } from "@xylabs/sdk";
51
+ import {
52
+ JwtAlg,
53
+ JwtSchema,
54
+ JwtTyp
55
+ } from "../../account-model/neutral/index.mjs";
56
+
57
+ // src/Jwt/base64url.ts
58
+ import { base64urlnopad } from "@scure/base";
59
+ function base64urlEncode(bytes) {
60
+ return base64urlnopad.encode(bytes);
61
+ }
62
+ function base64urlDecode(value) {
63
+ return base64urlnopad.decode(value);
64
+ }
65
+ function base64urlEncodeJson(value) {
66
+ const encoder = new TextEncoder();
67
+ return base64urlEncode(encoder.encode(JSON.stringify(value)));
68
+ }
69
+ function base64urlDecodeJson(value) {
70
+ const decoder = new TextDecoder();
71
+ return JSON.parse(decoder.decode(base64urlDecode(value)));
72
+ }
73
+
74
+ // src/Jwt/digest.ts
75
+ import { toUint8Array } from "@xylabs/sdk";
76
+ import { sha256 } from "ethers";
77
+ function sha256Bytes(input) {
78
+ return toUint8Array(sha256(input));
79
+ }
80
+ function stripHexPrefix(value) {
81
+ return value.startsWith("0x") ? value.slice(2) : value;
82
+ }
83
+ function normalizeAddress(value) {
84
+ return stripHexPrefix(value).toLowerCase();
85
+ }
86
+
87
+ // src/Jwt/createJwt.ts
88
+ function publicKeyHex(account) {
89
+ const publicKey = account.public;
90
+ if (!publicKey) throw new Error("Account is missing public key");
91
+ return toHex(publicKey.bytes, { prefix: false });
92
+ }
93
+ async function createJwt(account, options) {
94
+ if (!options.audience || options.audience.length === 0) {
95
+ throw new Error("audience is required");
96
+ }
97
+ if (options.ttl !== void 0 && options.exp !== void 0) {
98
+ throw new Error("Specify only one of ttl or exp");
99
+ }
100
+ const now = options.now ?? Math.floor(Date.now() / 1e3);
101
+ const ttl = options.ttl ?? 3600;
102
+ const exp = options.exp ?? now + ttl;
103
+ if (exp <= now) throw new Error(`exp (${exp}) must be greater than now (${now})`);
104
+ const merged = { ...options.claims };
105
+ const schemaValue = options.schema ?? (typeof merged.schema === "string" ? merged.schema : JwtSchema.Signin);
106
+ delete merged.schema;
107
+ const iss = normalizeAddress(String(account.address));
108
+ const payload = {
109
+ ...merged,
110
+ schema: schemaValue,
111
+ iss,
112
+ aud: options.audience,
113
+ iat: now,
114
+ exp
115
+ };
116
+ const header = {
117
+ alg: JwtAlg.ES256K,
118
+ typ: JwtTyp.JWT,
119
+ kid: iss,
120
+ pub: publicKeyHex(account)
121
+ };
122
+ const headerB64 = base64urlEncodeJson(header);
123
+ const payloadB64 = base64urlEncodeJson(payload);
124
+ const encoder = new TextEncoder();
125
+ const signingInput = encoder.encode(`${headerB64}.${payloadB64}`);
126
+ const digest = sha256Bytes(signingInput);
127
+ const digestBuffer = digest.buffer.slice(digest.byteOffset, digest.byteOffset + digest.byteLength);
128
+ const [sigBuffer] = await account.sign(digestBuffer);
129
+ const signature = new Uint8Array(sigBuffer);
130
+ const signatureB64 = base64urlEncode(signature);
131
+ const token = `${headerB64}.${payloadB64}.${signatureB64}`;
132
+ return {
133
+ token,
134
+ header,
135
+ payload
136
+ };
137
+ }
138
+
139
+ // src/Jwt/decodeJwt.ts
140
+ function decodeJwt(token) {
141
+ const parts = token.trim().split(".");
142
+ if (parts.length !== 3) {
143
+ throw new Error(`Malformed JWT: expected 3 segments, got ${parts.length}`);
144
+ }
145
+ const [headerB64, payloadB64, signatureB64] = parts;
146
+ const header = base64urlDecodeJson(headerB64);
147
+ const payload = base64urlDecodeJson(payloadB64);
148
+ const signature = base64urlDecode(signatureB64);
149
+ return {
150
+ header,
151
+ payload,
152
+ signature,
153
+ headerB64,
154
+ payloadB64,
155
+ signatureB64
156
+ };
157
+ }
158
+
159
+ // src/Jwt/verifyJwt.ts
160
+ import { toHex as toHex2, toUint8Array as toUint8Array2 } from "@xylabs/sdk";
161
+ import { JwtAlg as JwtAlg2, JwtTyp as JwtTyp2 } from "../../account-model/neutral/index.mjs";
162
+
163
+ // src/Key/PublicKey.ts
164
+ import {
165
+ assertEx,
166
+ staticImplements as staticImplements2,
167
+ toArrayBuffer
168
+ } from "@xylabs/sdk";
169
+ import { Elliptic as Elliptic3 } from "../../elliptic/neutral/index.mjs";
170
+
171
+ // src/Key/AddressValue.ts
172
+ import { isDefined, staticImplements } from "@xylabs/sdk";
173
+ import { Data as Data2 } from "../../data/neutral/index.mjs";
174
+ import { Elliptic as Elliptic2 } from "../../elliptic/neutral/index.mjs";
175
+
176
+ // src/Key/EllipticKey.ts
177
+ import { Data } from "../../data/neutral/index.mjs";
178
+ var EllipticKey = class extends Data {
179
+ // we do this to allow node to import without problem
180
+ };
181
+
182
+ // src/Key/AddressValue.ts
183
+ var AddressValue = class extends EllipticKey {
184
+ _isAddress = true;
185
+ constructor(address) {
186
+ super(20, AddressValue.addressFromAddressOrPublicKey(address));
187
+ }
188
+ static addressFromAddressOrPublicKey(bytes) {
189
+ return bytes.byteLength === 20 ? bytes : this.addressFromPublicKey(bytes);
190
+ }
191
+ static addressFromPublicKey(key) {
192
+ const data = new Data2(64, key);
193
+ return data.keccak256.slice(12);
194
+ }
195
+ static async initialize() {
196
+ return isDefined(await Elliptic2.secp256k1());
197
+ }
198
+ static isAddress(value) {
199
+ return value._isAddress;
200
+ }
201
+ };
202
+ AddressValue = __decorateClass([
203
+ staticImplements()
204
+ ], AddressValue);
205
+
206
+ // src/Key/PublicKey.ts
207
+ var PublicKey = class extends EllipticKey {
208
+ _address;
209
+ _isPublicKey = true;
210
+ constructor(privateConstructorKey, bytes) {
211
+ assertEx(PublicKey.privateConstructorKey === privateConstructorKey, () => "Use create function instead of constructor");
212
+ super(64, bytes);
213
+ const address = Elliptic3.addressFromPublicKey(bytes);
214
+ const addressValue = new AddressValue(address);
215
+ this._address = addressValue;
216
+ }
217
+ static async create(bytes) {
218
+ return await Promise.resolve(new PublicKey(this.privateConstructorKey, bytes));
219
+ }
220
+ static async fromPrivate(bytes) {
221
+ const publicKey = await Elliptic3.publicKeyFromPrivateKey(toArrayBuffer(bytes));
222
+ return new PublicKey(this.privateConstructorKey, publicKey);
223
+ }
224
+ static isPublicKey(value) {
225
+ return value._isPublicKey;
226
+ }
227
+ get address() {
228
+ return this._address;
229
+ }
230
+ async verify(msg, signature) {
231
+ return await Elliptic3.verify(msg, signature, this.address.bytes);
232
+ }
233
+ };
234
+ __publicField(PublicKey, "privateConstructorKey", Date.now().toString());
235
+ PublicKey = __decorateClass([
236
+ staticImplements2()
237
+ ], PublicKey);
238
+
239
+ // src/Jwt/verifyJwt.ts
240
+ function checkHeader(header, reasons) {
241
+ if (header.alg !== JwtAlg2.ES256K) reasons.push(`unsupported alg: ${header.alg}`);
242
+ if (header.typ !== JwtTyp2.JWT) reasons.push(`unsupported typ: ${header.typ}`);
243
+ if (typeof header.pub !== "string" || header.pub.length === 0) reasons.push("header.pub missing");
244
+ if (typeof header.kid !== "string" || header.kid.length === 0) reasons.push("header.kid missing");
245
+ }
246
+ function checkPayloadShape(payload, reasons) {
247
+ if (typeof payload.schema !== "string" || payload.schema.length === 0) reasons.push("payload.schema missing");
248
+ if (typeof payload.iss !== "string") reasons.push("payload.iss missing");
249
+ if (typeof payload.aud !== "string") reasons.push("payload.aud missing");
250
+ if (typeof payload.iat !== "number") reasons.push("payload.iat missing");
251
+ if (typeof payload.exp !== "number") reasons.push("payload.exp missing");
252
+ }
253
+ function checkClaims(payload, options, reasons) {
254
+ const now = options.now ?? Math.floor(Date.now() / 1e3);
255
+ if (payload.exp <= now) reasons.push(`expired: exp=${payload.exp} now=${now}`);
256
+ if (typeof payload.nbf === "number" && payload.nbf > now) reasons.push(`not yet valid: nbf=${payload.nbf} now=${now}`);
257
+ if (options.audience !== void 0 && payload.aud !== options.audience) {
258
+ reasons.push(`audience mismatch: expected ${options.audience}, got ${payload.aud}`);
259
+ }
260
+ }
261
+ async function checkSignature(header, signature, signingInputB64, reasons) {
262
+ let publicKey;
263
+ try {
264
+ const pubBytes = toUint8Array2(header.pub);
265
+ publicKey = await PublicKey.create(pubBytes.buffer.slice(pubBytes.byteOffset, pubBytes.byteOffset + pubBytes.byteLength));
266
+ } catch (error) {
267
+ reasons.push(`invalid public key: ${error.message}`);
268
+ return;
269
+ }
270
+ const derivedAddress = normalizeAddress(toHex2(publicKey.address.bytes, { prefix: false }));
271
+ const expectedAddress = normalizeAddress(header.kid);
272
+ if (derivedAddress !== expectedAddress) {
273
+ reasons.push(`public key does not derive to kid: derived=${derivedAddress} kid=${expectedAddress}`);
274
+ }
275
+ const encoder = new TextEncoder();
276
+ const signingInput = encoder.encode(signingInputB64);
277
+ const digest = sha256Bytes(signingInput);
278
+ const digestBuffer = digest.buffer.slice(digest.byteOffset, digest.byteOffset + digest.byteLength);
279
+ const sigBuffer = signature.buffer.slice(signature.byteOffset, signature.byteOffset + signature.byteLength);
280
+ const valid = await publicKey.verify(digestBuffer, sigBuffer);
281
+ if (!valid) reasons.push("signature verification failed");
282
+ }
283
+ async function verifyJwt(token, options = {}) {
284
+ const reasons = [];
285
+ const parts = decodeJwt(token);
286
+ const {
287
+ header,
288
+ payload,
289
+ signature,
290
+ headerB64,
291
+ payloadB64
292
+ } = parts;
293
+ checkHeader(header, reasons);
294
+ checkPayloadShape(payload, reasons);
295
+ if (reasons.length > 0) {
296
+ return {
297
+ ok: false,
298
+ reasons,
299
+ header,
300
+ payload
301
+ };
302
+ }
303
+ checkClaims(payload, options, reasons);
304
+ if (normalizeAddress(header.kid) !== normalizeAddress(payload.iss)) {
305
+ reasons.push("header.kid does not match payload.iss");
306
+ }
307
+ await checkSignature(header, signature, `${headerB64}.${payloadB64}`, reasons);
308
+ if (reasons.length > 0) {
309
+ return {
310
+ ok: false,
311
+ reasons,
312
+ header,
313
+ payload
314
+ };
315
+ }
316
+ return {
317
+ ok: true,
318
+ header,
319
+ payload
320
+ };
321
+ }
322
+
323
+ // src/Key/PrivateKey.ts
324
+ import {
325
+ assertEx as assertEx2,
326
+ staticImplements as staticImplements3,
327
+ toArrayBuffer as toArrayBuffer2
328
+ } from "@xylabs/sdk";
329
+ import { Elliptic as Elliptic4 } from "../../elliptic/neutral/index.mjs";
330
+ var PrivateKey = class extends EllipticKey {
331
+ _isPrivateKey = true;
332
+ _public;
333
+ constructor(privateConstructorKey, value, publicKey) {
334
+ assertEx2(PrivateKey.privateConstructorKey === privateConstructorKey, () => "Use create function instead of constructor");
335
+ super(32, value);
336
+ this._public = publicKey;
337
+ }
338
+ static async create(value) {
339
+ return new PrivateKey(this.privateConstructorKey, toArrayBuffer2(value), await PublicKey.fromPrivate(value));
340
+ }
341
+ static isPrivateKey(value) {
342
+ return value._isPrivateKey;
343
+ }
344
+ get public() {
345
+ return this._public;
346
+ }
347
+ async sign(hash) {
348
+ return await Elliptic4.sign(hash, this.bytes);
349
+ }
350
+ async verify(msg, signature) {
351
+ return await Elliptic4.verify(msg, signature, this.public.address.bytes);
352
+ }
353
+ };
354
+ __publicField(PrivateKey, "privateConstructorKey", Date.now().toString());
355
+ PrivateKey = __decorateClass([
356
+ staticImplements3()
357
+ ], PrivateKey);
358
+
359
+ // src/Account.ts
360
+ function getPrivateKeyFromMnemonic(mnemonic, path) {
361
+ const node = HDNodeWallet.fromMnemonic(mnemonic);
362
+ const wallet = isString(path) ? node.derivePath?.(path) : node;
363
+ return wallet.privateKey.padStart(64, "0").toLowerCase();
364
+ }
365
+ function getPrivateKeyFromPhrase(phrase, path) {
366
+ const node = HDNodeWallet.fromMnemonic(Mnemonic.fromPhrase(phrase));
367
+ const wallet = isString(path) ? node.derivePath?.(path) : node;
368
+ return wallet.privateKey.padStart(64, "0").toLowerCase();
369
+ }
370
+ var Account = class extends EllipticKey {
371
+ _privateKey;
372
+ _signingMutex = new Mutex();
373
+ _node = void 0;
374
+ _previousHash;
375
+ algorithm = "secp256k1";
376
+ constructor(key, privateKey, node) {
377
+ assertEx3(key === Account._protectedConstructorKey, () => "Do not call this protected constructor");
378
+ super(32, privateKey.bytes);
379
+ this._privateKey = privateKey;
380
+ this._node = node;
381
+ }
382
+ static async create(opts) {
383
+ let privateKeyToUse;
384
+ let node;
385
+ if (opts) {
386
+ if (isPhraseInitializationConfig(opts)) {
387
+ privateKeyToUse = toUint8Array3(getPrivateKeyFromPhrase(opts.phrase));
388
+ } else if (isPrivateKeyInitializationConfig(opts)) {
389
+ privateKeyToUse = toUint8Array3(opts.privateKey);
390
+ } else if (isMnemonicInitializationConfig(opts)) {
391
+ privateKeyToUse = toUint8Array3(getPrivateKeyFromMnemonic(Mnemonic.fromPhrase(opts.mnemonic), opts?.path));
392
+ node = isString(opts?.path) ? HDNodeWallet.fromPhrase(opts.mnemonic).derivePath?.(opts.path) : HDNodeWallet.fromPhrase(opts.mnemonic);
393
+ }
394
+ }
395
+ privateKeyToUse = privateKeyToUse ?? randomBytes(32);
396
+ const privateKey = await PrivateKey.create(privateKeyToUse.buffer);
397
+ const account = new Account(this._protectedConstructorKey, privateKey, node);
398
+ const loaded = await account.loadPreviousHash(opts?.previousHash);
399
+ return loaded.verifyUniqueAddress();
400
+ }
401
+ static decodeJwt(token) {
402
+ return decodeJwt(token);
403
+ }
404
+ static async fromPrivateKey(key) {
405
+ const privateKey = toUint8Array3(key, 32)?.buffer;
406
+ return await this.create({ privateKey });
407
+ }
408
+ static isAddress(address) {
409
+ return address.length === 40;
410
+ }
411
+ static async random() {
412
+ return await this.create();
413
+ }
414
+ static async verifyJwt(token, options) {
415
+ return await verifyJwt(token, options);
416
+ }
417
+ get address() {
418
+ return asAddress(this.public.address.hex, true);
419
+ }
420
+ get addressBytes() {
421
+ return this.public.address.bytes;
422
+ }
423
+ get previousHash() {
424
+ return this.previousHashBytes ? toHex3(this.previousHashBytes, { prefix: false }).toLowerCase() : void 0;
425
+ }
426
+ get previousHashBytes() {
427
+ return this._previousHash;
428
+ }
429
+ get private() {
430
+ return this._privateKey;
431
+ }
432
+ get public() {
433
+ return this.private.public;
434
+ }
435
+ async initialize() {
436
+ return await Promise.resolve(this);
437
+ }
438
+ async loadPreviousHash(previousHash) {
439
+ return await this._signingMutex.runExclusive(async () => {
440
+ if (isDefined2(previousHash)) {
441
+ this._previousHash = toUint8Array3(previousHash, 32).buffer;
442
+ } else {
443
+ const previousHashStoreValue = await Account.previousHashStore?.getItem(this.address);
444
+ if (isHash(previousHashStoreValue)) {
445
+ this._previousHash = toUint8Array3(previousHashStoreValue, 32).buffer;
446
+ }
447
+ }
448
+ return this;
449
+ });
450
+ }
451
+ async sign(hash, previousHash) {
452
+ await Elliptic5.initialize();
453
+ return await this._signingMutex.runExclusive(async () => {
454
+ if (Account.previousHashStore) {
455
+ const storedPreviousHash = await Account.previousHashStore.getItem(this.address);
456
+ this._previousHash = isHash(storedPreviousHash) ? toArrayBuffer3(storedPreviousHash, 32) : void 0;
457
+ }
458
+ const currentPreviousHash = this.previousHash;
459
+ const passedCurrentHash = previousHash === void 0 ? this.previousHash : toHex3(previousHash, { prefix: false });
460
+ assertEx3(
461
+ currentPreviousHash === passedCurrentHash,
462
+ () => `Used and current previous hashes do not match [${currentPreviousHash} !== ${passedCurrentHash}]`
463
+ );
464
+ const signature = await this.private.sign(hash);
465
+ const newPreviousHash = toUint8Array3(hash, 32).buffer;
466
+ this._previousHash = newPreviousHash;
467
+ if (Account.previousHashStore) {
468
+ await Account.previousHashStore.setItem(this.address, asHash(toHex3(newPreviousHash, { prefix: false }), true));
469
+ }
470
+ return [signature, currentPreviousHash];
471
+ });
472
+ }
473
+ async signJwt(options) {
474
+ return await createJwt(this, options);
475
+ }
476
+ async verify(msg, signature) {
477
+ await Elliptic5.initialize();
478
+ return await Elliptic5.verify(msg, signature, this.addressBytes);
479
+ }
480
+ verifyUniqueAddress() {
481
+ const address = this.address;
482
+ const currentAddressObject = Account._addressMap[address]?.deref();
483
+ if (currentAddressObject === void 0) {
484
+ Account._addressMap[address] = new WeakRef(this);
485
+ } else {
486
+ return currentAddressObject;
487
+ }
488
+ return this;
489
+ }
490
+ };
491
+ __publicField(Account, "previousHashStore");
492
+ __publicField(Account, "uniqueName", globallyUnique("Account", Account, "xyo"));
493
+ __publicField(Account, "_addressMap", {});
494
+ __publicField(Account, "_protectedConstructorKey", /* @__PURE__ */ Symbol());
495
+ Account = __decorateClass([
496
+ staticImplements4()
497
+ ], Account);
498
+
499
+ // src/lib/walletPath/formatWalletPath.ts
500
+ var formatWalletPath = (path) => {
501
+ return path.trimStart().trimEnd().split("/").filter((p) => !!p).join("/");
502
+ };
503
+
504
+ // src/lib/walletPath/combineWalletPaths.ts
505
+ var combineWalletPaths = (path1, path2) => {
506
+ const parts1 = formatWalletPath(path1).split("/");
507
+ const parts2 = formatWalletPath(path2).split("/");
508
+ return [...parts1, ...parts2].join("/");
509
+ };
510
+
511
+ // src/lib/walletPath/isValidWalletPath.ts
512
+ import { isString as isString2 } from "@xylabs/sdk";
513
+ var pathSegmentRegex = /^\d+'?$/;
514
+ var isValidAbsoluteWalletPath = (path) => {
515
+ if (!isString2(path)) return false;
516
+ if (!path.startsWith("m")) return false;
517
+ return path === "m" ? true : isValidRelativeWalletPath(path.slice(2));
518
+ };
519
+ var isValidRelativeWalletPath = (path) => {
520
+ if (!isString2(path)) return false;
521
+ if (path.length === 0 || path.startsWith("m")) return false;
522
+ const parts = path.split("/");
523
+ if (parts.some((p) => !p)) return false;
524
+ return parts.slice(1).every((p) => pathSegmentRegex.test(p));
525
+ };
526
+ export {
527
+ Account,
528
+ AddressValue,
529
+ EllipticKey,
530
+ PrivateKey,
531
+ PublicKey,
532
+ base64urlDecode,
533
+ base64urlDecodeJson,
534
+ base64urlEncode,
535
+ base64urlEncodeJson,
536
+ combineWalletPaths,
537
+ createJwt,
538
+ decodeJwt,
539
+ formatWalletPath,
540
+ isValidAbsoluteWalletPath,
541
+ isValidRelativeWalletPath,
542
+ normalizeAddress,
543
+ sha256Bytes,
544
+ stripHexPrefix,
545
+ verifyJwt
546
+ };
547
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,2 @@
1
+ export * from './walletPath/index.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare const combineWalletPaths: (path1: string, path2: string) => string;
2
+ //# sourceMappingURL=combineWalletPaths.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare const formatWalletPath: (path: string) => string;
2
+ //# sourceMappingURL=formatWalletPath.d.ts.map
@@ -0,0 +1,4 @@
1
+ export * from './combineWalletPaths.ts';
2
+ export * from './formatWalletPath.ts';
3
+ export * from './isValidWalletPath.ts';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,3 @@
1
+ export declare const isValidAbsoluteWalletPath: (path?: string) => boolean;
2
+ export declare const isValidRelativeWalletPath: (path?: string) => boolean;
3
+ //# sourceMappingURL=isValidWalletPath.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1,46 @@
1
+ import type { Hash } from '@xylabs/sdk';
2
+ import type { XyoAddress } from '../../address/neutral/index.ts';
3
+ import type { PrivateKeyInstance, PublicKeyInstance } from '../../key-model/neutral/index.ts';
4
+ import type { PreviousHashStore } from '../../previous-hash-store-model/neutral/index.ts';
5
+ import type { AccountAlgorithm } from './Algorithm.ts';
6
+ import type { SignJwtOptions, SignJwtResult } from './Jwt/types.ts';
7
+ export declare const ethMessagePrefix = "\u0019Ethereum Signed Message:\n";
8
+ export interface PhraseInitializationConfig {
9
+ phrase: string;
10
+ }
11
+ export interface PrivateKeyInitializationConfig {
12
+ privateKey: ArrayBufferLike;
13
+ }
14
+ export interface MnemonicInitializationConfig {
15
+ mnemonic: string;
16
+ path?: string;
17
+ }
18
+ export interface AccountOptions {
19
+ previousHash?: ArrayBufferLike;
20
+ }
21
+ export type InitializationConfig = PhraseInitializationConfig | PrivateKeyInitializationConfig | MnemonicInitializationConfig;
22
+ export type AccountConfig = InitializationConfig & AccountOptions;
23
+ export declare const isPhraseInitializationConfig: (value: unknown) => value is PhraseInitializationConfig;
24
+ export declare const isPrivateKeyInitializationConfig: (value: unknown) => value is PrivateKeyInitializationConfig;
25
+ export declare const isMnemonicInitializationConfig: (value: unknown) => value is MnemonicInitializationConfig;
26
+ export declare const isInitializationConfig: (value: unknown) => value is InitializationConfig;
27
+ export interface AccountInstance {
28
+ readonly address: XyoAddress;
29
+ readonly addressBytes: ArrayBufferLike;
30
+ readonly algorithm: AccountAlgorithm;
31
+ previousHash: Hash | undefined;
32
+ previousHashBytes: ArrayBufferLike | undefined;
33
+ readonly private?: PrivateKeyInstance;
34
+ readonly public?: PublicKeyInstance;
35
+ sign: (hash: ArrayBufferLike, previousHash?: ArrayBufferLike) => Promise<[ArrayBufferLike, Hash?]>;
36
+ signJwt: (options: SignJwtOptions) => Promise<SignJwtResult>;
37
+ verify: (msg: ArrayBufferLike, signature: ArrayBufferLike) => Promise<boolean>;
38
+ }
39
+ export declare const isAccountInstance: (account: unknown) => account is AccountInstance;
40
+ export interface AccountStatic<T extends AccountInstance = AccountInstance, C extends AccountConfig = AccountConfig> {
41
+ previousHashStore?: PreviousHashStore;
42
+ create(options?: C): Promise<T>;
43
+ fromPrivateKey(key: ArrayBufferLike | bigint | string): Promise<AccountInstance>;
44
+ random(): Promise<AccountInstance>;
45
+ }
46
+ //# sourceMappingURL=Account.d.ts.map
@@ -0,0 +1,5 @@
1
+ export type AccountAlgorithm = 'secp256k1' | 'ml-dsa-65';
2
+ export declare const AccountAlgorithmHrp: Partial<Record<AccountAlgorithm, string>>;
3
+ export declare function hrpForAlgorithm(algorithm: AccountAlgorithm): string | undefined;
4
+ export declare function algorithmFromAddress(address: string): AccountAlgorithm;
5
+ //# sourceMappingURL=Algorithm.d.ts.map
@@ -0,0 +1,14 @@
1
+ import { Enum } from '@xylabs/sdk';
2
+ export declare const JwtAlg: Enum<{
3
+ ES256K: "ES256K";
4
+ }>;
5
+ export type JwtAlg = Enum<typeof JwtAlg>;
6
+ export declare const JwtTyp: Enum<{
7
+ JWT: "JWT";
8
+ }>;
9
+ export type JwtTyp = Enum<typeof JwtTyp>;
10
+ export declare const JwtSchema: Enum<{
11
+ Signin: "network.xyo.auth.signin";
12
+ }>;
13
+ export type JwtSchema = Enum<typeof JwtSchema>;
14
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1,3 @@
1
+ export * from './constants.ts';
2
+ export * from './types.ts';
3
+ //# sourceMappingURL=index.d.ts.map