@provablehq/sdk 0.10.2 → 0.10.3

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 (217) hide show
  1. package/dist/dynamic/browser.cjs +12 -0
  2. package/dist/dynamic/browser.d.cts +8 -0
  3. package/dist/dynamic/browser.d.ts +2 -2
  4. package/dist/dynamic/node.cjs +12 -0
  5. package/dist/dynamic/node.d.cts +8 -0
  6. package/dist/dynamic/node.d.ts +2 -2
  7. package/dist/mainnet/account.d.cts +347 -0
  8. package/dist/mainnet/browser.cjs +8507 -0
  9. package/dist/mainnet/browser.cjs.map +1 -0
  10. package/dist/mainnet/browser.d.cts +72 -0
  11. package/dist/mainnet/browser.d.ts +2 -2
  12. package/dist/mainnet/browser.js +55 -31
  13. package/dist/mainnet/browser.js.map +1 -1
  14. package/dist/mainnet/constants.d.cts +40 -0
  15. package/dist/mainnet/external-signing.d.cts +76 -0
  16. package/dist/mainnet/integrations/sealance/merkle-tree.d.cts +192 -0
  17. package/dist/mainnet/keys/keystore/error.d.cts +24 -0
  18. package/dist/mainnet/keys/keystore/file.d.cts +177 -0
  19. package/dist/mainnet/keys/keystore/interface.d.cts +161 -0
  20. package/dist/mainnet/keys/provider/interface.d.cts +170 -0
  21. package/dist/mainnet/keys/provider/memory.d.cts +213 -0
  22. package/dist/mainnet/keys/provider/memory.d.ts +6 -2
  23. package/dist/mainnet/keys/provider/offline.d.cts +365 -0
  24. package/dist/mainnet/keys/verifier/interface.d.cts +70 -0
  25. package/dist/mainnet/keys/verifier/memory.d.cts +37 -0
  26. package/dist/mainnet/keys/verifier/memory.d.ts +1 -1
  27. package/dist/mainnet/models/authorization.d.cts +6 -0
  28. package/dist/mainnet/models/authorization.d.ts +2 -2
  29. package/dist/mainnet/models/blockJSON.d.cts +33 -0
  30. package/dist/mainnet/models/confirmed_transaction.d.cts +9 -0
  31. package/dist/mainnet/models/cryptoBoxPubkey.d.cts +4 -0
  32. package/dist/mainnet/models/deployment/deploymentJSON.d.cts +6 -0
  33. package/dist/mainnet/models/deployment/deploymentObject.d.cts +6 -0
  34. package/dist/mainnet/models/encryptedProvingRequest.d.cts +4 -0
  35. package/dist/mainnet/models/execution/executionJSON.d.cts +11 -0
  36. package/dist/mainnet/models/execution/executionObject.d.cts +11 -0
  37. package/dist/mainnet/models/external-signing.d.cts +123 -0
  38. package/dist/mainnet/models/finalizeJSON.d.cts +6 -0
  39. package/dist/mainnet/models/functionInput.d.cts +7 -0
  40. package/dist/mainnet/models/functionObject.d.cts +8 -0
  41. package/dist/mainnet/models/imports.d.cts +7 -0
  42. package/dist/mainnet/models/input/inputJSON.d.cts +10 -0
  43. package/dist/mainnet/models/input/inputObject.d.cts +15 -0
  44. package/dist/mainnet/models/inputID.d.cts +4 -0
  45. package/dist/mainnet/models/keyPair.d.cts +4 -0
  46. package/dist/mainnet/models/output/outputJSON.d.cts +7 -0
  47. package/dist/mainnet/models/output/outputObject.d.cts +18 -0
  48. package/dist/mainnet/models/owner/ownerJSON.d.cts +4 -0
  49. package/dist/mainnet/models/owner/ownerObject.d.cts +5 -0
  50. package/dist/mainnet/models/plaintext/array.d.cts +3 -0
  51. package/dist/mainnet/models/plaintext/literal.d.cts +1 -0
  52. package/dist/mainnet/models/plaintext/plaintext.d.cts +5 -0
  53. package/dist/mainnet/models/plaintext/struct.d.cts +5 -0
  54. package/dist/mainnet/models/provingRequest.d.cts +6 -0
  55. package/dist/mainnet/models/provingRequest.d.ts +1 -1
  56. package/dist/mainnet/models/provingResponse.d.cts +51 -0
  57. package/dist/mainnet/models/ratification.d.cts +4 -0
  58. package/dist/mainnet/models/record-provider/encryptedRecord.d.cts +58 -0
  59. package/dist/mainnet/models/record-provider/ownedRecord.d.cts +60 -0
  60. package/dist/mainnet/models/record-provider/recordSearchParams.d.cts +19 -0
  61. package/dist/mainnet/models/record-scanner/encryptedRecordsResult.d.cts +7 -0
  62. package/dist/mainnet/models/record-scanner/encryptedRegistrationRequest.d.cts +8 -0
  63. package/dist/mainnet/models/record-scanner/error.d.cts +47 -0
  64. package/dist/mainnet/models/record-scanner/error.d.ts +1 -1
  65. package/dist/mainnet/models/record-scanner/ownedFilter.d.cts +22 -0
  66. package/dist/mainnet/models/record-scanner/ownedFilter.d.ts +3 -3
  67. package/dist/mainnet/models/record-scanner/ownedRecordsResponseFilter.d.cts +42 -0
  68. package/dist/mainnet/models/record-scanner/ownedRecordsResult.d.cts +13 -0
  69. package/dist/mainnet/models/record-scanner/recordsFilter.d.cts +35 -0
  70. package/dist/mainnet/models/record-scanner/recordsFilter.d.ts +2 -2
  71. package/dist/mainnet/models/record-scanner/recordsResponseFilter.d.cts +42 -0
  72. package/dist/mainnet/models/record-scanner/registrationRequest.d.cts +13 -0
  73. package/dist/mainnet/models/record-scanner/registrationResponse.d.cts +13 -0
  74. package/dist/mainnet/models/record-scanner/registrationResult.d.cts +9 -0
  75. package/dist/mainnet/models/record-scanner/revokeResult.d.cts +17 -0
  76. package/dist/mainnet/models/record-scanner/serialNumbersResult.d.cts +15 -0
  77. package/dist/mainnet/models/record-scanner/statusResponse.d.cts +13 -0
  78. package/dist/mainnet/models/record-scanner/statusResult.d.cts +13 -0
  79. package/dist/mainnet/models/record-scanner/tagsResult.d.cts +12 -0
  80. package/dist/mainnet/models/request.d.cts +14 -0
  81. package/dist/mainnet/models/request.d.ts +1 -1
  82. package/dist/mainnet/models/solution.d.cts +14 -0
  83. package/dist/mainnet/models/transaction/transactionJSON.d.cts +11 -0
  84. package/dist/mainnet/models/transaction/transactionObject.d.cts +14 -0
  85. package/dist/mainnet/models/transition/transitionJSON.d.cts +13 -0
  86. package/dist/mainnet/models/transition/transitionObject.d.cts +15 -0
  87. package/dist/mainnet/network-client.d.cts +850 -0
  88. package/dist/mainnet/network-client.d.ts +3 -0
  89. package/dist/mainnet/node-polyfill.cjs +238 -0
  90. package/dist/mainnet/node-polyfill.cjs.map +1 -0
  91. package/dist/mainnet/node-polyfill.d.cts +5 -0
  92. package/dist/mainnet/node-polyfill.js +1 -1
  93. package/dist/mainnet/node-polyfill.js.map +1 -1
  94. package/dist/mainnet/node.cjs +685 -0
  95. package/dist/mainnet/node.cjs.map +1 -0
  96. package/dist/mainnet/node.d.cts +3 -0
  97. package/dist/mainnet/node.js +1 -1
  98. package/dist/mainnet/polyfill/crypto.d.cts +1 -0
  99. package/dist/mainnet/polyfill/fetch.d.cts +1 -0
  100. package/dist/mainnet/polyfill/shared.d.cts +1 -0
  101. package/dist/mainnet/polyfill/worker.d.cts +1 -0
  102. package/dist/mainnet/polyfill/xmlhttprequest.d.cts +1 -0
  103. package/dist/mainnet/program-manager.d.cts +1588 -0
  104. package/dist/mainnet/record-provider.d.cts +274 -0
  105. package/dist/mainnet/record-scanner.d.cts +371 -0
  106. package/dist/mainnet/record-scanner.d.ts +9 -6
  107. package/dist/mainnet/security.d.cts +62 -0
  108. package/dist/mainnet/security.d.ts +5 -5
  109. package/dist/mainnet/utils.d.cts +23 -0
  110. package/dist/mainnet/utils.d.ts +10 -2
  111. package/dist/mainnet/wasm.d.cts +1 -0
  112. package/dist/testnet/account.d.cts +347 -0
  113. package/dist/testnet/browser.cjs +8507 -0
  114. package/dist/testnet/browser.cjs.map +1 -0
  115. package/dist/testnet/browser.d.cts +72 -0
  116. package/dist/testnet/browser.d.ts +2 -2
  117. package/dist/testnet/browser.js +55 -31
  118. package/dist/testnet/browser.js.map +1 -1
  119. package/dist/testnet/constants.d.cts +40 -0
  120. package/dist/testnet/external-signing.d.cts +76 -0
  121. package/dist/testnet/integrations/sealance/merkle-tree.d.cts +192 -0
  122. package/dist/testnet/keys/keystore/error.d.cts +24 -0
  123. package/dist/testnet/keys/keystore/file.d.cts +177 -0
  124. package/dist/testnet/keys/keystore/interface.d.cts +161 -0
  125. package/dist/testnet/keys/provider/interface.d.cts +170 -0
  126. package/dist/testnet/keys/provider/memory.d.cts +213 -0
  127. package/dist/testnet/keys/provider/memory.d.ts +6 -2
  128. package/dist/testnet/keys/provider/offline.d.cts +365 -0
  129. package/dist/testnet/keys/verifier/interface.d.cts +70 -0
  130. package/dist/testnet/keys/verifier/memory.d.cts +37 -0
  131. package/dist/testnet/keys/verifier/memory.d.ts +1 -1
  132. package/dist/testnet/models/authorization.d.cts +6 -0
  133. package/dist/testnet/models/authorization.d.ts +2 -2
  134. package/dist/testnet/models/blockJSON.d.cts +33 -0
  135. package/dist/testnet/models/confirmed_transaction.d.cts +9 -0
  136. package/dist/testnet/models/cryptoBoxPubkey.d.cts +4 -0
  137. package/dist/testnet/models/deployment/deploymentJSON.d.cts +6 -0
  138. package/dist/testnet/models/deployment/deploymentObject.d.cts +6 -0
  139. package/dist/testnet/models/encryptedProvingRequest.d.cts +4 -0
  140. package/dist/testnet/models/execution/executionJSON.d.cts +11 -0
  141. package/dist/testnet/models/execution/executionObject.d.cts +11 -0
  142. package/dist/testnet/models/external-signing.d.cts +123 -0
  143. package/dist/testnet/models/finalizeJSON.d.cts +6 -0
  144. package/dist/testnet/models/functionInput.d.cts +7 -0
  145. package/dist/testnet/models/functionObject.d.cts +8 -0
  146. package/dist/testnet/models/imports.d.cts +7 -0
  147. package/dist/testnet/models/input/inputJSON.d.cts +10 -0
  148. package/dist/testnet/models/input/inputObject.d.cts +15 -0
  149. package/dist/testnet/models/inputID.d.cts +4 -0
  150. package/dist/testnet/models/keyPair.d.cts +4 -0
  151. package/dist/testnet/models/output/outputJSON.d.cts +7 -0
  152. package/dist/testnet/models/output/outputObject.d.cts +18 -0
  153. package/dist/testnet/models/owner/ownerJSON.d.cts +4 -0
  154. package/dist/testnet/models/owner/ownerObject.d.cts +5 -0
  155. package/dist/testnet/models/plaintext/array.d.cts +3 -0
  156. package/dist/testnet/models/plaintext/literal.d.cts +1 -0
  157. package/dist/testnet/models/plaintext/plaintext.d.cts +5 -0
  158. package/dist/testnet/models/plaintext/struct.d.cts +5 -0
  159. package/dist/testnet/models/provingRequest.d.cts +6 -0
  160. package/dist/testnet/models/provingRequest.d.ts +1 -1
  161. package/dist/testnet/models/provingResponse.d.cts +51 -0
  162. package/dist/testnet/models/ratification.d.cts +4 -0
  163. package/dist/testnet/models/record-provider/encryptedRecord.d.cts +58 -0
  164. package/dist/testnet/models/record-provider/ownedRecord.d.cts +60 -0
  165. package/dist/testnet/models/record-provider/recordSearchParams.d.cts +19 -0
  166. package/dist/testnet/models/record-scanner/encryptedRecordsResult.d.cts +7 -0
  167. package/dist/testnet/models/record-scanner/encryptedRegistrationRequest.d.cts +8 -0
  168. package/dist/testnet/models/record-scanner/error.d.cts +47 -0
  169. package/dist/testnet/models/record-scanner/error.d.ts +1 -1
  170. package/dist/testnet/models/record-scanner/ownedFilter.d.cts +22 -0
  171. package/dist/testnet/models/record-scanner/ownedFilter.d.ts +3 -3
  172. package/dist/testnet/models/record-scanner/ownedRecordsResponseFilter.d.cts +42 -0
  173. package/dist/testnet/models/record-scanner/ownedRecordsResult.d.cts +13 -0
  174. package/dist/testnet/models/record-scanner/recordsFilter.d.cts +35 -0
  175. package/dist/testnet/models/record-scanner/recordsFilter.d.ts +2 -2
  176. package/dist/testnet/models/record-scanner/recordsResponseFilter.d.cts +42 -0
  177. package/dist/testnet/models/record-scanner/registrationRequest.d.cts +13 -0
  178. package/dist/testnet/models/record-scanner/registrationResponse.d.cts +13 -0
  179. package/dist/testnet/models/record-scanner/registrationResult.d.cts +9 -0
  180. package/dist/testnet/models/record-scanner/revokeResult.d.cts +17 -0
  181. package/dist/testnet/models/record-scanner/serialNumbersResult.d.cts +15 -0
  182. package/dist/testnet/models/record-scanner/statusResponse.d.cts +13 -0
  183. package/dist/testnet/models/record-scanner/statusResult.d.cts +13 -0
  184. package/dist/testnet/models/record-scanner/tagsResult.d.cts +12 -0
  185. package/dist/testnet/models/request.d.cts +14 -0
  186. package/dist/testnet/models/request.d.ts +1 -1
  187. package/dist/testnet/models/solution.d.cts +14 -0
  188. package/dist/testnet/models/transaction/transactionJSON.d.cts +11 -0
  189. package/dist/testnet/models/transaction/transactionObject.d.cts +14 -0
  190. package/dist/testnet/models/transition/transitionJSON.d.cts +13 -0
  191. package/dist/testnet/models/transition/transitionObject.d.cts +15 -0
  192. package/dist/testnet/network-client.d.cts +850 -0
  193. package/dist/testnet/network-client.d.ts +3 -0
  194. package/dist/testnet/node-polyfill.cjs +238 -0
  195. package/dist/testnet/node-polyfill.cjs.map +1 -0
  196. package/dist/testnet/node-polyfill.d.cts +5 -0
  197. package/dist/testnet/node-polyfill.js +1 -1
  198. package/dist/testnet/node-polyfill.js.map +1 -1
  199. package/dist/testnet/node.cjs +685 -0
  200. package/dist/testnet/node.cjs.map +1 -0
  201. package/dist/testnet/node.d.cts +3 -0
  202. package/dist/testnet/node.js +1 -1
  203. package/dist/testnet/polyfill/crypto.d.cts +1 -0
  204. package/dist/testnet/polyfill/fetch.d.cts +1 -0
  205. package/dist/testnet/polyfill/shared.d.cts +1 -0
  206. package/dist/testnet/polyfill/worker.d.cts +1 -0
  207. package/dist/testnet/polyfill/xmlhttprequest.d.cts +1 -0
  208. package/dist/testnet/program-manager.d.cts +1588 -0
  209. package/dist/testnet/record-provider.d.cts +274 -0
  210. package/dist/testnet/record-scanner.d.cts +371 -0
  211. package/dist/testnet/record-scanner.d.ts +9 -6
  212. package/dist/testnet/security.d.cts +62 -0
  213. package/dist/testnet/security.d.ts +5 -5
  214. package/dist/testnet/utils.d.cts +23 -0
  215. package/dist/testnet/utils.d.ts +10 -2
  216. package/dist/testnet/wasm.d.cts +1 -0
  217. package/package.json +51 -9
