@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,104 @@
1
+ // src/NamespacedStorage.ts
2
+ var InMemoryBackend = class {
3
+ data = /* @__PURE__ */ new Map();
4
+ get(key) {
5
+ return this.data.get(key) ?? null;
6
+ }
7
+ remove(key) {
8
+ this.data.delete(key);
9
+ }
10
+ set(key, value) {
11
+ this.data.set(key, value);
12
+ }
13
+ };
14
+ var WebStorageBackend = class {
15
+ storage;
16
+ constructor(storage) {
17
+ this.storage = storage;
18
+ }
19
+ get(key) {
20
+ return this.storage.getItem(key);
21
+ }
22
+ remove(key) {
23
+ this.storage.removeItem(key);
24
+ }
25
+ set(key, value) {
26
+ this.storage.setItem(key, value);
27
+ }
28
+ };
29
+ var pageBackend = new InMemoryBackend();
30
+ var localBackend;
31
+ var sessionBackend;
32
+ function getBackend(area) {
33
+ if (area === "page") return pageBackend;
34
+ const g = globalThis;
35
+ if (area === "local") {
36
+ if (localBackend) return localBackend;
37
+ localBackend = g.localStorage ? new WebStorageBackend(g.localStorage) : new InMemoryBackend();
38
+ return localBackend;
39
+ }
40
+ if (sessionBackend) return sessionBackend;
41
+ sessionBackend = g.sessionStorage ? new WebStorageBackend(g.sessionStorage) : new InMemoryBackend();
42
+ return sessionBackend;
43
+ }
44
+ var NamespacedStorage = class {
45
+ backend;
46
+ prefix;
47
+ constructor(area, namespace) {
48
+ this.backend = getBackend(area);
49
+ this.prefix = `${namespace}.`;
50
+ }
51
+ get(key) {
52
+ const raw = this.backend.get(this.prefix + key);
53
+ if (raw === null) return void 0;
54
+ try {
55
+ return JSON.parse(raw);
56
+ } catch {
57
+ return void 0;
58
+ }
59
+ }
60
+ remove(key) {
61
+ this.backend.remove(this.prefix + key);
62
+ }
63
+ set(key, value) {
64
+ this.backend.set(this.prefix + key, JSON.stringify(value));
65
+ }
66
+ };
67
+
68
+ // src/StoragePreviousHashStore.ts
69
+ var StoragePreviousHashStore = class _StoragePreviousHashStore {
70
+ static DefaultNamespace = "xyo-previous-hash-store";
71
+ static DefaultStorageType = "local";
72
+ _namespace = _StoragePreviousHashStore.DefaultNamespace;
73
+ _storage;
74
+ _type = _StoragePreviousHashStore.DefaultStorageType;
75
+ constructor(opts) {
76
+ if (typeof opts?.namespace === "string") this._namespace = opts.namespace;
77
+ if (opts?.type) this._type = opts.type;
78
+ this._storage = new NamespacedStorage(this.type, this.namespace);
79
+ }
80
+ get storage() {
81
+ this._storage ??= new NamespacedStorage(this.type, this.namespace);
82
+ return this._storage;
83
+ }
84
+ get namespace() {
85
+ return this._namespace;
86
+ }
87
+ get type() {
88
+ return this._type;
89
+ }
90
+ async getItem(address) {
91
+ return this.storage.get(address) ?? null;
92
+ }
93
+ async removeItem(address) {
94
+ this.storage.remove(address);
95
+ }
96
+ async setItem(address, previousHash) {
97
+ this.storage.set(address, previousHash);
98
+ }
99
+ };
100
+ export {
101
+ NamespacedStorage,
102
+ StoragePreviousHashStore
103
+ };
104
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,5 @@
1
+ export * from '../../boundwitness/neutral/index.ts';
2
+ export * from '../../core/neutral/index.ts';
3
+ export * from '../../crypto/neutral/index.ts';
4
+ export * from '../../payload/neutral/index.ts';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,6 @@
1
+ // src/index.ts
2
+ export * from "../../boundwitness/neutral/index.mjs";
3
+ export * from "../../core/neutral/index.mjs";
4
+ export * from "../../crypto/neutral/index.mjs";
5
+ export * from "../../payload/neutral/index.mjs";
6
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,65 @@
1
+ import type { MercatorBoundingBox, MercatorLngLatLike, MercatorTile } from '@xylabs/geo';
2
+ import { GeoJson, MercatorLngLat } from '@xylabs/geo';
3
+ export declare const isQuadkey: (obj: {
4
+ type: string;
5
+ }) => boolean;
6
+ export declare class Quadkey {
7
+ static readonly Zero: Quadkey;
8
+ static readonly root: Quadkey;
9
+ static readonly type = "Quadkey";
10
+ private _geoJson?;
11
+ key: bigint;
12
+ type: string;
13
+ constructor(key?: bigint);
14
+ static from(zoom: number, id: bigint): Quadkey;
15
+ static fromArrayBuffer(zoom: number, id: ArrayBuffer): Quadkey;
16
+ static fromBase16String(value: string): Quadkey;
17
+ static fromBase4String(value?: string): Quadkey;
18
+ static fromBoundingBox(boundingBox: MercatorBoundingBox, zoom: number): Quadkey[];
19
+ static fromLngLat(point: MercatorLngLatLike, zoom: number): Quadkey;
20
+ static fromString(zoom: number, id: string, base?: number): Quadkey;
21
+ static fromTile(tile: MercatorTile): Quadkey;
22
+ get base10String(): string;
23
+ get base16String(): string;
24
+ get base4Hash(): string;
25
+ get base4HashLabel(): string;
26
+ get boundingBox(): MercatorBoundingBox;
27
+ get center(): MercatorLngLat;
28
+ get children(): Quadkey[];
29
+ get gridLocation(): {
30
+ col: number;
31
+ row: number;
32
+ zoom: number;
33
+ };
34
+ get id(): bigint;
35
+ get parent(): Quadkey | undefined;
36
+ get siblings(): Quadkey[];
37
+ get tile(): MercatorTile;
38
+ get valid(): boolean;
39
+ get zoom(): number;
40
+ childrenByZoom(zoom: number): Quadkey[];
41
+ clone(): Quadkey;
42
+ equals(obj: Quadkey): boolean;
43
+ geoJson(): GeoJson;
44
+ getGridBoundingBox(size: number): {
45
+ height: number;
46
+ left: number;
47
+ top: number;
48
+ width: number;
49
+ };
50
+ /** @deprecated use .gridLocation instead */
51
+ getGridLocation(): {
52
+ col: number;
53
+ row: number;
54
+ zoom: number;
55
+ };
56
+ isInBoundingBox(boundingBox: MercatorBoundingBox): boolean;
57
+ relative(direction: string): Quadkey;
58
+ setId(id: bigint): this;
59
+ setKey(zoom: number, key: bigint): this;
60
+ setZoom(zoom: number): this;
61
+ toJSON(): string;
62
+ toString(): string;
63
+ protected guessZoom(): void;
64
+ }
65
+ //# sourceMappingURL=Quadkey.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare const RelativeDirectionConstantLookup: Record<string, number>;
2
+ //# sourceMappingURL=RelativeDirectionConstantLookup.d.ts.map
@@ -0,0 +1,2 @@
1
+ export * from './Quadkey.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,281 @@
1
+ // src/Quadkey.ts
2
+ import {
3
+ boundingBoxToCenter,
4
+ GeoJson,
5
+ MercatorLngLat,
6
+ tileFromPoint,
7
+ tileFromQuadkey,
8
+ tilesFromBoundingBox,
9
+ tileToBoundingBox,
10
+ tileToQuadkey
11
+ } from "@xylabs/geo";
12
+ import {
13
+ assertEx,
14
+ hexFromArrayBuffer,
15
+ hexFromHexString
16
+ } from "@xylabs/sdk";
17
+
18
+ // src/RelativeDirectionConstantLookup.ts
19
+ var RelativeDirectionConstantLookup = {
20
+ e: 1,
21
+ n: -2,
22
+ s: 2,
23
+ w: -1
24
+ };
25
+
26
+ // src/Quadkey.ts
27
+ var MAX_ZOOM = 124;
28
+ var isQuadkey = (obj) => obj?.type === Quadkey.type;
29
+ var FULL_MASK = 2n ** 256n - 1n;
30
+ var ZOOM_MASK = 0xFFn << 248n;
31
+ var ID_MASK = ZOOM_MASK ^ FULL_MASK;
32
+ var assertMaxBitUint = (value, bits = 256n) => {
33
+ assertEx(value < 2n ** bits && value >= 0, () => "Not a 256 Bit Uint!");
34
+ };
35
+ function gridOffsetForDigit(digit, blockSize) {
36
+ switch (digit) {
37
+ case "1": {
38
+ return { left: blockSize, top: 0 };
39
+ }
40
+ case "2": {
41
+ return { left: 0, top: blockSize };
42
+ }
43
+ case "3": {
44
+ return { left: blockSize, top: blockSize };
45
+ }
46
+ default: {
47
+ return { left: 0, top: 0 };
48
+ }
49
+ }
50
+ }
51
+ var Quadkey = class _Quadkey {
52
+ static Zero = _Quadkey.from(0, 0n);
53
+ static root = new _Quadkey();
54
+ static type = "Quadkey";
55
+ _geoJson;
56
+ key;
57
+ type = _Quadkey.type;
58
+ constructor(key = 0n) {
59
+ assertMaxBitUint(key);
60
+ this.key = key;
61
+ this.guessZoom();
62
+ }
63
+ static from(zoom, id) {
64
+ const quadkey = new _Quadkey();
65
+ return quadkey.setId(id).setZoom(zoom);
66
+ }
67
+ static fromArrayBuffer(zoom, id) {
68
+ const quadkey = new _Quadkey();
69
+ return quadkey.setId(BigInt(hexFromArrayBuffer(id, { prefix: true }))).setZoom(zoom);
70
+ }
71
+ static fromBase16String(value) {
72
+ return new _Quadkey(BigInt(hexFromHexString(value, { prefix: true })));
73
+ }
74
+ static fromBase4String(value) {
75
+ if (value === void 0 || ["fhr", ""].includes(value)) {
76
+ return this.root;
77
+ }
78
+ let id = 0n;
79
+ for (const digit of value) {
80
+ const nibble = Number.parseInt(digit);
81
+ assertEx(nibble < 4 && nibble >= 0, () => `Invalid Base4 String: ${value}`);
82
+ id = id << 2n | BigInt(nibble);
83
+ }
84
+ const quadkey = new _Quadkey();
85
+ return quadkey.setId(id).setZoom(value.length);
86
+ }
87
+ static fromBoundingBox(boundingBox, zoom) {
88
+ const tiles = tilesFromBoundingBox(boundingBox, Math.floor(zoom));
89
+ return Array.from(tiles, (tile) => assertEx(this.fromTile(tile), () => "Bad Quadkey"));
90
+ }
91
+ static fromLngLat(point, zoom) {
92
+ const tile = tileFromPoint(point, zoom);
93
+ const quadkeyString = tileToQuadkey(tile);
94
+ return this.fromBase4String(quadkeyString);
95
+ }
96
+ static fromString(zoom, id, base = 16) {
97
+ switch (base) {
98
+ case 16: {
99
+ return this.fromBase16String(id).setZoom(zoom);
100
+ }
101
+ default: {
102
+ throw new Error(`Invalid base [${base}]`);
103
+ }
104
+ }
105
+ }
106
+ static fromTile(tile) {
107
+ return this.fromBase4String(tileToQuadkey(tile));
108
+ }
109
+ get base10String() {
110
+ return this.id.toString(10);
111
+ }
112
+ get base16String() {
113
+ return this.id.toString(16).padStart(62, "0");
114
+ }
115
+ get base4Hash() {
116
+ if (this.id === 0n && this.zoom === 0) {
117
+ return "";
118
+ }
119
+ return this.id.toString(4).padStart(this.zoom, "0");
120
+ }
121
+ get base4HashLabel() {
122
+ const hash = this.base4Hash;
123
+ return hash.length === 0 ? "fhr" : hash;
124
+ }
125
+ get boundingBox() {
126
+ return tileToBoundingBox(this.tile);
127
+ }
128
+ get center() {
129
+ const result = boundingBoxToCenter(this.boundingBox);
130
+ return new MercatorLngLat(result[0], result[1]);
131
+ }
132
+ get children() {
133
+ assertEx(this.zoom < MAX_ZOOM - 1, () => "Can not get children of bottom tiles");
134
+ const result = [];
135
+ const shiftedId = this.id << 2n;
136
+ for (let i = 0n; i < 4n; i++) {
137
+ const quadkey = new _Quadkey();
138
+ result.push(quadkey.setId(shiftedId | i).setZoom(this.zoom + 1));
139
+ }
140
+ return result;
141
+ }
142
+ get gridLocation() {
143
+ const tileData = tileFromQuadkey(this.base4Hash);
144
+ return {
145
+ col: 2 ** tileData[2] - tileData[1] - 1,
146
+ row: tileData[0],
147
+ zoom: tileData[2]
148
+ };
149
+ }
150
+ get id() {
151
+ return this.key & ID_MASK;
152
+ }
153
+ get parent() {
154
+ if (this.zoom <= 0) {
155
+ return;
156
+ }
157
+ const quadkey = new _Quadkey();
158
+ return quadkey.setId(this.id >> 2n).setZoom(this.zoom - 1);
159
+ }
160
+ get siblings() {
161
+ const siblings = assertEx(this.parent?.children, () => `siblings: parentChildren ${this.base4Hash}`);
162
+ const filteredSiblings = siblings.filter((quadkey) => quadkey.key !== this.key);
163
+ assertEx(filteredSiblings.length === 3, () => `siblings: expected 3 [${filteredSiblings.length}]`);
164
+ return filteredSiblings;
165
+ }
166
+ get tile() {
167
+ return tileFromQuadkey(this.base4Hash);
168
+ }
169
+ get valid() {
170
+ return this.id.toString(4) === this.base4Hash.padStart(64, "0");
171
+ }
172
+ get zoom() {
173
+ return Number((this.key & ZOOM_MASK) >> 248n);
174
+ }
175
+ childrenByZoom(zoom) {
176
+ if (zoom > 0 && zoom === this.zoom) {
177
+ return [this];
178
+ }
179
+ let deepResult = [];
180
+ for (const quadkey of this.children) {
181
+ deepResult = [...deepResult, ...quadkey.childrenByZoom(zoom)];
182
+ }
183
+ return deepResult;
184
+ }
185
+ clone() {
186
+ return new _Quadkey(this.key);
187
+ }
188
+ equals(obj) {
189
+ return obj.key == this.key;
190
+ }
191
+ geoJson() {
192
+ this._geoJson = this._geoJson ?? new GeoJson(this.base4Hash);
193
+ return this._geoJson;
194
+ }
195
+ getGridBoundingBox(size) {
196
+ const hash = this.base4Hash;
197
+ let index = 0;
198
+ let left = 0;
199
+ let top = 0;
200
+ let blockSize = size;
201
+ while (index < hash.length) {
202
+ blockSize >>= 1;
203
+ const offset = gridOffsetForDigit(hash[index], blockSize);
204
+ left += offset.left;
205
+ top += offset.top;
206
+ index++;
207
+ }
208
+ if (blockSize < 2) {
209
+ blockSize = 2;
210
+ }
211
+ return {
212
+ height: blockSize,
213
+ left,
214
+ top,
215
+ width: blockSize
216
+ };
217
+ }
218
+ /** @deprecated use .gridLocation instead */
219
+ getGridLocation() {
220
+ return this.gridLocation;
221
+ }
222
+ isInBoundingBox(boundingBox) {
223
+ const tileBoundingBox = tileToBoundingBox(this.tile);
224
+ return boundingBox.contains(tileBoundingBox.getNorthEast()) || boundingBox.contains(tileBoundingBox.getNorthWest()) || boundingBox.contains(tileBoundingBox.getSouthEast()) || boundingBox.contains(tileBoundingBox.getSouthWest());
225
+ }
226
+ relative(direction) {
227
+ const directionConstant = assertEx(RelativeDirectionConstantLookup[direction], () => "Invalid direction");
228
+ let quadkey = this.base4Hash;
229
+ if (quadkey.length === 0) {
230
+ return this;
231
+ }
232
+ let index = quadkey.length - 1;
233
+ while (index >= 0) {
234
+ let number = Number.parseInt(quadkey.charAt(index));
235
+ number += directionConstant;
236
+ if (number > 3) {
237
+ number -= 4;
238
+ quadkey = quadkey.slice(0, Math.max(0, index)) + number.toString() + quadkey.slice(Math.max(0, index + 1));
239
+ index--;
240
+ } else if (number < 0) {
241
+ number += 4;
242
+ quadkey = quadkey.slice(0, Math.max(0, index)) + number.toString() + quadkey.slice(Math.max(0, index + 1));
243
+ index--;
244
+ } else {
245
+ index = -1;
246
+ }
247
+ }
248
+ return _Quadkey.fromBase4String(quadkey);
249
+ }
250
+ setId(id) {
251
+ assertMaxBitUint(id, 248n);
252
+ this.setKey(this.zoom, id);
253
+ return this;
254
+ }
255
+ setKey(zoom, key) {
256
+ assertMaxBitUint(key);
257
+ this.key = key;
258
+ this.setZoom(zoom);
259
+ return this;
260
+ }
261
+ setZoom(zoom) {
262
+ assertEx(zoom < MAX_ZOOM, () => `Invalid zoom [${zoom}] max=${MAX_ZOOM}`);
263
+ this.key = this.key & ID_MASK | BigInt(zoom) << 248n;
264
+ return this;
265
+ }
266
+ toJSON() {
267
+ return this.base4HashLabel;
268
+ }
269
+ toString() {
270
+ return this.base4Hash;
271
+ }
272
+ guessZoom() {
273
+ const quadkeySimple = this.id.toString(4);
274
+ this.setZoom(quadkeySimple.length);
275
+ }
276
+ };
277
+ export {
278
+ Quadkey,
279
+ isQuadkey
280
+ };
281
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,34 @@
1
+ import type { Hash } from '@xylabs/sdk';
2
+ import type { AccountAlgorithm, AccountConfig, AccountInstance, SignJwtOptions, SignJwtResult } from '../../account-model/neutral/index.ts';
3
+ import type { XyoAddress } from '../../address/neutral/index.ts';
4
+ import type { PreviousHashStore } from '../../previous-hash-store-model/neutral/index.ts';
5
+ export declare class QuantAccount implements AccountInstance {
6
+ static previousHashStore: PreviousHashStore | undefined;
7
+ protected static _addressMap: Record<string, WeakRef<AccountInstance>>;
8
+ protected static _protectedConstructorKey: symbol;
9
+ private readonly _address;
10
+ private readonly _addressBytes;
11
+ private readonly _signingMutex;
12
+ protected _previousHash?: ArrayBufferLike;
13
+ protected readonly _publicKey: Uint8Array;
14
+ protected readonly _secretKey: Uint8Array;
15
+ readonly algorithm: AccountAlgorithm;
16
+ protected constructor(key: unknown, secretKey: Uint8Array, publicKey: Uint8Array);
17
+ static create(opts?: AccountConfig): Promise<AccountInstance>;
18
+ static fromPrivateKey(key: ArrayBufferLike | bigint | string): Promise<AccountInstance>;
19
+ static isAddress(address: string): boolean;
20
+ static random(): Promise<AccountInstance>;
21
+ get address(): XyoAddress;
22
+ get addressBytes(): ArrayBufferLike;
23
+ get previousHash(): Hash | undefined;
24
+ set previousHash(_value: Hash | undefined);
25
+ get previousHashBytes(): ArrayBufferLike | undefined;
26
+ set previousHashBytes(_value: ArrayBufferLike | undefined);
27
+ get publicKey(): ArrayBufferLike;
28
+ loadPreviousHash(previousHash?: ArrayBufferLike | string): Promise<this>;
29
+ sign(hash: ArrayBufferLike, previousHash?: ArrayBufferLike): Promise<[ArrayBufferLike, Hash?]>;
30
+ signJwt(_options: SignJwtOptions): Promise<SignJwtResult>;
31
+ verify(msg: ArrayBufferLike, signature: ArrayBufferLike): Promise<boolean>;
32
+ verifyUniqueAddress(): AccountInstance;
33
+ }
34
+ //# sourceMappingURL=QuantAccount.d.ts.map
@@ -0,0 +1,3 @@
1
+ import './register.ts';
2
+ export * from './QuantAccount.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,173 @@
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 { MlDsa } from "../../pqc/neutral/index.mjs";
17
+ function buffersEqual(a, b) {
18
+ if (a.byteLength !== b.byteLength) return false;
19
+ const a1 = new Uint8Array(a);
20
+ const a2 = new Uint8Array(b);
21
+ for (let i = 0; i < a1.byteLength; i++) {
22
+ if (a1[i] !== a2[i]) return false;
23
+ }
24
+ return true;
25
+ }
26
+ registerVerifier("ml-dsa-65", async (address, hash, signatureBundle) => {
27
+ const { publicKey, signature } = MlDsa.unbundle(signatureBundle);
28
+ const expectedAddress = addressTo20Bytes(address);
29
+ const derivedAddress = MlDsa.addressFromPublicKey(publicKey);
30
+ if (!buffersEqual(expectedAddress, derivedAddress)) {
31
+ return false;
32
+ }
33
+ return await Promise.resolve(MlDsa.verify(publicKey, hash, signature));
34
+ });
35
+
36
+ // src/QuantAccount.ts
37
+ import {
38
+ asHash,
39
+ assertEx,
40
+ isDefined,
41
+ isHash,
42
+ staticImplements,
43
+ toArrayBuffer,
44
+ toHex,
45
+ toUint8Array
46
+ } from "@xylabs/sdk";
47
+ import { hrpForAlgorithm, isPrivateKeyInitializationConfig } from "../../account-model/neutral/index.mjs";
48
+ import { encodeQuantAddress, tryDecodeQuantAddress } from "../../address/neutral/index.mjs";
49
+ import { MlDsa as MlDsa2 } from "../../pqc/neutral/index.mjs";
50
+ import { Mutex } from "async-mutex";
51
+ var QuantAccount = class {
52
+ _address;
53
+ _addressBytes;
54
+ _signingMutex = new Mutex();
55
+ _previousHash;
56
+ _publicKey;
57
+ _secretKey;
58
+ algorithm = "ml-dsa-65";
59
+ constructor(key, secretKey, publicKey) {
60
+ assertEx(key === QuantAccount._protectedConstructorKey, () => "Do not call this protected constructor");
61
+ this._secretKey = secretKey;
62
+ this._publicKey = publicKey;
63
+ this._addressBytes = MlDsa2.addressFromPublicKey(publicKey.buffer);
64
+ const hrp = assertEx(hrpForAlgorithm("ml-dsa-65"), () => "No HRP registered for algorithm [ml-dsa-65]");
65
+ this._address = encodeQuantAddress(hrp, this._addressBytes);
66
+ }
67
+ static async create(opts) {
68
+ let seed;
69
+ if (opts && isPrivateKeyInitializationConfig(opts)) {
70
+ seed = toUint8Array(opts.privateKey, 32).buffer;
71
+ }
72
+ const keyPair = MlDsa2.keygen(seed);
73
+ const account = new QuantAccount(this._protectedConstructorKey, keyPair.secretKey, keyPair.publicKey);
74
+ await account.loadPreviousHash(opts?.previousHash);
75
+ return account.verifyUniqueAddress();
76
+ }
77
+ static async fromPrivateKey(key) {
78
+ const privateKey = toUint8Array(key, 32).buffer;
79
+ return await this.create({ privateKey });
80
+ }
81
+ static isAddress(address) {
82
+ return tryDecodeQuantAddress(address)?.hrp === hrpForAlgorithm("ml-dsa-65");
83
+ }
84
+ static async random() {
85
+ return await this.create();
86
+ }
87
+ get address() {
88
+ return this._address;
89
+ }
90
+ get addressBytes() {
91
+ return this._addressBytes;
92
+ }
93
+ get previousHash() {
94
+ return this.previousHashBytes ? toHex(this.previousHashBytes, { prefix: false }).toLowerCase() : void 0;
95
+ }
96
+ set previousHash(_value) {
97
+ }
98
+ get previousHashBytes() {
99
+ return this._previousHash;
100
+ }
101
+ set previousHashBytes(_value) {
102
+ }
103
+ get publicKey() {
104
+ return this._publicKey.buffer;
105
+ }
106
+ async loadPreviousHash(previousHash) {
107
+ return await this._signingMutex.runExclusive(async () => {
108
+ if (isDefined(previousHash)) {
109
+ this._previousHash = toUint8Array(previousHash, 32).buffer;
110
+ } else {
111
+ const storeValue = await QuantAccount.previousHashStore?.getItem(this.address);
112
+ if (isHash(storeValue)) {
113
+ this._previousHash = toUint8Array(storeValue, 32).buffer;
114
+ }
115
+ }
116
+ return this;
117
+ });
118
+ }
119
+ async sign(hash, previousHash) {
120
+ return await this._signingMutex.runExclusive(async () => {
121
+ if (QuantAccount.previousHashStore) {
122
+ const stored = await QuantAccount.previousHashStore.getItem(this.address);
123
+ this._previousHash = isHash(stored) ? toArrayBuffer(stored, 32) : void 0;
124
+ }
125
+ const currentPreviousHash = this.previousHash;
126
+ const passedCurrentHash = previousHash === void 0 ? this.previousHash : toHex(previousHash, { prefix: false });
127
+ assertEx(
128
+ currentPreviousHash === passedCurrentHash,
129
+ () => `Used and current previous hashes do not match [${currentPreviousHash} !== ${passedCurrentHash}]`
130
+ );
131
+ const rawSig = MlDsa2.sign(this._secretKey.buffer, hash);
132
+ const bundle = MlDsa2.bundle(this._publicKey.buffer, rawSig);
133
+ const newPreviousHash = toUint8Array(hash, 32).buffer;
134
+ this._previousHash = newPreviousHash;
135
+ if (QuantAccount.previousHashStore) {
136
+ await QuantAccount.previousHashStore.setItem(this.address, asHash(toHex(newPreviousHash, { prefix: false }), true));
137
+ }
138
+ return [bundle, currentPreviousHash];
139
+ });
140
+ }
141
+ async signJwt(_options) {
142
+ return await Promise.reject(new Error("JWT signing is not implemented for ml-dsa-65 (no standard IANA JOSE alg yet)"));
143
+ }
144
+ async verify(msg, signature) {
145
+ if (signature.byteLength === MlDsa2.bundleLength) {
146
+ const { publicKey, signature: sig } = MlDsa2.unbundle(signature);
147
+ return await Promise.resolve(MlDsa2.verify(publicKey, msg, sig));
148
+ }
149
+ if (signature.byteLength === MlDsa2.signatureLength) {
150
+ return await Promise.resolve(MlDsa2.verify(this._publicKey.buffer, msg, signature));
151
+ }
152
+ return await Promise.resolve(false);
153
+ }
154
+ verifyUniqueAddress() {
155
+ const address = this.address;
156
+ const existing = QuantAccount._addressMap[address]?.deref();
157
+ if (existing === void 0) {
158
+ QuantAccount._addressMap[address] = new WeakRef(this);
159
+ return this;
160
+ }
161
+ return existing;
162
+ }
163
+ };
164
+ __publicField(QuantAccount, "previousHashStore");
165
+ __publicField(QuantAccount, "_addressMap", {});
166
+ __publicField(QuantAccount, "_protectedConstructorKey", /* @__PURE__ */ Symbol());
167
+ QuantAccount = __decorateClass([
168
+ staticImplements()
169
+ ], QuantAccount);
170
+ export {
171
+ QuantAccount
172
+ };
173
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=register.d.ts.map