@@ -0,0 +1,72 @@
1
+ import "./polyfill/shared.js";
2
+ import { Account } from "./account.js";
3
+ import { AleoNetworkClient, ProgramImports } from "./network-client.js";
4
+ import { BlockJSON, Header, Metadata } from "./models/blockJSON.js";
5
+ import { CachedKeyPair, FunctionKeyPair } from "./models/keyPair.js";
6
+ import { ConfirmedTransactionJSON } from "./models/confirmed_transaction.js";
7
+ import { CryptoBoxPubKey } from "./models/cryptoBoxPubkey.js";
8
+ import { DeploymentJSON, VerifyingKeys } from "./models/deployment/deploymentJSON.js";
9
+ import { DeploymentObject } from "./models/deployment/deploymentObject.js";
10
+ import { EncryptedProvingRequest } from "./models/encryptedProvingRequest.js";
11
+ import { EncryptedRecord } from "./models/record-provider/encryptedRecord.js";
12
+ import { ExecutionJSON, FeeExecutionJSON } from "./models/execution/executionJSON.js";
13
+ import { ExecutionObject, FeeExecutionObject } from "./models/execution/executionObject.js";
14
+ import { FinalizeJSON } from "./models/finalizeJSON.js";
15
+ import { FunctionInput } from "./models/functionInput.js";
16
+ import { FunctionObject } from "./models/functionObject.js";
17
+ import { ImportedVerifyingKeys, ImportedPrograms } from "./models/imports.js";
18
+ import { InputJSON } from "./models/input/inputJSON.js";
19
+ import { InputObject } from "./models/input/inputObject.js";
20
+ import { OutputJSON } from "./models/output/outputJSON.js";
21
+ import { OutputObject } from "./models/output/outputObject.js";
22
+ import { OwnedFilter } from "./models/record-scanner/ownedFilter.js";
23
+ import { OwnedRecord } from "./models/record-provider/ownedRecord.js";
24
+ import { OwnerJSON } from "./models/owner/ownerJSON.js";
25
+ import { PlaintextArray } from "./models/plaintext/array.js";
26
+ import { PlaintextLiteral } from "./models/plaintext/literal.js";
27
+ import { PlaintextObject } from "./models/plaintext/plaintext.js";
28
+ import { PlaintextStruct } from "./models/plaintext/struct.js";
29
+ import { ProvingRequestJSON } from "./models/provingRequest.js";
30
+ import { ProvingResponse, BroadcastResponse, BroadcastResult, ProvingResult, ProvingFailure, ProvingSuccess, ProveApiErrorBody, ProvingRequestError, isProvingResponse, isProveApiErrorBody } from "./models/provingResponse.js";
31
+ import { RatificationJSON } from "./models/ratification.js";
32
+ import { EncryptedRegistrationRequest } from "./models/record-scanner/encryptedRegistrationRequest.js";
33
+ import { EncryptedRecordsResult, EncryptedRecordsSuccess } from "./models/record-scanner/encryptedRecordsResult.js";
34
+ import { DecryptionNotEnabledError, RecordNotFoundError, RecordScannerErrorBody, RecordScannerFailure, RecordScannerRequestError, UUIDError, ViewKeyNotStoredError } from "./models/record-scanner/error.js";
35
+ import { OwnedRecordsResult, OwnedRecordsSuccess } from "./models/record-scanner/ownedRecordsResult.js";
36
+ import { OwnedRecordsResponseFilter } from "./models/record-scanner/ownedRecordsResponseFilter.js";
37
+ import { RegisterResult, RegisterSuccess } from "./models/record-scanner/registrationResult.js";
38
+ import { RegistrationRequest } from "./models/record-scanner/registrationRequest.js";
39
+ import { RegistrationResponse } from "./models/record-scanner/registrationResponse.js";
40
+ import { RevokeResult, RevokeSuccess, RevokeResponse } from "./models/record-scanner/revokeResult.js";
41
+ import { RecordsFilter } from "./models/record-scanner/recordsFilter.js";
42
+ import { RecordsResponseFilter } from "./models/record-scanner/recordsResponseFilter.js";
43
+ import { SerialNumbersResult, SerialNumbersSuccess } from "./models/record-scanner/serialNumbersResult.js";
44
+ import { StatusResponse } from "./models/record-scanner/statusResponse.js";
45
+ import { StatusResult, StatusSuccess } from "./models/record-scanner/statusResult.js";
46
+ import { TagsResult, TagsSuccess } from "./models/record-scanner/tagsResult.js";
47
+ import { RecordSearchParams } from "./models/record-provider/recordSearchParams.js";
48
+ import { SolutionsJSON, SolutionJSON, PartialSolutionJSON } from "./models/solution.js";
49
+ import { TransactionJSON } from "./models/transaction/transactionJSON.js";
50
+ import { TransactionObject } from "./models/transaction/transactionObject.js";
51
+ import { TransitionJSON } from "./models/transition/transitionJSON.js";
52
+ import { TransitionObject } from "./models/transition/transitionObject.js";
53
+ import { FunctionKeyProvider, KeySearchParams } from "./keys/provider/interface.js";
54
+ import { AleoKeyProvider, AleoKeyProviderParams, AleoKeyProviderInitParams } from "./keys/provider/memory.js";
55
+ import { KeyFingerprint, KeyMetadata, KeyVerificationError, KeyVerifier, sha256Hex } from "./keys/verifier/interface.js";
56
+ import { MemKeyVerifier } from "./keys/verifier/memory.js";
57
+ import { BaseFunctionKeyLocator, InvalidLocatorError, InvalidLocatorReason, KeyLocator, KeyStore, KeyType, ProvingKeyLocator, TranslationKeyLocator, VerifyingKeyLocator, provingKeyLocator, verifyingKeyLocator, translationKeyLocator } from "./keys/keystore/interface.js";
58
+ import { OfflineKeyProvider, OfflineSearchParams } from "./keys/provider/offline.js";
59
+ import { BlockHeightSearch, NetworkRecordProvider, RecordProvider } from "./record-provider.js";
60
+ import { RecordScanner, RecordScannerJWTData, RecordScannerOptions } from "./record-scanner.js";
61
+ import { SealanceMerkleTree } from "./integrations/sealance/merkle-tree.js";
62
+ declare function initializeWasm(): Promise<void>;
63
+ export { ProgramManager, ProvingRequestOptions, ExecuteOptions, FeeAuthorizationOptions, AuthorizationOptions, VerificationOptions, BatchVerificationOptions, inputsToFields, verifyProof, verifyBatchProof } from "./program-manager.js";
64
+ export { logAndThrow, TransportFunction } from "./utils.js";
65
+ export { Address, Authorization, Boolean, BHP256, BHP512, BHP768, BHP1024, Ciphertext, ComputeKey, DynamicRecord, Execution as FunctionExecution, ExecutionRequest, ExecutionResponse, EncryptionToolkit, Field, GraphKey, Group, I8, I16, I32, I64, I128, OfflineQuery, Pedersen64, Pedersen128, Plaintext, Poseidon2, Poseidon4, Poseidon8, PrivateKey, PrivateKeyCiphertext, Program, ProgramManager as ProgramManagerBase, Proof, ProvingKey, ProvingRequest, RecordCiphertext, RecordPlaintext, Signature, Scalar, stringToField, Transaction, Transition, U8, U16, U32, U64, U128, Value, VerifyingKey, ViewKey, initThreadPool, getOrInitConsensusVersionTestHeights, snarkVerify, snarkVerifyBatch, verifyFunctionExecution, } from "./wasm.js";
66
+ export { initializeWasm };
67
+ export { Key, CREDITS_PROGRAM_KEYS, KEY_STORE, PRIVATE_TRANSFER, PRIVATE_TO_PUBLIC_TRANSFER, PRIVATE_TRANSFER_TYPES, PUBLIC_TRANSFER, PUBLIC_TRANSFER_AS_SIGNER, PUBLIC_TO_PRIVATE_TRANSFER, RECORD_DOMAIN, VALID_TRANSFER_TYPES, } from "./constants.js";
68
+ export { Account, AleoKeyProvider, AleoKeyProviderParams, AleoKeyProviderInitParams, AleoNetworkClient, BlockJSON, BlockHeightSearch, BroadcastResponse, BroadcastResult, CachedKeyPair, ConfirmedTransactionJSON, CryptoBoxPubKey, DecryptionNotEnabledError, DeploymentJSON, DeploymentObject, EncryptedProvingRequest, EncryptedRecord, EncryptedRegistrationRequest, EncryptedRecordsResult, EncryptedRecordsSuccess, ExecutionJSON, ExecutionObject, FeeExecutionJSON, FeeExecutionObject, FinalizeJSON, FunctionInput, FunctionObject, FunctionKeyPair, FunctionKeyProvider, Header, isProvingResponse, isProveApiErrorBody, ImportedPrograms, ImportedVerifyingKeys, InputJSON, InputObject, InvalidLocatorError, InvalidLocatorReason, BaseFunctionKeyLocator, KeyFingerprint, KeyLocator, KeyMetadata, KeySearchParams, KeyStore, KeyType, KeyVerificationError, ProvingKeyLocator, provingKeyLocator, TranslationKeyLocator, translationKeyLocator, VerifyingKeyLocator, verifyingKeyLocator, KeyVerifier, MemKeyVerifier, Metadata, NetworkRecordProvider, OfflineKeyProvider, OfflineSearchParams, OutputJSON, OutputObject, OwnedFilter, OwnedRecord, OwnedRecordsResult, OwnedRecordsResponseFilter, OwnedRecordsSuccess, OwnerJSON, PartialSolutionJSON, PlaintextArray, PlaintextLiteral, PlaintextObject, PlaintextStruct, ProgramImports, ProveApiErrorBody, ProvingFailure, ProvingRequestError, ProvingRequestJSON, ProvingResult, ProvingSuccess, ProvingResponse, RatificationJSON, RecordsFilter, RecordsResponseFilter, RecordProvider, RecordScanner, RecordScannerErrorBody, RecordScannerFailure, RecordScannerJWTData, RecordScannerOptions, RecordNotFoundError, RecordScannerRequestError, ViewKeyNotStoredError, RecordSearchParams, RegisterResult, RegisterSuccess, RegistrationRequest, RegistrationResponse, RevokeResult, RevokeSuccess, RevokeResponse, SealanceMerkleTree, SerialNumbersResult, SerialNumbersSuccess, sha256Hex, SolutionJSON, SolutionsJSON, StatusResponse, StatusResult, StatusSuccess, TagsResult, TagsSuccess, TransactionJSON, TransactionObject, TransitionJSON, TransitionObject, UUIDError, VerifyingKeys, };
69
+ export { KeyVerificationError as ChecksumMismatchError, KeyVerifier as FunctionKeyVerifier, } from "./keys/verifier/interface.js";
70
+ export { encryptAuthorization, encryptProvingRequest, encryptViewKey, encryptRegistrationRequest, zeroizeBytes } from "./security.js";
71
+ export { toField, toGroup, toViewKey, toSignature, toAddress, isViewKeyStrategy, isInputIdStrategy, isRecordViewKeyStrategy, buildExecutionRequestFromExternallySignedData, computeExternalSigningInputs, } from "./external-signing.js";
72
+ export type { FieldLike, GroupLike, ViewKeyLike, SignatureLike, AddressLike, InputID, ExecutionRequestParams, RecordViewKeyStrategy, ViewKeyStrategy, InputIdStrategy, InputStrategy, ExternalSigningInput, ExternalSigningOptions, RequestSignInput, OutputFormat, FieldOutput, } from "./external-signing.js";
@@ -12,7 +12,7 @@ import { EncryptedRecord } from "./models/record-provider/encryptedRecord.js";
12
12
  import { ExecutionJSON, FeeExecutionJSON } from "./models/execution/executionJSON.js";
13
13
  import { ExecutionObject, FeeExecutionObject } from "./models/execution/executionObject.js";
14
14
  import { FinalizeJSON } from "./models/finalizeJSON.js";
15
- import { FunctionInput } from "./models/functionInput";
15
+ import { FunctionInput } from "./models/functionInput.js";
16
16
  import { FunctionObject } from "./models/functionObject.js";
17
17
  import { ImportedVerifyingKeys, ImportedPrograms } from "./models/imports.js";
18
18
  import { InputJSON } from "./models/input/inputJSON.js";
@@ -61,7 +61,7 @@ import { RecordScanner, RecordScannerJWTData, RecordScannerOptions } from "./rec
61
61
  import { SealanceMerkleTree } from "./integrations/sealance/merkle-tree.js";
62
62
  declare function initializeWasm(): Promise<void>;
63
63
  export { ProgramManager, ProvingRequestOptions, ExecuteOptions, FeeAuthorizationOptions, AuthorizationOptions, VerificationOptions, BatchVerificationOptions, inputsToFields, verifyProof, verifyBatchProof } from "./program-manager.js";
64
- export { logAndThrow } from "./utils.js";
64
+ export { logAndThrow, TransportFunction } from "./utils.js";
65
65
  export { Address, Authorization, Boolean, BHP256, BHP512, BHP768, BHP1024, Ciphertext, ComputeKey, DynamicRecord, Execution as FunctionExecution, ExecutionRequest, ExecutionResponse, EncryptionToolkit, Field, GraphKey, Group, I8, I16, I32, I64, I128, OfflineQuery, Pedersen64, Pedersen128, Plaintext, Poseidon2, Poseidon4, Poseidon8, PrivateKey, PrivateKeyCiphertext, Program, ProgramManager as ProgramManagerBase, Proof, ProvingKey, ProvingRequest, RecordCiphertext, RecordPlaintext, Signature, Scalar, stringToField, Transaction, Transition, U8, U16, U32, U64, U128, Value, VerifyingKey, ViewKey, initThreadPool, getOrInitConsensusVersionTestHeights, snarkVerify, snarkVerifyBatch, verifyFunctionExecution, } from "./wasm.js";
66
66
  export { initializeWasm };
67
67
  export { Key, CREDITS_PROGRAM_KEYS, KEY_STORE, PRIVATE_TRANSFER, PRIVATE_TO_PUBLIC_TRANSFER, PRIVATE_TRANSFER_TYPES, PUBLIC_TRANSFER, PUBLIC_TRANSFER_AS_SIGNER, PUBLIC_TO_PRIVATE_TRANSFER, RECORD_DOMAIN, VALID_TRANSFER_TYPES, } from "./constants.js";
@@ -1,12 +1,11 @@
1
1
  import 'core-js/proposals/json-parse-with-source.js';
2
2
  import { ViewKey, ComputeKey, Address, PrivateKeyCiphertext, PrivateKey, RecordCiphertext, EncryptionToolkit, Group, Metadata, VerifyingKey, Program, Plaintext, Transaction, ProvingRequest, ProvingKey, RecordPlaintext, Field, Poseidon4, ProgramManager as ProgramManager$1, ExecutionRequest, stringToField, verifyFunctionExecution, Value, Proof, Signature } from '@provablehq/wasm/mainnet.js';
3
3
  export { Address, Authorization, BHP1024, BHP256, BHP512, BHP768, Boolean, Ciphertext, ComputeKey, DynamicRecord, EncryptionToolkit, ExecutionRequest, ExecutionResponse, Field, Execution as FunctionExecution, GraphKey, Group, I128, I16, I32, I64, I8, OfflineQuery, Pedersen128, Pedersen64, Plaintext, Poseidon2, Poseidon4, Poseidon8, PrivateKey, PrivateKeyCiphertext, Program, ProgramManager as ProgramManagerBase, Proof, ProvingKey, ProvingRequest, RecordCiphertext, RecordPlaintext, Scalar, Signature, Transaction, Transition, U128, U16, U32, U64, U8, Value, VerifyingKey, ViewKey, getOrInitConsensusVersionTestHeights, initThreadPool, snarkVerify, snarkVerifyBatch, stringToField, verifyFunctionExecution } from '@provablehq/wasm/mainnet.js';
4
- import sodium from 'libsodium-wrappers';
5
- import { bech32m } from '@scure/base';
4
+ import { cryptoBoxSeal } from '@serenity-kit/noble-sodium';
5
+ import { base64, bech32m } from '@scure/base';
6
6
 
7
- await sodium.ready;
8
7
  /**
9
- * Encrypt an authorization with a libsodium cryptobox public key.
8
+ * Encrypt an authorization with a cryptobox X25519 public key (libsodium-compatible wire format).
10
9
  *
11
10
  * @param {string} publicKey The cryptobox X25519 public key to encrypt with (encoded in RFC 4648 standard Base64).
12
11
  * @param {Authorization} authorization the authorization to encrypt.
@@ -14,14 +13,13 @@ await sodium.ready;
14
13
  * @returns {string} the encrypted authorization in RFC 4648 standard Base64.
15
14
  */
16
15
  function encryptAuthorization(publicKey, authorization) {
17
- // Ready the cryptobox lib.
18
16
  return encryptMessage(publicKey, authorization.toBytesLe());
19
17
  }
20
18
  /**
21
- * Encrypt a ProvingRequest with a libsodium cryptobox public key.
19
+ * Encrypt a ProvingRequest with a cryptobox X25519 public key (libsodium-compatible wire format).
22
20
  *
23
21
  * @param {string} publicKey The cryptobox X25519 public key to encrypt with (encoded in RFC 4648 standard Base64).
24
- * @param {Authorization} provingRequest the ProvingRequest to encrypt.
22
+ * @param {ProvingRequest} provingRequest the ProvingRequest to encrypt.
25
23
  *
26
24
  * @returns {string} the encrypted ProvingRequest in RFC 4648 standard Base64.
27
25
  */
@@ -29,7 +27,7 @@ function encryptProvingRequest(publicKey, provingRequest) {
29
27
  return encryptMessage(publicKey, provingRequest.toBytesLe());
30
28
  }
31
29
  /**
32
- * Encrypt a view key with a libsodium cryptobox public key.
30
+ * Encrypt a view key with a cryptobox X25519 public key (libsodium-compatible wire format).
33
31
  *
34
32
  * @param {string} publicKey The cryptobox X25519 public key to encrypt with (encoded in RFC 4648 standard Base64).
35
33
  * @param {ViewKey} viewKey the view key to encrypt.
@@ -95,7 +93,17 @@ function zeroizeBytes(bytes) {
95
93
  bytes.fill(0);
96
94
  }
97
95
  /**
98
- * Encrypt arbitrary bytes with a libsodium cryptobox public key.
96
+ * Encrypt arbitrary bytes with a cryptobox public key using the libsodium
97
+ * `crypto_box_seal` wire format.
98
+ *
99
+ * The implementation is delegated to `@serenity-kit/noble-sodium`, which
100
+ * composes the primitive steps of `crypto_box_seal` — ephemeral X25519
101
+ * keypair, blake2b-24 nonce derivation over `epk || rpk`, HSalsa20 key
102
+ * derivation from the ECDH shared secret, and XSalsa20-Poly1305 AEAD — on
103
+ * top of the audited `@noble/*` primitives. Output is byte-identical to
104
+ * libsodium's `crypto_box_seal` for any given ephemeral key, so ciphertexts
105
+ * are decryptable by any libsodium-compatible backend (e.g. `sodiumoxide`,
106
+ * `libsodium-sys`) with no changes.
99
107
  *
100
108
  * @param {string} publicKey The cryptobox X25519 public key to encrypt with (encoded in RFC 4648 standard Base64).
101
109
  * @param {Uint8Array} message the bytes to encrypt.
@@ -103,8 +111,9 @@ function zeroizeBytes(bytes) {
103
111
  * @returns {string} the encrypted bytes in RFC 4648 standard Base64.
104
112
  */
105
113
  function encryptMessage(publicKey, message) {
106
- const publicKeyBytes = sodium.from_base64(publicKey, sodium.base64_variants.ORIGINAL);
107
- return sodium.to_base64(sodium.crypto_box_seal(message, publicKeyBytes), sodium.base64_variants.ORIGINAL);
114
+ const publicKeyBytes = base64.decode(publicKey);
115
+ const ciphertext = cryptoBoxSeal({ message, publicKey: publicKeyBytes });
116
+ return base64.encode(ciphertext);
108
117
  }
109
118
 
110
119
  /**
@@ -628,6 +637,8 @@ function logAndThrow(message) {
628
637
  console.error(message);
629
638
  throw new Error(message);
630
639
  }
640
+ /** Default transport — wraps global fetch to avoid illegal-invocation errors in browsers. */
641
+ const defaultTransport = (...args) => fetch(...args);
631
642
  function parseJSON(json) {
632
643
  function revive(key, value, context) {
633
644
  if (Number.isInteger(value)) {
@@ -639,16 +650,16 @@ function parseJSON(json) {
639
650
  }
640
651
  return JSON.parse(json, revive);
641
652
  }
642
- async function get(url, options) {
643
- const response = await fetch(url, options);
653
+ async function get(url, options, transport = defaultTransport) {
654
+ const response = await transport(url, options);
644
655
  if (!response.ok) {
645
656
  throw new Error(response.status + " could not get URL " + url);
646
657
  }
647
658
  return response;
648
659
  }
649
- async function post(url, options) {
660
+ async function post(url, options, transport = defaultTransport) {
650
661
  options.method = "POST";
651
- const response = await fetch(url, options);
662
+ const response = await transport(url, options);
652
663
  if (!response.ok) {
653
664
  const error = await response.text();
654
665
  let message = `${response.status} error received from ${url}`;
@@ -829,6 +840,7 @@ class AleoNetworkClient {
829
840
  ctx;
830
841
  verboseErrors;
831
842
  network;
843
+ transport;
832
844
  apiKey;
833
845
  consumerId;
834
846
  jwtData;
@@ -842,6 +854,7 @@ class AleoNetworkClient {
842
854
  this.network = "mainnet";
843
855
  this.ctx = {};
844
856
  this.verboseErrors = true;
857
+ this.transport = options?.transport ?? defaultTransport;
845
858
  if (options) {
846
859
  if (options.headers) {
847
860
  this.headers = options.headers;
@@ -849,7 +862,7 @@ class AleoNetworkClient {
849
862
  else {
850
863
  this.headers = {
851
864
  // This is replaced by the actual version by a Rollup plugin
852
- "X-Aleo-SDK-Version": "0.10.2",
865
+ "X-Aleo-SDK-Version": "0.10.3",
853
866
  "X-Aleo-environment": environment(),
854
867
  };
855
868
  }
@@ -865,7 +878,7 @@ class AleoNetworkClient {
865
878
  else {
866
879
  this.headers = {
867
880
  // This is replaced by the actual version by a Rollup plugin
868
- "X-Aleo-SDK-Version": "0.10.2",
881
+ "X-Aleo-SDK-Version": "0.10.3",
869
882
  "X-Aleo-environment": environment(),
870
883
  };
871
884
  }
@@ -1012,7 +1025,7 @@ class AleoNetworkClient {
1012
1025
  ...this.headers,
1013
1026
  ...ctx,
1014
1027
  },
1015
- });
1028
+ }, this.transport);
1016
1029
  return await response.text();
1017
1030
  });
1018
1031
  }
@@ -1028,7 +1041,7 @@ class AleoNetworkClient {
1028
1041
  * @returns The Response object from the POST request.
1029
1042
  */
1030
1043
  async _sendPost(url, options) {
1031
- return post(url, options);
1044
+ return post(url, options, this.transport);
1032
1045
  }
1033
1046
  /**
1034
1047
  * Attempt to find records in the Aleo blockchain.
@@ -2229,7 +2242,7 @@ class AleoNetworkClient {
2229
2242
  headers: Object.assign({}, { ...this.headers, "X-ALEO-METHOD": "submitSolution" }, {
2230
2243
  "Content-Type": "application/json",
2231
2244
  }),
2232
- }));
2245
+ }, this.transport));
2233
2246
  try {
2234
2247
  const text = await response.text();
2235
2248
  return parseJSON(text);
@@ -2257,7 +2270,7 @@ class AleoNetworkClient {
2257
2270
  headers: {
2258
2271
  'X-Provable-API-Key': apiKey
2259
2272
  }
2260
- });
2273
+ }, this.transport);
2261
2274
  const authHeader = response.headers.get('authorization');
2262
2275
  if (!authHeader) {
2263
2276
  throw new Error('No authorization header in JWT refresh response');
@@ -2366,7 +2379,7 @@ class AleoNetworkClient {
2366
2379
  const pubKeyResponse = await get(proverUri + "/pubkey", {
2367
2380
  headers,
2368
2381
  credentials: "include",
2369
- });
2382
+ }, this.transport);
2370
2383
  // Encrypt the provingRequest.
2371
2384
  const pubkey = parseJSON(await pubKeyResponse.text());
2372
2385
  const ciphertext = encryptProvingRequest(pubkey.public_key, ProvingRequest.fromString(provingRequestString));
@@ -2378,7 +2391,7 @@ class AleoNetworkClient {
2378
2391
  // We're in node, attempt to set the cookie manually.
2379
2392
  const cookie = isNode() ? pubKeyResponse.headers.get("set-cookie") : undefined;
2380
2393
  // Send the encrypted proving request to the DPS service.
2381
- const res = await fetch(`${proverUri}/prove/encrypted`, {
2394
+ const res = await this.transport(`${proverUri}/prove/encrypted`, {
2382
2395
  method: "POST",
2383
2396
  body: JSON.stringify(payload),
2384
2397
  headers: {
@@ -2394,7 +2407,7 @@ class AleoNetworkClient {
2394
2407
  const proveEndpoint = proverUri.endsWith("/prove")
2395
2408
  ? proverUri
2396
2409
  : proverUri + "/prove";
2397
- const res = await fetch(proveEndpoint, {
2410
+ const res = await this.transport(proveEndpoint, {
2398
2411
  method: "POST",
2399
2412
  body: provingRequestString,
2400
2413
  headers,
@@ -2466,7 +2479,7 @@ class AleoNetworkClient {
2466
2479
  return reject(new Error(`Transaction ${transactionId} did not appear after the timeout period of ${interval}ms - consider resubmitting the transaction`));
2467
2480
  }
2468
2481
  try {
2469
- const res = await fetch(`${this.host}/transaction/confirmed/${transactionId}`, {
2482
+ const res = await this.transport(`${this.host}/transaction/confirmed/${transactionId}`, {
2470
2483
  headers: {
2471
2484
  ...this.headers,
2472
2485
  "X-ALEO-METHOD": "waitForTransactionConfirmation",
@@ -2602,9 +2615,10 @@ class AleoKeyProvider {
2602
2615
  cache;
2603
2616
  cacheOption;
2604
2617
  keyUris;
2618
+ transport;
2605
2619
  async fetchBytes(url = "/") {
2606
2620
  try {
2607
- const response = await get(url);
2621
+ const response = await get(url, undefined, this.transport);
2608
2622
  const data = await response.arrayBuffer();
2609
2623
  return new Uint8Array(data);
2610
2624
  }
@@ -2612,10 +2626,11 @@ class AleoKeyProvider {
2612
2626
  throw new Error("Error fetching data." + error.message);
2613
2627
  }
2614
2628
  }
2615
- constructor() {
2629
+ constructor(options) {
2616
2630
  this.keyUris = KEY_STORE;
2617
2631
  this.cache = new Map();
2618
2632
  this.cacheOption = false;
2633
+ this.transport = options?.transport ?? defaultTransport;
2619
2634
  }
2620
2635
  async keyStore() {
2621
2636
  return undefined;
@@ -2985,7 +3000,7 @@ class AleoKeyProvider {
2985
3000
  default:
2986
3001
  try {
2987
3002
  /// Try to fetch the verifying key from the network as a string
2988
- const response = await get(verifierUri);
3003
+ const response = await get(verifierUri, undefined, this.transport);
2989
3004
  const text = await response.text();
2990
3005
  return VerifyingKey.fromString(text);
2991
3006
  }
@@ -4069,6 +4084,7 @@ class RecordScanner {
4069
4084
  viewKeys;
4070
4085
  autoReRegister;
4071
4086
  decryptEnabled;
4087
+ transport;
4072
4088
  account;
4073
4089
  /**
4074
4090
  * @param {RecordScannerOptions} options Configuration for the record scanner.
@@ -4076,6 +4092,7 @@ class RecordScanner {
4076
4092
  constructor(options) {
4077
4093
  // Set the network by detecting which version of the SDK is being used.
4078
4094
  const network = "/mainnet";
4095
+ this.transport = options.transport ?? defaultTransport;
4079
4096
  // If the user has configured a network in their uri, throw.
4080
4097
  if (options.url.endsWith("/mainnet") || options.url.endsWith("/testnet")) {
4081
4098
  throw new Error("The record scanning url should not include the specific network, this is automatically configured by the Provable SDK.");
@@ -4216,7 +4233,7 @@ class RecordScanner {
4216
4233
  headers: {
4217
4234
  "X-Provable-API-Key": apiKey,
4218
4235
  },
4219
- });
4236
+ }, this.transport);
4220
4237
  const authHeader = response.headers.get("authorization");
4221
4238
  if (!authHeader) {
4222
4239
  throw new Error("No authorization header in JWT refresh response");
@@ -4785,7 +4802,14 @@ class RecordScanner {
4785
4802
  if (this.apiKey) {
4786
4803
  req.headers.set(this.apiKey.header, this.apiKey.value);
4787
4804
  }
4788
- const response = await fetch(req);
4805
+ const body = req.body ? await req.text() : undefined;
4806
+ const plainHeaders = {};
4807
+ req.headers.forEach((value, key) => { plainHeaders[key] = value; });
4808
+ const response = await this.transport(req.url, {
4809
+ method: req.method,
4810
+ headers: plainHeaders,
4811
+ body,
4812
+ });
4789
4813
  // Non-2xx: throw so callers can handleRequestError or re-register on 422 if autoReRegister is enabled.
4790
4814
  if (!response.ok) {
4791
4815
  const text = await response.text();
@@ -5160,7 +5184,7 @@ class ProgramManager {
5160
5184
  constructor(host, keyProvider, recordProvider, networkClientOptions) {
5161
5185
  this.host = host ? host : "https://api.provable.com/v2";
5162
5186
  this.networkClient = new AleoNetworkClient(this.host, networkClientOptions);
5163
- this.keyProvider = keyProvider ? keyProvider : new AleoKeyProvider();
5187
+ this.keyProvider = keyProvider ? keyProvider : new AleoKeyProvider({ transport: networkClientOptions?.transport });
5164
5188
  this.recordProvider = recordProvider;
5165
5189
  }
5166
5190
  /**