pshenmic-dpp 2.0.0-dev.9 → 2.0.0

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 (161) hide show
  1. package/README.md +164 -77
  2. package/dist/binaries/bindingsTypes.d.ts +903 -18
  3. package/dist/binaries/bindingsTypes.js +13 -0
  4. package/dist/binaries/memory.cjs +7 -0
  5. package/dist/binaries/memory.d.cts +2 -0
  6. package/dist/binaries/native/aarch64-apple-darwin/pshenmic_dpp.node +0 -0
  7. package/dist/binaries/native/aarch64-pc-windows-msvc/pshenmic_dpp.node +0 -0
  8. package/dist/binaries/native/aarch64-unknown-linux-gnu/pshenmic_dpp.node +0 -0
  9. package/dist/binaries/native/aarch64-unknown-linux-musl/pshenmic_dpp.node +0 -0
  10. package/dist/binaries/native/x86_64-apple-darwin/pshenmic_dpp.node +0 -0
  11. package/dist/binaries/native/x86_64-pc-windows-msvc/pshenmic_dpp.node +0 -0
  12. package/dist/binaries/native/x86_64-unknown-linux-gnu/pshenmic_dpp.node +0 -0
  13. package/dist/binaries/native/x86_64-unknown-linux-musl/pshenmic_dpp.node +0 -0
  14. package/dist/binaries/node.cjs +71 -0
  15. package/dist/binaries/node.d.cts +2 -0
  16. package/dist/binaries/pshenmic_dpp.android.node/arm64-v8a/libpshenmic_dpp.so +0 -0
  17. package/dist/binaries/pshenmic_dpp.apple.node/Info.plist +29 -0
  18. package/dist/binaries/pshenmic_dpp.apple.node/ios-arm64-simulator/libpshenmic_dpp.framework/Info.plist +24 -0
  19. package/dist/binaries/pshenmic_dpp.apple.node/ios-arm64-simulator/libpshenmic_dpp.framework/libpshenmic_dpp +0 -0
  20. package/dist/binaries/pshenmic_dpp.apple.node/react-native-node-api-module +0 -0
  21. package/dist/binaries/pshenmic_dpp.d.ts +60 -0
  22. package/dist/binaries/pshenmic_dpp.js +1 -1
  23. package/dist/binaries/wasm/wasmBytes.cjs +4 -0
  24. package/dist/binaries/wasm/wasmBytes.d.cts +2 -0
  25. package/dist/binaries/wasm/workerBundle.cjs +6 -0
  26. package/dist/binaries/wasm/workerBundle.d.cts +2 -0
  27. package/dist/binaries/wasm.d.ts +60 -0
  28. package/dist/binaries/wasm.js +2 -44
  29. package/dist/binaries/wasmCreation.cjs +127 -0
  30. package/dist/binaries/wasmCreation.d.cts +4 -0
  31. package/dist/src/dpp/dpp.d.ts +32 -0
  32. package/dist/src/dpp/dpp.js +32 -0
  33. package/dist/src/dpp/enums.d.ts +1 -1
  34. package/dist/src/dpp/enums.js +1 -1
  35. package/dist/src/dpp/structs/AddressTransitions/AddressCreditWithdrawalTransition.d.ts +3 -1
  36. package/dist/src/dpp/structs/AddressTransitions/AddressCreditWithdrawalTransition.js +6 -0
  37. package/dist/src/dpp/structs/AddressTransitions/AddressFundingFromAssetLockTransition.d.ts +2 -1
  38. package/dist/src/dpp/structs/AddressTransitions/AddressFundingFromAssetLockTransition.js +3 -0
  39. package/dist/src/dpp/structs/AddressTransitions/AddressFundsTransferTransition.d.ts +3 -1
  40. package/dist/src/dpp/structs/AddressTransitions/AddressFundsTransferTransition.js +6 -0
  41. package/dist/src/dpp/structs/AddressTransitions/IdentityCreateFromAddressesTransition.d.ts +2 -1
  42. package/dist/src/dpp/structs/AddressTransitions/IdentityCreateFromAddressesTransition.js +3 -0
  43. package/dist/src/dpp/structs/AddressTransitions/IdentityCreditTransferToAddressesTransition.d.ts +2 -1
  44. package/dist/src/dpp/structs/AddressTransitions/IdentityCreditTransferToAddressesTransition.js +3 -0
  45. package/dist/src/dpp/structs/AddressTransitions/IdentityTopUpFromAddressesTransition.d.ts +2 -1
  46. package/dist/src/dpp/structs/AddressTransitions/IdentityTopUpFromAddressesTransition.js +3 -0
  47. package/dist/src/dpp/structs/Batch/BatchTransition.d.ts +2 -1
  48. package/dist/src/dpp/structs/Batch/BatchTransition.js +3 -0
  49. package/dist/src/dpp/structs/DataContractTransitions/DataContractCreateTransition.d.ts +2 -1
  50. package/dist/src/dpp/structs/DataContractTransitions/DataContractCreateTransition.js +3 -0
  51. package/dist/src/dpp/structs/DataContractTransitions/DataContractUpdateTransition.d.ts +2 -1
  52. package/dist/src/dpp/structs/DataContractTransitions/DataContractUpdateTransition.js +3 -0
  53. package/dist/src/dpp/structs/Identifier.js +3 -0
  54. package/dist/src/dpp/structs/IdentityTransitions/IdentityCreateTransition.d.ts +2 -1
  55. package/dist/src/dpp/structs/IdentityTransitions/IdentityCreateTransition.js +3 -0
  56. package/dist/src/dpp/structs/IdentityTransitions/IdentityCreditTransfer.d.ts +2 -1
  57. package/dist/src/dpp/structs/IdentityTransitions/IdentityCreditTransfer.js +3 -0
  58. package/dist/src/dpp/structs/IdentityTransitions/IdentityCreditWithdrawalTransition.d.ts +2 -1
  59. package/dist/src/dpp/structs/IdentityTransitions/IdentityCreditWithdrawalTransition.js +3 -0
  60. package/dist/src/dpp/structs/IdentityTransitions/IdentityTopUpTransition.d.ts +2 -1
  61. package/dist/src/dpp/structs/IdentityTransitions/IdentityTopUpTransition.js +3 -0
  62. package/dist/src/dpp/structs/IdentityTransitions/IdentityUpdateTransition.d.ts +2 -1
  63. package/dist/src/dpp/structs/IdentityTransitions/IdentityUpdateTransition.js +3 -0
  64. package/dist/src/dpp/structs/MasternodeVote/MasternodeVoteTransition.d.ts +2 -3
  65. package/dist/src/dpp/structs/MasternodeVote/MasternodeVoteTransition.js +3 -6
  66. package/dist/src/dpp/structs/Orchard/CommitmentTree.d.ts +14 -0
  67. package/dist/src/dpp/structs/Orchard/CommitmentTree.js +31 -0
  68. package/dist/src/dpp/structs/Orchard/FullViewingKey.d.ts +27 -0
  69. package/dist/src/dpp/structs/Orchard/FullViewingKey.js +45 -0
  70. package/dist/src/dpp/structs/Orchard/IdentityCreateFromShieldedPoolResult.d.ts +21 -0
  71. package/dist/src/dpp/structs/Orchard/IdentityCreateFromShieldedPoolResult.js +38 -0
  72. package/dist/src/dpp/structs/Orchard/IncomingViewingKey.d.ts +29 -0
  73. package/dist/src/dpp/structs/Orchard/IncomingViewingKey.js +44 -0
  74. package/dist/src/dpp/structs/Orchard/MerklePath.d.ts +11 -0
  75. package/dist/src/dpp/structs/Orchard/MerklePath.js +25 -0
  76. package/dist/src/dpp/structs/Orchard/Note.d.ts +18 -0
  77. package/dist/src/dpp/structs/Orchard/Note.js +42 -0
  78. package/dist/src/dpp/structs/Orchard/OrchardAddress.d.ts +27 -0
  79. package/dist/src/dpp/structs/Orchard/OrchardAddress.js +45 -0
  80. package/dist/src/dpp/structs/Orchard/OrchardProver.d.ts +19 -0
  81. package/dist/src/dpp/structs/Orchard/OrchardProver.js +34 -0
  82. package/dist/src/dpp/structs/Orchard/RecoveredNote.d.ts +19 -0
  83. package/dist/src/dpp/structs/Orchard/RecoveredNote.js +32 -0
  84. package/dist/src/dpp/structs/Orchard/ShieldedBuilder.d.ts +64 -0
  85. package/dist/src/dpp/structs/Orchard/ShieldedBuilder.js +79 -0
  86. package/dist/src/dpp/structs/Orchard/ShieldedMemo.d.ts +11 -0
  87. package/dist/src/dpp/structs/Orchard/ShieldedMemo.js +25 -0
  88. package/dist/src/dpp/structs/Orchard/ShieldedOutput.d.ts +23 -0
  89. package/dist/src/dpp/structs/Orchard/ShieldedOutput.js +41 -0
  90. package/dist/src/dpp/structs/Orchard/ShieldedWithdrawalResult.d.ts +11 -0
  91. package/dist/src/dpp/structs/Orchard/ShieldedWithdrawalResult.js +18 -0
  92. package/dist/src/dpp/structs/Orchard/SpendableNote.d.ts +13 -0
  93. package/dist/src/dpp/structs/Orchard/SpendableNote.js +27 -0
  94. package/dist/src/dpp/structs/PlatformAddress/PlatformAddress.d.ts +9 -1
  95. package/dist/src/dpp/structs/PlatformAddress/PlatformAddress.js +10 -0
  96. package/dist/src/dpp/structs/ShieldedTransitions/IdentityCreateFromShieldedPoolTransition.d.ts +32 -0
  97. package/dist/src/dpp/structs/ShieldedTransitions/IdentityCreateFromShieldedPoolTransition.js +76 -0
  98. package/dist/src/dpp/structs/ShieldedTransitions/SerializedAction.d.ts +19 -0
  99. package/dist/src/dpp/structs/ShieldedTransitions/SerializedAction.js +49 -0
  100. package/dist/src/dpp/structs/ShieldedTransitions/ShieldFromAssetLockTransition.d.ts +31 -0
  101. package/dist/src/dpp/structs/ShieldedTransitions/ShieldFromAssetLockTransition.js +80 -0
  102. package/dist/src/dpp/structs/ShieldedTransitions/ShieldTransition.d.ts +33 -0
  103. package/dist/src/dpp/structs/ShieldedTransitions/ShieldTransition.js +81 -0
  104. package/dist/src/dpp/structs/ShieldedTransitions/ShieldedTransferTransition.d.ts +22 -0
  105. package/dist/src/dpp/structs/ShieldedTransitions/ShieldedTransferTransition.js +54 -0
  106. package/dist/src/dpp/structs/ShieldedTransitions/ShieldedWithdrawalTransition.d.ts +30 -0
  107. package/dist/src/dpp/structs/ShieldedTransitions/ShieldedWithdrawalTransition.js +74 -0
  108. package/dist/src/dpp/structs/ShieldedTransitions/UnshieldTransition.d.ts +26 -0
  109. package/dist/src/dpp/structs/ShieldedTransitions/UnshieldTransition.js +62 -0
  110. package/dist/src/dpp/structs/StateTransition.d.ts +2 -1
  111. package/dist/src/dpp/structs/StateTransition.js +3 -0
  112. package/dist/src/dpp/types.d.ts +177 -3
  113. package/dist/src/dpp/verify/AddressFunds/utils.d.ts +5 -0
  114. package/dist/src/dpp/verify/AddressFunds/utils.js +28 -0
  115. package/dist/src/dpp/verify/AddressFunds/verifyAddressesBranchState.d.ts +12 -0
  116. package/dist/src/dpp/verify/AddressFunds/verifyAddressesBranchState.js +29 -0
  117. package/dist/src/dpp/verify/AddressFunds/verifyAddressesTrunkState.d.ts +9 -0
  118. package/dist/src/dpp/verify/AddressFunds/verifyAddressesTrunkState.js +30 -0
  119. package/dist/src/dpp/verify/AddressFunds/verifyRecentAddressBalanceChanges.d.ts +9 -0
  120. package/dist/src/dpp/verify/AddressFunds/verifyRecentAddressBalanceChanges.js +24 -0
  121. package/dist/src/dpp/verify/AddressFunds/verifyRecentCompactedAddressBalanceChanges.d.ts +10 -0
  122. package/dist/src/dpp/verify/AddressFunds/verifyRecentCompactedAddressBalanceChanges.js +30 -0
  123. package/dist/src/dpp/verify/Contested/verifyVotePollVoteStateProof.d.ts +1 -1
  124. package/dist/src/dpp/verify/Contested/verifyVotePollVoteStateProof.js +1 -1
  125. package/dist/src/dpp/verify/Shielded/verifyMostRecentShieldedAnchorProof.d.ts +2 -0
  126. package/dist/src/dpp/verify/Shielded/verifyMostRecentShieldedAnchorProof.js +9 -0
  127. package/dist/src/dpp/verify/Shielded/verifyShieldedAnchorsProof.d.ts +2 -0
  128. package/dist/src/dpp/verify/Shielded/verifyShieldedAnchorsProof.js +9 -0
  129. package/dist/src/dpp/verify/Shielded/verifyShieldedEncryptedNotesProof.d.ts +2 -0
  130. package/dist/src/dpp/verify/Shielded/verifyShieldedEncryptedNotesProof.js +15 -0
  131. package/dist/src/dpp/verify/Shielded/verifyShieldedNotesCountProof.d.ts +2 -0
  132. package/dist/src/dpp/verify/Shielded/verifyShieldedNotesCountProof.js +9 -0
  133. package/dist/src/dpp/verify/Shielded/verifyShieldedNullifiersProof.d.ts +2 -0
  134. package/dist/src/dpp/verify/Shielded/verifyShieldedNullifiersProof.js +12 -0
  135. package/dist/src/dpp/verify/Shielded/verifyShieldedPoolStateProof.d.ts +2 -0
  136. package/dist/src/dpp/verify/Shielded/verifyShieldedPoolStateProof.js +9 -0
  137. package/dist/src/dpp/verify/StateTransition/utils.js +76 -11
  138. package/dist/src/dpp/verify/StateTransition/verifyStateTransitionResult.js +2 -1
  139. package/dist/src/dpp/verify/System/verifyFinalizedEpochInfosProof.d.ts +2 -0
  140. package/dist/src/dpp/verify/System/verifyFinalizedEpochInfosProof.js +27 -0
  141. package/dist/src/native.d.ts +3 -0
  142. package/dist/src/native.js +8 -0
  143. package/dist/utils/{base122.js → base122.cjs} +3 -1
  144. package/package.json +17 -27
  145. package/tests/unit/AddressTransitionsFees.spec.ts +274 -0
  146. package/tests/unit/DataContract.spec.ts +281 -0
  147. package/tests/unit/DynamicValue.spec.ts +2 -2
  148. package/tests/unit/Identifier.spec.ts +1 -1
  149. package/tests/unit/Identity.spec.ts +1 -1
  150. package/tests/unit/IdentityPublicKey.spec.ts +1 -1
  151. package/tests/unit/NodeApi.spec.ts +49 -0
  152. package/tests/unit/Shielded.spec.ts +555 -0
  153. package/tests/unit/ShieldedTransitions.spec.ts +877 -0
  154. package/tests/unit/StateTransitionFees.spec.ts +177 -0
  155. package/tests/unit/TokenConfiguration.spec.ts +114 -0
  156. package/tests/unit/WebAssembly.spec.ts +88 -0
  157. package/tests/unit/utils/buildTokenConfiguration.ts +66 -0
  158. package/dist/binaries/pshenmic_dpp.android.node/x86_64/libpshenmic_dpp.so +0 -0
  159. package/dist/binaries/wasm/wasmBytes.d.ts +0 -2
  160. package/dist/binaries/wasm/wasmBytes.js +0 -2
  161. /package/dist/utils/{base122.d.ts → base122.d.cts} +0 -0
@@ -13,6 +13,16 @@ export declare class ActionTakerNAPI {
13
13
  get value(): IdentifierNAPI | Array<IdentifierNAPI>;
14
14
  set value(value: IdentifierLikeNAPI | Array<IdentifierLikeNAPI>);
15
15
  }
16
+ /** How one address's balance changed in a block. */
17
+ export declare class AddressBalanceChangeNAPI {
18
+ get address(): PlatformAddressNAPI;
19
+ /**
20
+ * Either "setCredits", where `credits` is the new balance, or
21
+ * "addToCredits", where `credits` is the amount added to it.
22
+ */
23
+ get operation(): string;
24
+ get credits(): BigIntString;
25
+ }
16
26
  export declare class AddressCreditWithdrawalTransitionNAPI {
17
27
  constructor(jsInputs: Array<InputAddressNAPI>, jsFeeStrategy: Array<AddressFundsFeeStrategyStepNAPI>, coreFeePerByte: number, jsPooling: DynamicValue, jsOutputScript: CoreScriptNAPI, userFeeIncrease: number, jsInputWitnesses: Array<AddressWitnessNAPI>, jsOutput?: OutputAddressNAPI | undefined | null);
18
28
  get coreFeePerByte(): number;
@@ -31,6 +41,8 @@ export declare class AddressCreditWithdrawalTransitionNAPI {
31
41
  set feeStrategy(jsFeeStrategy: Array<AddressFundsFeeStrategyStepNAPI>);
32
42
  set userFeeIncrease(userFeeIncrease: number);
33
43
  set inputWitness(jsInputWitnesses: Array<AddressWitnessNAPI>);
44
+ static estimateMinFee(jsInputCount: number, jsHasChangeOutput: boolean, jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
45
+ calculateMinRequiredFee(jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
34
46
  bytes(): Uint8Array;
35
47
  hex(): string;
36
48
  base64(): string;
@@ -56,6 +68,7 @@ export declare class AddressFundingFromAssetLockTransitionNAPI {
56
68
  set feeStrategy(jsFeeStrategy: Array<AddressFundsFeeStrategyStepNAPI>);
57
69
  set userFeeIncrease(userFeeIncrease: number);
58
70
  set inputWitness(jsInputWitnesses: Array<AddressWitnessNAPI>);
71
+ calculateMinRequiredFee(jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
59
72
  bytes(): Uint8Array;
60
73
  hex(): string;
61
74
  base64(): string;
@@ -84,6 +97,8 @@ export declare class AddressFundsTransferTransitionNAPI {
84
97
  set feeStrategy(jsFeeStrategy: Array<AddressFundsFeeStrategyStepNAPI>);
85
98
  set userFeeIncrease(userFeeIncrease: number);
86
99
  set inputWitness(jsInputWitnesses: Array<AddressWitnessNAPI>);
100
+ static estimateMinFee(jsInputCount: number, jsOutputCount: number, jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
101
+ calculateMinRequiredFee(jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
87
102
  bytes(): Uint8Array;
88
103
  hex(): string;
89
104
  base64(): string;
@@ -111,6 +126,12 @@ export declare class AssetLockProofNAPI {
111
126
  hex(): string;
112
127
  static fromHex(assetLockProof: string): AssetLockProofNAPI;
113
128
  }
129
+ export declare class AssetLockValueNAPI {
130
+ get initialCreditValue(): BigIntString;
131
+ get txOutScript(): Uint8Array;
132
+ get remainingCreditValue(): BigIntString;
133
+ get usedTags(): Array<Uint8Array>;
134
+ }
114
135
  export declare class AuthorizedActionTakersNAPI {
115
136
  static NoOne(): AuthorizedActionTakersNAPI;
116
137
  static ContractOwner(): AuthorizedActionTakersNAPI;
@@ -142,6 +163,7 @@ export declare class BatchTransitionNAPI {
142
163
  setIdentityContractNonce(nonce: BigIntString): void;
143
164
  toStateTransition(): StateTransitionNAPI;
144
165
  static fromStateTransition(stateTransition: StateTransitionNAPI): BatchTransitionNAPI;
166
+ calculateMinRequiredFee(jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
145
167
  bytes(): Uint8Array;
146
168
  hex(): string;
147
169
  base64(): string;
@@ -149,11 +171,24 @@ export declare class BatchTransitionNAPI {
149
171
  static fromBase64(base64: string): BatchTransitionNAPI;
150
172
  static fromHex(hex: string): BatchTransitionNAPI;
151
173
  }
174
+ /** The address balance changes that happened in a single block. */
175
+ export declare class BlockAddressBalanceChangesNAPI {
176
+ get blockHeight(): BigIntString;
177
+ get changes(): Array<AddressBalanceChangeNAPI>;
178
+ }
152
179
  export declare class BlockBasedDistributionNAPI {
153
180
  interval: BigIntString;
154
181
  get function(): DistributionFunctionNAPI;
155
182
  set function(distributionFunction: DistributionFunctionNAPI);
156
183
  }
184
+ /**
185
+ * One add-to-credits operation, kept tagged with the block it happened in so a
186
+ * partially-synced client can tell which additions it has already applied.
187
+ */
188
+ export declare class BlockHeightCreditNAPI {
189
+ get blockHeight(): BigIntString;
190
+ get credits(): BigIntString;
191
+ }
157
192
  export declare class BlockInfoNAPI {
158
193
  constructor(timestamp: BigIntString, height: BigIntString, coreBlockHeight: number, jsEpochIndex?: number | undefined | null);
159
194
  get timeMs(): BigIntString;
@@ -190,6 +225,82 @@ export declare class ChangeControlRulesNAPI {
190
225
  set selfChangingAdminActionTakersAllowed(selfChangingAdminActionTakersAllowed: boolean);
191
226
  canChangeAdminActionTakers(adminActionTakers: AuthorizedActionTakersNAPI, jsContractOwnerId: IdentifierLikeNAPI, mainGroup: number | undefined | null, jsGroups: Array<[number, GroupNAPI]>, actionTaker: ActionTakerNAPI, jsGoal: DynamicValue): boolean;
192
227
  }
228
+ /**
229
+ * Client-side Orchard note commitment tree.
230
+ *
231
+ * Rebuild the tree by appending every note commitment (`cmx`) in tree order,
232
+ * then produce a spend witness (`MerklePath`) for any leaf you marked. The
233
+ * witness + [`anchor`](Self::anchor) are what a shielded spend (withdrawal,
234
+ * unshield, transfer) needs to prove a note is in the tree.
235
+ *
236
+ * Typical flow:
237
+ * 1. `append(cmx, marked)` for each commitment (mark the ones you'll spend),
238
+ * 2. `checkpoint(id)` once all commitments up to your anchor are in,
239
+ * 3. `witness(position)` for the marked leaf and `anchor()` for the root —
240
+ * both taken from the same state so `merklePath.root(cmx) == anchor`.
241
+ */
242
+ export declare class CommitmentTreeNAPI {
243
+ /**
244
+ * Creates an empty tree. `max_checkpoints` bounds how many historical
245
+ * checkpoints are retained for witnessing (default 100).
246
+ */
247
+ constructor(maxCheckpoints?: number | undefined | null);
248
+ /**
249
+ * Appends a 32-byte note commitment (`cmx`). Set `marked` to `true` for
250
+ * commitments you intend to spend (only marked leaves can be witnessed).
251
+ */
252
+ append(jsCmx: Uint8Array, marked: boolean): void;
253
+ /**
254
+ * Records a checkpoint at the current state. Witnesses are produced
255
+ * relative to checkpoints, so checkpoint after appending the commitments
256
+ * up to the anchor you want to spend against.
257
+ */
258
+ checkpoint(checkpointId: number): boolean;
259
+ /**
260
+ * Position (leaf index) of the most recently appended commitment, or
261
+ * `null` if the tree is empty.
262
+ */
263
+ maxLeafPosition(): number | null;
264
+ /**
265
+ * Produces the Merkle witness for the marked leaf at `position`.
266
+ * `checkpoint_depth` is 0 for the current state, 1 for the previous
267
+ * checkpoint, etc. Returns `null` if no witness is available.
268
+ */
269
+ witness(position: number, checkpointDepth?: number | undefined | null): MerklePathNAPI | null;
270
+ /**
271
+ * The current tree root as a 32-byte Orchard `Anchor` (the empty-tree
272
+ * anchor if nothing has been appended).
273
+ */
274
+ anchor(): Uint8Array;
275
+ }
276
+ /** How one address's balance changed across a compacted range of blocks. */
277
+ export declare class CompactedAddressBalanceChangeNAPI {
278
+ get address(): PlatformAddressNAPI;
279
+ /**
280
+ * Either "setCredits" or "addToCreditsOperations", naming which of the two
281
+ * fields below is populated.
282
+ */
283
+ get operation(): string;
284
+ /**
285
+ * The final balance, when a set overwrote everything before it in the
286
+ * range.
287
+ */
288
+ get setCredits(): BigIntString | null;
289
+ /**
290
+ * The individual additions, kept per block rather than summed so a client
291
+ * can apply only the ones past its sync height.
292
+ */
293
+ get addToCreditsOperations(): Array<BlockHeightCreditNAPI>;
294
+ }
295
+ /**
296
+ * The compacted changes covering blocks `startBlockHeight` through
297
+ * `endBlockHeight` inclusive.
298
+ */
299
+ export declare class CompactedBlockAddressBalanceChangesNAPI {
300
+ get startBlockHeight(): BigIntString;
301
+ get endBlockHeight(): BigIntString;
302
+ get changes(): Array<CompactedAddressBalanceChangeNAPI>;
303
+ }
193
304
  export declare class ConsensusErrorNAPI {
194
305
  static deserialize(error: Uint8Array): ConsensusErrorNAPI;
195
306
  get message(): string;
@@ -231,6 +342,7 @@ export declare class DataContractCreateTransitionNAPI {
231
342
  static fromBytes(bytes: Uint8Array): DataContractCreateTransitionNAPI;
232
343
  static fromHex(hex: string): DataContractCreateTransitionNAPI;
233
344
  static fromBase64(base64: string): DataContractCreateTransitionNAPI;
345
+ calculateMinRequiredFee(jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
234
346
  bytes(): Uint8Array;
235
347
  hex(): string;
236
348
  base64(): string;
@@ -280,6 +392,7 @@ export declare class DataContractUpdateTransitionNAPI {
280
392
  static fromBytes(bytes: Uint8Array): DataContractUpdateTransitionNAPI;
281
393
  static fromHex(hex: string): DataContractUpdateTransitionNAPI;
282
394
  static fromBase64(base64: string): DataContractUpdateTransitionNAPI;
395
+ calculateMinRequiredFee(jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
283
396
  bytes(): Uint8Array;
284
397
  hex(): string;
285
398
  base64(): string;
@@ -466,6 +579,60 @@ export declare class ExtendedEpochInfoNAPI {
466
579
  feeMultiplierPermille: BigIntString;
467
580
  protocolVersion: number;
468
581
  }
582
+ export declare class FinalizedEpochInfoNAPI {
583
+ get firstBlockTime(): BigIntString;
584
+ get firstBlockHeight(): BigIntString;
585
+ get totalBlocksInEpoch(): BigIntString;
586
+ get firstCoreBlockHeight(): number;
587
+ get nextEpochStartCoreBlockHeight(): number;
588
+ get totalProcessingFees(): BigIntString;
589
+ get totalDistributedStorageFees(): BigIntString;
590
+ get totalCreatedStorageFees(): BigIntString;
591
+ get coreBlockRewards(): BigIntString;
592
+ get blockProposers(): Array<[IdentifierNAPI, BigIntString]>;
593
+ get feeMultiplierPermille(): BigIntString;
594
+ get protocolVersion(): number;
595
+ }
596
+ /**
597
+ * An Orchard full viewing key: it can detect both incoming and outgoing notes
598
+ * and compute their nullifiers (so it sees the full balance), but cannot spend.
599
+ */
600
+ export declare class FullViewingKeyNAPI {
601
+ /**
602
+ * Derives the full viewing key from a BIP-39 seed via ZIP-32
603
+ * (`m/32'/coin_type'/account'`). `coin_type` is SLIP-44 (Dash = 5,
604
+ * testnets = 1).
605
+ */
606
+ static fromSeed(seed: Uint8Array, coinType: number, account: number): FullViewingKeyNAPI;
607
+ /**
608
+ * Parses a full viewing key from its 96-byte raw encoding
609
+ * (`ak || nk || rivk`).
610
+ */
611
+ static fromBytes(bytes: Uint8Array): FullViewingKeyNAPI;
612
+ /** The 96-byte raw encoding of this key. */
613
+ bytes(): Uint8Array;
614
+ /**
615
+ * Derives the incoming viewing key for the given scope (default
616
+ * `External`) — the key that trial-decrypts notes sent to you.
617
+ */
618
+ toIvk(jsScope?: DynamicValue | undefined | null): IncomingViewingKeyNAPI;
619
+ /**
620
+ * Derives the outgoing viewing key (32 bytes) for the given scope (default
621
+ * `External`) — the value to pass as `sender_ovk` when building a shield so
622
+ * the sender can later recover its own send.
623
+ */
624
+ toOvk(jsScope?: DynamicValue | undefined | null): Uint8Array;
625
+ /**
626
+ * The payment address at `diversifier_index` (default 0) for the given
627
+ * scope (default `External`).
628
+ */
629
+ address(diversifierIndex?: number | undefined | null, jsScope?: DynamicValue | undefined | null): OrchardAddressNAPI;
630
+ /**
631
+ * The scope this address was derived under, or `null` if it does not
632
+ * belong to this key.
633
+ */
634
+ scopeForAddress(jsAddress: OrchardAddressNAPI): string | null;
635
+ }
469
636
  export declare class GroupNAPI {
470
637
  constructor(jsMembers: Array<[IdentifierLikeNAPI, number]>, requiredPower: number);
471
638
  get members(): Array<[IdentifierNAPI, number]>;
@@ -483,6 +650,70 @@ export declare class GroupStateTransitionInfoNAPI {
483
650
  get actionId(): IdentifierNAPI;
484
651
  get actionIsProposer(): boolean;
485
652
  }
653
+ /**
654
+ * An ancestor of a leaf whose subtree is large enough to hide which leaf was
655
+ * actually wanted.
656
+ */
657
+ export declare class GroveAncestorNAPI {
658
+ levelsUp: number;
659
+ get count(): BigIntString;
660
+ get key(): Uint8Array;
661
+ get hash(): Uint8Array;
662
+ }
663
+ /** A proven element together with the key it is stored under. */
664
+ export declare class GroveElementEntryNAPI {
665
+ get key(): Uint8Array;
666
+ get element(): GroveElementNAPI;
667
+ }
668
+ /**
669
+ * A GroveDB element flattened into a JS-friendly shape.
670
+ *
671
+ * `Element` is a wide enum whose variants carry different combinations of a
672
+ * value, a sum and a count. Rather than model that union in JS, every variant
673
+ * is projected onto the fields it actually populates and identified by `type`,
674
+ * so callers switch on `type` and read the fields it implies.
675
+ *
676
+ * The projection is deliberately lossy: element flags, reference paths, and
677
+ * the structural parameters of the append-only tree variants (chunk power,
678
+ * height) are dropped. The address funds tree stores none of those, so what
679
+ * survives is everything that tree can actually hold.
680
+ */
681
+ export declare class GroveElementNAPI {
682
+ /** The `Element` variant, e.g. "Item", "SumTree" or "ProvableCountSumTree". */
683
+ get type(): string;
684
+ /**
685
+ * Set when the element was wrapped to opt out of contributing to its
686
+ * parent's aggregates: "NonCounted", "NotSummed" or "NotCountedOrSummed".
687
+ * `type` then describes the wrapped element itself.
688
+ */
689
+ get wrapper(): string | null;
690
+ /**
691
+ * An item's payload, or a subtree's root key. Absent for an empty subtree,
692
+ * and for variants that carry neither (`Reference`, `SumItem`).
693
+ */
694
+ get value(): Uint8Array | null;
695
+ /** The sum, for the sum-bearing variants only. */
696
+ get sum(): BigIntString | null;
697
+ /** The element count, for the count-bearing variants only. */
698
+ get count(): BigIntString | null;
699
+ }
700
+ /**
701
+ * A truncated subtree: the proof stops here, and `hash` is what a follow-up
702
+ * branch proof for this key must reproduce.
703
+ */
704
+ export declare class GroveLeafInfoNAPI {
705
+ get key(): Uint8Array;
706
+ /**
707
+ * Pass this as `expectedRootHash` when verifying the branch proof for this
708
+ * key.
709
+ */
710
+ get hash(): Uint8Array;
711
+ /**
712
+ * How many elements the truncated subtree holds. Only the counted tree
713
+ * types carry this.
714
+ */
715
+ get count(): BigIntString | null;
716
+ }
486
717
  export declare class IdentifierNAPI {
487
718
  constructor(jsId: DynamicValue);
488
719
  base58(): string;
@@ -508,6 +739,7 @@ export declare class IdentityCreateFromAddressesTransitionNAPI {
508
739
  set feeStrategy(jsFeeStrategy: Array<AddressFundsFeeStrategyStepNAPI>);
509
740
  set userFeeIncrease(userFeeIncrease: number);
510
741
  set inputWitness(jsInputWitnesses: Array<AddressWitnessNAPI>);
742
+ calculateMinRequiredFee(jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
511
743
  bytes(): Uint8Array;
512
744
  hex(): string;
513
745
  base64(): string;
@@ -517,11 +749,48 @@ export declare class IdentityCreateFromAddressesTransitionNAPI {
517
749
  static fromStateTransition(st: StateTransitionNAPI): IdentityCreateFromAddressesTransitionNAPI;
518
750
  toStateTransition(): StateTransitionNAPI;
519
751
  }
752
+ /**
753
+ * Result of [`ShieldedBuilderNAPI::identity_create_from_shielded_pool`]: the new
754
+ * identity's keys (with proof-of-possession signatures), the proven Orchard
755
+ * bundle fields, the derived identity id, and the client-predicted fee.
756
+ */
757
+ export declare class IdentityCreateFromShieldedPoolResultNAPI {
758
+ get publicKeys(): Array<IdentityPublicKeyInCreationNAPI>;
759
+ get identityId(): IdentifierNAPI;
760
+ get predictedFee(): BigIntString;
761
+ get actions(): Array<SerializedActionNAPI>;
762
+ get anchor(): Uint8Array;
763
+ get proof(): Uint8Array;
764
+ get bindingsSignature(): Uint8Array;
765
+ }
766
+ export declare class IdentityCreateFromShieldedPoolTransitionNAPI {
767
+ constructor(jsPublicKeys: Array<IdentityPublicKeyInCreationNAPI>, jsDenomination: BigIntString, jsActions: Array<SerializedActionNAPI>, jsAnchor: Uint8Array, jsProof: Uint8Array, jsBindingsSignature: Uint8Array, jsSendToAddressOnCreationFailure: PlatformAddressLikeNAPI, jsIdentityId: IdentifierLikeNAPI);
768
+ get publicKeys(): Array<IdentityPublicKeyInCreationNAPI>;
769
+ get denomination(): BigIntString;
770
+ get actions(): Array<SerializedActionNAPI>;
771
+ get anchor(): Uint8Array;
772
+ get proof(): Uint8Array;
773
+ get bindingsSignature(): Uint8Array;
774
+ get sendToAddressOnCreationFailure(): PlatformAddressNAPI;
775
+ get identityId(): IdentifierNAPI;
776
+ set publicKeys(jsPublicKeys: Array<IdentityPublicKeyInCreationNAPI>);
777
+ set denomination(denomination: BigIntString);
778
+ set actions(actions: Array<SerializedActionNAPI>);
779
+ set anchor(jsAnchor: Uint8Array);
780
+ set proof(proof: Uint8Array);
781
+ set bindingsSignature(jsBindingsSignature: Uint8Array);
782
+ set sendToAddressOnCreationFailure(jsAddress: PlatformAddressLikeNAPI);
783
+ set identityId(jsId: IdentifierLikeNAPI);
784
+ static computeMinimumFee(jsNumActions: number, jsNumKeys: number, jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
785
+ toStateTransition(): StateTransitionNAPI;
786
+ static fromStateTransition(st: StateTransitionNAPI): IdentityCreateFromShieldedPoolTransitionNAPI;
787
+ }
520
788
  export declare class IdentityCreateTransitionNAPI {
521
789
  constructor(jsPublicKeys: Array<IdentityPublicKeyInCreationNAPI>, assetLock: AssetLockProofNAPI, signature?: Uint8Array | undefined | null, userFeeIncrease?: number | undefined | null);
522
790
  static default(jsPlatformVersion: DynamicValue): IdentityCreateTransitionNAPI;
523
791
  static fromHex(hex: string): IdentityCreateTransitionNAPI;
524
792
  static fromBase64(base64: string): IdentityCreateTransitionNAPI;
793
+ calculateMinRequiredFee(jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
525
794
  bytes(): Uint8Array;
526
795
  static fromBytes(bytes: Uint8Array): IdentityCreateTransitionNAPI;
527
796
  get publicKeys(): Array<IdentityPublicKeyInCreationNAPI>;
@@ -539,6 +808,7 @@ export declare class IdentityCreateTransitionNAPI {
539
808
  }
540
809
  export declare class IdentityCreditTransferNAPI {
541
810
  constructor(jsSender: IdentifierLikeNAPI, amount: BigIntString, jsRecipient: IdentifierLikeNAPI, nonce: BigIntString, userFeeIncrease?: number | undefined | null);
811
+ calculateMinRequiredFee(jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
542
812
  bytes(): Uint8Array;
543
813
  hex(): string;
544
814
  base64(): string;
@@ -577,6 +847,7 @@ export declare class IdentityCreditTransferToAddressesTransitionNAPI {
577
847
  set userFeeIncrease(userFeeIncrease: number);
578
848
  set signaturePublicKeyId(keyId: number);
579
849
  set signature(signature: Uint8Array);
850
+ calculateMinRequiredFee(jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
580
851
  bytes(): Uint8Array;
581
852
  hex(): string;
582
853
  base64(): string;
@@ -612,6 +883,7 @@ export declare class IdentityCreditWithdrawalTransitionNAPI {
612
883
  set signaturePublicKeyId(signaturePublicKeyId: number);
613
884
  static fromHex(hex: string): IdentityCreditWithdrawalTransitionNAPI;
614
885
  static fromBase64(base64: string): IdentityCreditWithdrawalTransitionNAPI;
886
+ calculateMinRequiredFee(jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
615
887
  bytes(): Uint8Array;
616
888
  hex(): string;
617
889
  base64(): string;
@@ -719,6 +991,7 @@ export declare class IdentityTopUpFromAddressesTransitionNAPI {
719
991
  set feeStrategy(jsFeeStrategy: Array<AddressFundsFeeStrategyStepNAPI>);
720
992
  set userFeeIncrease(userFeeIncrease: number);
721
993
  set inputWitness(jsInputWitnesses: Array<AddressWitnessNAPI>);
994
+ calculateMinRequiredFee(jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
722
995
  bytes(): Uint8Array;
723
996
  hex(): string;
724
997
  base64(): string;
@@ -741,6 +1014,7 @@ export declare class IdentityTopUpTransitionNAPI {
741
1014
  get signature(): Uint8Array;
742
1015
  getSignableBytes(): Uint8Array;
743
1016
  set signature(signature: Uint8Array);
1017
+ calculateMinRequiredFee(jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
744
1018
  bytes(): Uint8Array;
745
1019
  hex(): string;
746
1020
  base64(): string;
@@ -774,6 +1048,7 @@ export declare class IdentityUpdateTransitionNAPI {
774
1048
  set signaturePublicKeyId(signaturePublicKeyId: number);
775
1049
  static fromHex(hex: string): IdentityUpdateTransitionNAPI;
776
1050
  static fromBase64(base64: string): IdentityUpdateTransitionNAPI;
1051
+ calculateMinRequiredFee(jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
777
1052
  bytes(): Uint8Array;
778
1053
  hex(): string;
779
1054
  base64(): string;
@@ -781,6 +1056,40 @@ export declare class IdentityUpdateTransitionNAPI {
781
1056
  toStateTransition(): StateTransitionNAPI;
782
1057
  static fromStateTransition(st: StateTransitionNAPI): IdentityUpdateTransitionNAPI;
783
1058
  }
1059
+ /**
1060
+ * An Orchard incoming viewing key: it detects and decrypts notes sent to you,
1061
+ * but cannot see your outgoing notes, tell when a note is spent, or spend it.
1062
+ * Safe to hand to a watch-only service such as a merchant terminal.
1063
+ */
1064
+ export declare class IncomingViewingKeyNAPI {
1065
+ /**
1066
+ * Derives the incoming viewing key from a BIP-39 seed via ZIP-32
1067
+ * (`m/32'/coin_type'/account'`) for the given scope (default `External`).
1068
+ */
1069
+ static fromSeed(seed: Uint8Array, coinType: number, account: number, jsScope?: DynamicValue | undefined | null): IncomingViewingKeyNAPI;
1070
+ /**
1071
+ * Derives the incoming viewing key from a full viewing key for the given
1072
+ * scope (default `External`).
1073
+ */
1074
+ static fromFullViewingKey(jsFullViewingKey: FullViewingKeyNAPI, jsScope?: DynamicValue | undefined | null): IncomingViewingKeyNAPI;
1075
+ /**
1076
+ * Parses an incoming viewing key from its 64-byte raw encoding
1077
+ * (`dk || ivk`).
1078
+ */
1079
+ static fromBytes(bytes: Uint8Array): IncomingViewingKeyNAPI;
1080
+ /** The 64-byte raw encoding of this key. */
1081
+ bytes(): Uint8Array;
1082
+ /**
1083
+ * The payment address at `diversifier_index` (default 0). The scope is
1084
+ * fixed by the key itself.
1085
+ */
1086
+ address(diversifierIndex?: number | undefined | null): OrchardAddressNAPI;
1087
+ /**
1088
+ * The diversifier index `address` was derived at, or `null` if the address
1089
+ * was not derived from this key.
1090
+ */
1091
+ diversifierIndex(jsAddress: OrchardAddressNAPI): number | null;
1092
+ }
784
1093
  export declare class InputAddressNAPI {
785
1094
  constructor(address: PlatformAddressLikeNAPI, nonce: number, credits: BigIntString);
786
1095
  get address(): PlatformAddressNAPI;
@@ -832,18 +1141,75 @@ export declare class MasternodeVoteTransitionNAPI {
832
1141
  set signature(signature: Uint8Array);
833
1142
  static fromHex(hex: string): MasternodeVoteTransitionNAPI;
834
1143
  static fromBase64(base64: string): MasternodeVoteTransitionNAPI;
1144
+ calculateMinRequiredFee(jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
835
1145
  bytes(): Uint8Array;
836
1146
  hex(): string;
837
1147
  base64(): string;
838
1148
  static fromBytes(jsBytes: Uint8Array): MasternodeVoteTransitionNAPI;
839
- get userFeeIncrease(): number;
840
1149
  getSignableBytes(): Uint8Array;
841
1150
  get assetLock(): AssetLockProofNAPI | null;
842
- set userFeeIncrease(amount: number);
843
1151
  get modifiedDataIds(): Array<IdentifierNAPI>;
844
1152
  toStateTransition(): StateTransitionNAPI;
845
1153
  static fromStateTransition(st: StateTransitionNAPI): MasternodeVoteTransitionNAPI;
846
1154
  }
1155
+ /**
1156
+ * The Merkle path from a note commitment leaf to the tree anchor: the leaf
1157
+ * `position` plus the `NOTE_COMMITMENT_TREE_DEPTH` sibling hashes.
1158
+ */
1159
+ export declare class MerklePathNAPI {
1160
+ constructor(jsPosition: number, jsAuthPath: Array<Uint8Array>);
1161
+ get position(): number;
1162
+ get authPath(): Array<Uint8Array>;
1163
+ set position(jsPosition: number);
1164
+ set authPath(jsAuthPath: Array<Uint8Array>);
1165
+ }
1166
+ /**
1167
+ * A shielded Orchard note: the funds received by an address, defined by its
1168
+ * owner address, value, `rho`, and `rseed`.
1169
+ */
1170
+ export declare class NoteNAPI {
1171
+ constructor(jsAddress: OrchardAddressNAPI, jsValue: BigIntString, jsRho: Uint8Array, jsRseed: Uint8Array);
1172
+ get address(): OrchardAddressNAPI;
1173
+ get value(): BigIntString;
1174
+ get rho(): Uint8Array;
1175
+ get rseed(): Uint8Array;
1176
+ /**
1177
+ * The extracted note commitment (`cmx`, 32 bytes) — the leaf this note
1178
+ * occupies in the note commitment tree. Append this to a
1179
+ * `CommitmentTreeNAPI` to later produce the note's spend witness.
1180
+ */
1181
+ get cmx(): Uint8Array;
1182
+ set address(jsAddress: OrchardAddressNAPI);
1183
+ set value(jsValue: BigIntString);
1184
+ set rho(jsRho: Uint8Array);
1185
+ set rseed(jsRseed: Uint8Array);
1186
+ }
1187
+ export declare class OrchardAddressNAPI {
1188
+ static fromBech32m(bech32M: string): OrchardAddressNAPI;
1189
+ static fromBytes(bytes: Uint8Array): OrchardAddressNAPI;
1190
+ toBech32m(jsNetwork: DynamicValue): string;
1191
+ /**
1192
+ * Derives the Orchard payment address from a BIP-39 seed via ZIP-32
1193
+ * (`m/32'/coin_type'/account'`). `diversifier_index` selects the diversified
1194
+ * address (default 0), `scope` the ZIP-32 scope (default `External`).
1195
+ * `coin_type` is SLIP-44 (Dash = 5, testnets = 1).
1196
+ */
1197
+ static fromSeed(seed: Uint8Array, coinType: number, account: number, diversifierIndex?: number | undefined | null, jsScope?: DynamicValue | undefined | null): OrchardAddressNAPI;
1198
+ /**
1199
+ * Derives the payment address at `diversifier_index` (default 0) from a
1200
+ * full viewing key, for the given `scope` (default `External`).
1201
+ */
1202
+ static fromFullViewingKey(jsFullViewingKey: FullViewingKeyNAPI, diversifierIndex?: number | undefined | null, jsScope?: DynamicValue | undefined | null): OrchardAddressNAPI;
1203
+ /**
1204
+ * Derives the payment address at `diversifier_index` (default 0) from an
1205
+ * incoming viewing key. The scope is fixed by the key itself.
1206
+ */
1207
+ static fromIncomingViewingKey(jsIncomingViewingKey: IncomingViewingKeyNAPI, diversifierIndex?: number | undefined | null): OrchardAddressNAPI;
1208
+ bytes(): Uint8Array;
1209
+ }
1210
+ export declare class OrchardProverNAPI {
1211
+ static init(): Promise<OrchardProverNAPI>;
1212
+ }
847
1213
  export declare class OutPointNAPI {
848
1214
  constructor(txidHex: string, vout: number);
849
1215
  getVOUT(): number;
@@ -890,6 +1256,17 @@ export declare class PlatformAddressInfoNAPI {
890
1256
  export declare class PlatformAddressNAPI {
891
1257
  constructor(address: PlatformAddressLikeNAPI);
892
1258
  bytes(): Uint8Array;
1259
+ /**
1260
+ * Storage fee GroveDB charges for creating balance entries for addresses that are not in
1261
+ * state yet.
1262
+ *
1263
+ * Minimum fees price a transition as if every one of its outputs pays a fresh address, but
1264
+ * the fee actually charged is metered: paying an address that already exists writes no new
1265
+ * bytes and costs (close to) nothing in storage, while every address created costs
1266
+ * `PLATFORM_ADDRESS_STORAGE_BYTES` at the disk rate. Add this to a processing estimate when
1267
+ * you know how many of your outputs are new.
1268
+ */
1269
+ static estimateStorageFeeForNewAddresses(jsAddressCount: number, jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
893
1270
  toAddress(jsNetwork: DynamicValue): string;
894
1271
  toBech32m(jsNetwork: DynamicValue): string;
895
1272
  isP2PKH(): boolean;
@@ -937,6 +1314,20 @@ export declare class PublicKeyNAPI {
937
1314
  bytes(): Uint8Array;
938
1315
  static fromBytes(bytes: Uint8Array): PublicKeyNAPI;
939
1316
  }
1317
+ /**
1318
+ * A note recovered from a shielded action by trial-decryption, together with
1319
+ * the index of the action it was found in (its on-wire / tree-leaf order
1320
+ * within the transition's actions).
1321
+ */
1322
+ export declare class RecoveredNoteNAPI {
1323
+ get index(): number;
1324
+ get note(): NoteNAPI;
1325
+ /**
1326
+ * The note's nullifier (32 bytes). Check it against `getShieldedNullifiers`
1327
+ * to tell whether this note has already been spent.
1328
+ */
1329
+ get nullifier(): Uint8Array;
1330
+ }
940
1331
  export declare class ResourceVoteChoiceNAPI {
941
1332
  static TowardsIdentity(jsId: IdentifierLikeNAPI): ResourceVoteChoiceNAPI;
942
1333
  static Abstain(): ResourceVoteChoiceNAPI;
@@ -950,6 +1341,21 @@ export declare class RewardDistributionTypeNAPI {
950
1341
  static EpochBasedDistribution(interval: number, distributionFunction: DistributionFunctionNAPI): RewardDistributionTypeNAPI;
951
1342
  getDistribution(): BlockBasedDistributionNAPI | TimeBasedDistributionNAPI | EpochBasedDistributionNAPI;
952
1343
  }
1344
+ export declare class SerializedActionNAPI {
1345
+ constructor(jsNullifier: Uint8Array, jsRk: Uint8Array, jsCmx: Uint8Array, jsEncryptedNote: Uint8Array, jsCvNet: Uint8Array, jsSpendAuthSig: Uint8Array);
1346
+ get nullifier(): Uint8Array;
1347
+ get rk(): Uint8Array;
1348
+ get cmx(): Uint8Array;
1349
+ get encrypted_note(): Uint8Array;
1350
+ get cvNet(): Uint8Array;
1351
+ get spendAuthSig(): Uint8Array;
1352
+ set nullifier(jsNullifier: Uint8Array);
1353
+ set rk(jsRk: Uint8Array);
1354
+ set cmx(jsCmx: Uint8Array);
1355
+ set encrypted_note(jsEncryptedNote: Uint8Array);
1356
+ set cvNet(jsCvNet: Uint8Array);
1357
+ set spendAuthSig(jsSpendAuthSig: Uint8Array);
1358
+ }
953
1359
  export declare class SharedEncryptedNoteNAPI {
954
1360
  constructor(senderKeyIndex: number, recipientKeyIndex: number, value: Uint8Array);
955
1361
  get senderKeyIndex(): number;
@@ -959,6 +1365,259 @@ export declare class SharedEncryptedNoteNAPI {
959
1365
  set recipientKeyIndex(index: number);
960
1366
  set value(value: Uint8Array);
961
1367
  }
1368
+ export declare class ShieldedBuilderNAPI {
1369
+ static init(): Promise<ShieldedBuilderNAPI>;
1370
+ shieldFromAssetLock(jsRecipient: OrchardAddressNAPI, jsShieldAmount: BigIntString, jsAssetLockProof: AssetLockProofNAPI, jsPrivateKey: DynamicValue | PrivateKeyNAPI, jsMemo: ShieldedMemoNAPI, jsDummyOutputs: number, jsSenderOvk?: Uint8Array | undefined | null, jsSurplusOutput?: PlatformAddressLikeNAPI | undefined | null, jsPlatformVersion?: PlatformVersionNAPI | undefined | null): Promise<StateTransitionNAPI>;
1371
+ /**
1372
+ * Builds a `ShieldedWithdrawal` state transition (shielded pool -> core L1).
1373
+ *
1374
+ * - `spends` - notes to spend with their Merkle paths
1375
+ * - `withdrawal_amount` - amount of credits to withdraw to the core chain
1376
+ * - `output_script` - core chain script that receives the funds
1377
+ * - `core_fee_per_byte` - core chain fee rate
1378
+ * - `pooling` - withdrawal pooling strategy ("Never" / "IfAvailable" / "Standard")
1379
+ * - `change_address` - Orchard address that receives the shielded change note
1380
+ * - `seed` / `coin_type` / `account` - BIP-39 seed + ZIP-32 path used to derive the
1381
+ * spend authority (full viewing key + spend authorizing key) for the notes being spent
1382
+ * - `anchor` - 32-byte Sinsemilla root the Merkle paths are witnessed against
1383
+ * - `memo` - structured memo for the change note
1384
+ * - `platform_version` - protocol version (defaults to the latest)
1385
+ *
1386
+ * Returns the proven state transition together with the fixed shielded fee (credits)
1387
+ * consensus charges for it.
1388
+ */
1389
+ shieldedWithdrawal(jsSpends: Array<SpendableNoteNAPI>, jsWithdrawalAmount: BigIntString, jsOutputScript: CoreScriptNAPI, jsCoreFeePerByte: number, jsPooling: DynamicValue, jsChangeAddress: OrchardAddressNAPI, jsSeed: Uint8Array, jsCoinType: number, jsAccount: number, jsAnchor: Uint8Array, jsMemo: ShieldedMemoNAPI, jsPlatformVersion?: PlatformVersionNAPI | undefined | null): Promise<ShieldedWithdrawalResultNAPI>;
1390
+ /**
1391
+ * Builds an `Unshield` state transition (shielded pool -> platform address).
1392
+ *
1393
+ * Like withdrawal, this spends notes — so it needs the same on-chain
1394
+ * commitment-tree witness + anchor. The net (`unshield_amount`) is credited
1395
+ * to `output_address` (a platform identity balance), and any remaining value
1396
+ * returns to the shielded `change_address`.
1397
+ *
1398
+ * - `spends` - notes to spend with their Merkle paths
1399
+ * - `output_address` - platform address that receives the unshielded credits
1400
+ * - `unshield_amount` - amount of credits to unshield
1401
+ * - `change_address` - Orchard address that receives the shielded change note
1402
+ * - `seed` / `coin_type` / `account` - BIP-39 seed + ZIP-32 path for the spend authority
1403
+ * - `anchor` - 32-byte Sinsemilla root the Merkle paths are witnessed against
1404
+ * - `memo` - structured memo for the change note
1405
+ * - `platform_version` - protocol version (defaults to the latest)
1406
+ *
1407
+ * Returns the proven state transition plus the fixed shielded fee (credits).
1408
+ */
1409
+ unshield(jsSpends: Array<SpendableNoteNAPI>, jsOutputAddress: PlatformAddressLikeNAPI, jsUnshieldAmount: BigIntString, jsChangeAddress: OrchardAddressNAPI, jsSeed: Uint8Array, jsCoinType: number, jsAccount: number, jsAnchor: Uint8Array, jsMemo: ShieldedMemoNAPI, jsPlatformVersion?: PlatformVersionNAPI | undefined | null): Promise<ShieldedWithdrawalResultNAPI>;
1410
+ /**
1411
+ * Builds a `ShieldedTransfer` state transition (shielded pool -> shielded pool).
1412
+ *
1413
+ * Spends notes and sends value to another Orchard address, fully shielded.
1414
+ * Needs the same on-chain commitment-tree witness + anchor as the other
1415
+ * spends. Any remaining value returns to `change_address`.
1416
+ *
1417
+ * - `spends` - notes to spend with their Merkle paths
1418
+ * - `recipient` - Orchard address that receives the transferred note
1419
+ * - `transfer_amount` - amount of credits to transfer
1420
+ * - `change_address` - Orchard address that receives the shielded change note
1421
+ * - `seed` / `coin_type` / `account` - BIP-39 seed + ZIP-32 path for the spend authority
1422
+ * - `anchor` - 32-byte Sinsemilla root the Merkle paths are witnessed against
1423
+ * - `memo` - structured memo for the recipient/change note
1424
+ * - `platform_version` - protocol version (defaults to the latest)
1425
+ *
1426
+ * Returns the proven state transition plus the fixed shielded fee (credits).
1427
+ */
1428
+ shieldedTransfer(jsSpends: Array<SpendableNoteNAPI>, jsRecipient: OrchardAddressNAPI, jsTransferAmount: BigIntString, jsChangeAddress: OrchardAddressNAPI, jsSeed: Uint8Array, jsCoinType: number, jsAccount: number, jsAnchor: Uint8Array, jsMemo: ShieldedMemoNAPI, jsPlatformVersion?: PlatformVersionNAPI | undefined | null): Promise<ShieldedWithdrawalResultNAPI>;
1429
+ /**
1430
+ * Builds a `ShieldedTransfer` that pays many Orchard addresses at once
1431
+ * (shielded pool -> shielded pool).
1432
+ *
1433
+ * Same spend side as [`Self::shielded_transfer`] — one account's notes, one
1434
+ * anchor — but the output side is a list instead of a single recipient, so
1435
+ * one proof and one fee cover the whole fan-out. Consensus never sees the
1436
+ * output count (outputs are ciphertext inside the actions), so this needs no
1437
+ * protocol change; what it does see is `actions.len()`, which Orchard sets to
1438
+ * `max(spends, outputs + change, 2)` and prices the fee from.
1439
+ *
1440
+ * - `spends` - notes to spend with their Merkle paths
1441
+ * - `outputs` - recipients, each with its own amount and memo (at least one)
1442
+ * - `change_address` - Orchard address that receives the shielded change note;
1443
+ * it is always written, even at zero value, so the action count — and with
1444
+ * it the fee — is fixed before the change amount is known
1445
+ * - `seed` / `coin_type` / `account` - BIP-39 seed + ZIP-32 path for the spend authority
1446
+ * - `anchor` - 32-byte Sinsemilla root the Merkle paths are witnessed against
1447
+ * - `platform_version` - protocol version (defaults to the latest)
1448
+ *
1449
+ * Returns the proven state transition plus the fixed shielded fee (credits).
1450
+ * Errors before proving if the bundle would exceed the consensus action cap,
1451
+ * rather than after a multi-second proof the node would reject.
1452
+ */
1453
+ shieldedTransferMulti(jsSpends: Array<SpendableNoteNAPI>, jsOutputs: Array<ShieldedOutputNAPI>, jsChangeAddress: OrchardAddressNAPI, jsSeed: Uint8Array, jsCoinType: number, jsAccount: number, jsAnchor: Uint8Array, jsPlatformVersion?: PlatformVersionNAPI | undefined | null): Promise<ShieldedWithdrawalResultNAPI>;
1454
+ /**
1455
+ * Builds a `Shield` state transition (transparent platform addresses -> pool).
1456
+ *
1457
+ * A deposit: it does NOT spend pool notes (no witness/anchor needed), but it
1458
+ * does sign the transparent input witnesses, so you pass the `PrivateKeyNAPI`
1459
+ * for every input address. Fees are deducted from the inputs per `fee_strategy`.
1460
+ *
1461
+ * - `recipient` - Orchard address that receives the shielded note
1462
+ * - `shield_amount` - amount of credits to shield
1463
+ * - `inputs` - platform address inputs (address + nonce + balance)
1464
+ * - `private_keys` - one private key per input address (used to sign witnesses)
1465
+ * - `fee_strategy` - how fees are deducted from the inputs
1466
+ * - `user_fee_increase` - user fee bump
1467
+ * - `memo` - structured memo for the recipient note
1468
+ * - `sender_ovk` - optional 32-byte sender OVK (recoverable send when set)
1469
+ * - `platform_version` - protocol version (defaults to the latest)
1470
+ */
1471
+ shield(jsRecipient: OrchardAddressNAPI, jsShieldAmount: BigIntString, jsInputs: Array<InputAddressNAPI>, jsPrivateKeys: Array<PrivateKeyNAPI>, jsFeeStrategy: Array<AddressFundsFeeStrategyStepNAPI>, jsUserFeeIncrease: number, jsMemo: ShieldedMemoNAPI, jsSenderOvk?: Uint8Array | undefined | null, jsPlatformVersion?: PlatformVersionNAPI | undefined | null): Promise<StateTransitionNAPI>;
1472
+ /**
1473
+ * Builds an `IdentityCreateFromShieldedPool` transition (pool -> new identity).
1474
+ *
1475
+ * A spend (needs the on-chain witness + anchor) that funds a brand-new identity
1476
+ * from the shielded pool. Each `public_keys[i]` is paired with `private_keys[i]`,
1477
+ * which signs that key's proof-of-possession (ECDSA keys only).
1478
+ *
1479
+ * - `public_keys` - the new identity's keys (in-creation form)
1480
+ * - `private_keys` - one private key per public key (same order)
1481
+ * - `denomination` - fixed pool denomination funding the identity
1482
+ * - `send_to_address_on_creation_failure` - platform address refunded if creation fails
1483
+ * - `spends` - notes to spend with their Merkle paths
1484
+ * - `change_address` - Orchard address for the shielded change note
1485
+ * - `seed` / `coin_type` / `account` - BIP-39 seed + ZIP-32 path for the spend authority
1486
+ * - `anchor` - 32-byte Sinsemilla root the Merkle paths are witnessed against
1487
+ * - `memo` - structured memo for the change note
1488
+ * - `platform_version` - protocol version (defaults to the latest)
1489
+ */
1490
+ identityCreateFromShieldedPool(jsPublicKeys: Array<IdentityPublicKeyInCreationNAPI>, jsPrivateKeys: Array<PrivateKeyNAPI>, jsDenomination: BigIntString, jsSendToAddressOnCreationFailure: PlatformAddressLikeNAPI, jsSpends: Array<SpendableNoteNAPI>, jsChangeAddress: OrchardAddressNAPI, jsSeed: Uint8Array, jsCoinType: number, jsAccount: number, jsAnchor: Uint8Array, jsMemo: ShieldedMemoNAPI, jsPlatformVersion?: PlatformVersionNAPI | undefined | null): Promise<IdentityCreateFromShieldedPoolResultNAPI>;
1491
+ }
1492
+ export declare class ShieldedMemoNAPI {
1493
+ static fromString(value: string): ShieldedMemoNAPI;
1494
+ static empty(): ShieldedMemoNAPI;
1495
+ static other(kind: number, payload: Uint8Array): ShieldedMemoNAPI;
1496
+ toString(): string;
1497
+ toBytes(): Uint8Array;
1498
+ }
1499
+ /**
1500
+ * One output of a multi-output shielded transfer: the Orchard address that
1501
+ * receives the note, its value in credits, and the memo carried inside the
1502
+ * note's encrypted ciphertext.
1503
+ *
1504
+ * The single-recipient builders take the recipient, amount and memo as three
1505
+ * flat arguments; fanning out to N recipients needs them grouped, so each
1506
+ * output carries its own memo rather than sharing one across the bundle.
1507
+ */
1508
+ export declare class ShieldedOutputNAPI {
1509
+ constructor(jsAddress: OrchardAddressNAPI, jsAmount: BigIntString, jsMemo: ShieldedMemoNAPI);
1510
+ get address(): OrchardAddressNAPI;
1511
+ set address(jsAddress: OrchardAddressNAPI);
1512
+ get amount(): BigIntString;
1513
+ set amount(jsAmount: BigIntString);
1514
+ get memo(): ShieldedMemoNAPI;
1515
+ set memo(jsMemo: ShieldedMemoNAPI);
1516
+ }
1517
+ export declare class ShieldedTransferTransitionNAPI {
1518
+ constructor(jsActions: Array<SerializedActionNAPI>, jsValueBalance: BigIntString, jsAnchor: Uint8Array, jsProof: Uint8Array, jsBindingsSignature: Uint8Array);
1519
+ get actions(): Array<SerializedActionNAPI>;
1520
+ get valueBalance(): BigIntString;
1521
+ get anchor(): Uint8Array;
1522
+ get proof(): Uint8Array;
1523
+ get bindingsSignature(): Uint8Array;
1524
+ set actions(actions: Array<SerializedActionNAPI>);
1525
+ set valueBalance(amount: BigIntString);
1526
+ set anchor(jsAnchor: Uint8Array);
1527
+ set proof(proof: Uint8Array);
1528
+ set bindingsSignature(jsBindingsSignature: Uint8Array);
1529
+ static computeMinimumFee(jsNumActions: number, jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
1530
+ toStateTransition(): StateTransitionNAPI;
1531
+ static fromStateTransition(st: StateTransitionNAPI): ShieldedTransferTransitionNAPI;
1532
+ }
1533
+ /**
1534
+ * Result of a proving shielded spend builder ([`ShieldedBuilderNAPI::shielded_withdrawal`],
1535
+ * [`ShieldedBuilderNAPI::unshield`], [`ShieldedBuilderNAPI::shielded_transfer`]): the
1536
+ * proven state transition plus the shielded fee (credits) consensus charges for it.
1537
+ */
1538
+ export declare class ShieldedWithdrawalResultNAPI {
1539
+ get stateTransition(): StateTransitionNAPI;
1540
+ get fee(): BigIntString;
1541
+ }
1542
+ export declare class ShieldedWithdrawalTransitionNAPI {
1543
+ constructor(jsActions: Array<SerializedActionNAPI>, jsUnshieldingAmount: BigIntString, jsAnchor: Uint8Array, jsProof: Uint8Array, jsBindingsSignature: Uint8Array, coreFeePerByte: number, jsPooling: DynamicValue, jsOutputScript: CoreScriptNAPI);
1544
+ get actions(): Array<SerializedActionNAPI>;
1545
+ get unshieldingAmount(): BigIntString;
1546
+ get anchor(): Uint8Array;
1547
+ get proof(): Uint8Array;
1548
+ get bindingsSignature(): Uint8Array;
1549
+ get coreFeePerByte(): number;
1550
+ get pooling(): string;
1551
+ get outputScript(): CoreScriptNAPI;
1552
+ set actions(actions: Array<SerializedActionNAPI>);
1553
+ set unshieldingAmount(amount: BigIntString);
1554
+ set anchor(jsAnchor: Uint8Array);
1555
+ set proof(proof: Uint8Array);
1556
+ set bindingsSignature(jsBindingsSignature: Uint8Array);
1557
+ set coreFeePerByte(coreFeePerByte: number);
1558
+ set pooling(jsPooling: DynamicValue);
1559
+ set outputScript(outputScript: CoreScriptNAPI);
1560
+ static computeMinimumFee(jsNumActions: number, jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
1561
+ toStateTransition(): StateTransitionNAPI;
1562
+ static fromStateTransition(st: StateTransitionNAPI): ShieldedWithdrawalTransitionNAPI;
1563
+ }
1564
+ export declare class ShieldFromAssetLockTransitionNAPI {
1565
+ constructor(jsAssetLockProof: AssetLockProofNAPI, jsActions: Array<SerializedActionNAPI>, jsValueBalance: BigIntString, jsAnchor: Uint8Array, jsProof: Uint8Array, jsBindingsSignature: Uint8Array, jsSurplusOutput?: PlatformAddressLikeNAPI | undefined | null);
1566
+ get assetLockProof(): AssetLockProofNAPI;
1567
+ get actions(): Array<SerializedActionNAPI>;
1568
+ get valueBalance(): BigIntString;
1569
+ get anchor(): Uint8Array;
1570
+ get proof(): Uint8Array;
1571
+ get bindingsSignature(): Uint8Array;
1572
+ get surplusOutput(): PlatformAddressNAPI | null;
1573
+ get signature(): Uint8Array;
1574
+ set assetLockProof(jsAssetLockProof: AssetLockProofNAPI);
1575
+ set actions(actions: Array<SerializedActionNAPI>);
1576
+ set valueBalance(amount: BigIntString);
1577
+ set anchor(jsAnchor: Uint8Array);
1578
+ set proof(proof: Uint8Array);
1579
+ set bindingsSignature(jsBindingsSignature: Uint8Array);
1580
+ set surplusOutput(jsSurplusOutput: PlatformAddressLikeNAPI | undefined | null);
1581
+ set signature(signature: Uint8Array);
1582
+ static computeMinimumFee(jsNumActions: number, jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
1583
+ toStateTransition(): StateTransitionNAPI;
1584
+ static fromStateTransition(st: StateTransitionNAPI): ShieldFromAssetLockTransitionNAPI;
1585
+ }
1586
+ export declare class ShieldTransitionNAPI {
1587
+ constructor(jsInputs: Array<InputAddressNAPI>, jsActions: Array<SerializedActionNAPI>, jsAmount: BigIntString, jsAnchor: Uint8Array, jsProof: Uint8Array, jsBindingsSignature: Uint8Array, jsFeeStrategy: Array<AddressFundsFeeStrategyStepNAPI>, userFeeIncrease: number, jsInputWitnesses: Array<AddressWitnessNAPI>);
1588
+ get inputs(): Array<InputAddressNAPI>;
1589
+ get actions(): Array<SerializedActionNAPI>;
1590
+ get amount(): BigIntString;
1591
+ get anchor(): Uint8Array;
1592
+ get proof(): Uint8Array;
1593
+ get bindingsSignature(): Uint8Array;
1594
+ get feeStrategy(): Array<AddressFundsFeeStrategyStepNAPI>;
1595
+ get userFeeIncrease(): number;
1596
+ get inputWitnesses(): Array<AddressWitnessNAPI>;
1597
+ set inputs(jsInputs: Array<InputAddressNAPI>);
1598
+ set actions(actions: Array<SerializedActionNAPI>);
1599
+ set amount(amount: BigIntString);
1600
+ set anchor(jsAnchor: Uint8Array);
1601
+ set proof(proof: Uint8Array);
1602
+ set bindingsSignature(jsBindingsSignature: Uint8Array);
1603
+ set feeStrategy(feeStrategy: Array<AddressFundsFeeStrategyStepNAPI>);
1604
+ set userFeeIncrease(userFeeIncrease: number);
1605
+ set inputWitnesses(jsInputWitnesses: Array<AddressWitnessNAPI>);
1606
+ static computeMinimumFee(jsNumActions: number, jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
1607
+ toStateTransition(): StateTransitionNAPI;
1608
+ static fromStateTransition(st: StateTransitionNAPI): ShieldTransitionNAPI;
1609
+ }
1610
+ /**
1611
+ * An Orchard note to spend, paired with its Merkle inclusion path in the note
1612
+ * commitment tree — the unit consumed by a shielded spend (withdrawal, etc.).
1613
+ */
1614
+ export declare class SpendableNoteNAPI {
1615
+ constructor(jsNote: NoteNAPI, jsMerklePath: MerklePathNAPI);
1616
+ get note(): NoteNAPI;
1617
+ get merklePath(): MerklePathNAPI;
1618
+ set note(jsNote: NoteNAPI);
1619
+ set merklePath(jsMerklePath: MerklePathNAPI);
1620
+ }
962
1621
  export declare class StateTransitionNAPI {
963
1622
  sign(jsPrivateKey: DynamicValue | PrivateKeyNAPI, publicKey: IdentityPublicKeyNAPI): Uint8Array;
964
1623
  signByPrivateKey(jsPrivateKey: DynamicValue | PrivateKeyNAPI, keyId?: number | undefined | null, jsKeyType?: DynamicValue | undefined | null): Uint8Array;
@@ -971,6 +1630,15 @@ export declare class StateTransitionNAPI {
971
1630
  static fromBase64(base64: string): StateTransitionNAPI;
972
1631
  hash(skipSignature: boolean): string;
973
1632
  getActionName(): string;
1633
+ /**
1634
+ * The minimum fee the network requires for this transition to be accepted.
1635
+ *
1636
+ * This is the same value the node checks the payer balance against before execution.
1637
+ * The fee actually charged is metered during execution and depends on state (for
1638
+ * example, paying an address that does not exist yet adds storage cost), so it can
1639
+ * be higher than this minimum.
1640
+ */
1641
+ calculateMinRequiredFee(jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
974
1642
  getActionType(): string;
975
1643
  getActionTypeNumber(): number;
976
1644
  getOwnerId(): IdentifierNAPI | null;
@@ -989,6 +1657,10 @@ export declare class StateTransitionNAPI {
989
1657
  setIdentityContractNonce(nonce: BigIntString): void;
990
1658
  setIdentityNonce(nonce: BigIntString): void;
991
1659
  }
1660
+ export declare class StoredAssetLockInfoNAPI {
1661
+ get type(): string;
1662
+ get value(): AssetLockValueNAPI | null;
1663
+ }
992
1664
  export declare class TimeBasedDistributionNAPI {
993
1665
  interval: BigIntString;
994
1666
  get function(): DistributionFunctionNAPI;
@@ -1354,6 +2026,98 @@ export declare class TxOutNAPI {
1354
2026
  set scriptPubKeyBytes(scriptPubkeyBytes: Uint8Array);
1355
2027
  getScriptPubKeyASM(): string;
1356
2028
  }
2029
+ export declare class UnshieldTransitionNAPI {
2030
+ constructor(jsOutputAddress: PlatformAddressLikeNAPI, jsActions: Array<SerializedActionNAPI>, jsUnshieldingAmount: BigIntString, jsAnchor: Uint8Array, jsProof: Uint8Array, jsBindingsSignature: Uint8Array);
2031
+ get outputAddress(): PlatformAddressNAPI;
2032
+ get actions(): Array<SerializedActionNAPI>;
2033
+ get unshieldingAmount(): BigIntString;
2034
+ get anchor(): Uint8Array;
2035
+ get proof(): Uint8Array;
2036
+ get bindingsSignature(): Uint8Array;
2037
+ set outputAddress(jsOutputAddress: PlatformAddressLikeNAPI);
2038
+ set actions(actions: Array<SerializedActionNAPI>);
2039
+ set unshieldingAmount(amount: BigIntString);
2040
+ set anchor(jsAnchor: Uint8Array);
2041
+ set proof(proof: Uint8Array);
2042
+ set bindingsSignature(jsBindingsSignature: Uint8Array);
2043
+ static computeMinimumFee(jsNumActions: number, jsPlatformVersion?: PlatformVersionNAPI | undefined | null): BigIntString;
2044
+ toStateTransition(): StateTransitionNAPI;
2045
+ static fromStateTransition(st: StateTransitionNAPI): UnshieldTransitionNAPI;
2046
+ }
2047
+ /**
2048
+ * The verified subtree returned by a branch chunk proof.
2049
+ *
2050
+ * A branch proof is checked against the hash its parent trunk (or branch)
2051
+ * proof published for this key, so it carries no root hash of its own: the
2052
+ * chain back to the platform root is what the parent already established.
2053
+ */
2054
+ export declare class VerifiedAddressesBranchStateNAPI {
2055
+ /** The elements proven by this branch, keyed by their tree key. */
2056
+ get elements(): Array<GroveElementEntryNAPI>;
2057
+ /**
2058
+ * Subtrees this branch in turn stops at, for going a level deeper. Empty
2059
+ * when the branch returned its whole subtree.
2060
+ */
2061
+ get leafKeys(): Array<GroveLeafInfoNAPI>;
2062
+ /**
2063
+ * This subtree's root hash, matching the `expectedRootHash` it was
2064
+ * verified against.
2065
+ */
2066
+ get branchRootHash(): Uint8Array;
2067
+ /**
2068
+ * Which truncated subtree below this branch would contain `key`.
2069
+ *
2070
+ * Returns `undefined` when the key is already among `elements`, or when no
2071
+ * subtree could hold it.
2072
+ */
2073
+ traceKeyToLeaf(key: Uint8Array): GroveLeafInfoNAPI | null;
2074
+ /**
2075
+ * Walks up from `leafKey` to the nearest ancestor holding at least
2076
+ * `minPrivacyTreeCount` elements. See the trunk equivalent for details.
2077
+ */
2078
+ getAncestor(leafKey: Uint8Array, minPrivacyTreeCount: BigIntString): GroveAncestorNAPI | null;
2079
+ }
2080
+ /**
2081
+ * The verified trunk of the address funds tree.
2082
+ *
2083
+ * A trunk proof covers the top of the tree only; subtrees below it are
2084
+ * truncated and listed in `leafKeys`. Use `traceKeyToLeaf` to find which
2085
+ * truncated subtree holds a given address, then fetch that subtree with a
2086
+ * branch query.
2087
+ */
2088
+ export declare class VerifiedAddressesTrunkStateNAPI {
2089
+ rootHash: Uint8Array;
2090
+ /** The elements proven by the trunk, keyed by their tree key. */
2091
+ get elements(): Array<GroveElementEntryNAPI>;
2092
+ /**
2093
+ * The subtrees the trunk stops at. Empty when the whole tree fit in the
2094
+ * trunk.
2095
+ */
2096
+ get leafKeys(): Array<GroveLeafInfoNAPI>;
2097
+ /**
2098
+ * Depths to split subsequent branch queries into, e.g. `[7, 7, 6]` for a
2099
+ * tree of depth 20.
2100
+ */
2101
+ get chunkDepths(): Array<number>;
2102
+ /** The tree's total depth, derived from its element count. */
2103
+ get maxTreeDepth(): number;
2104
+ /**
2105
+ * Which truncated subtree would contain `key`.
2106
+ *
2107
+ * Returns `undefined` when the key is already among `elements`, or when no
2108
+ * subtree could hold it.
2109
+ */
2110
+ traceKeyToLeaf(key: Uint8Array): GroveLeafInfoNAPI | null;
2111
+ /**
2112
+ * Walks up from `leafKey` to the nearest ancestor holding at least
2113
+ * `minPrivacyTreeCount` elements, so a branch query can request a subtree
2114
+ * large enough not to reveal which leaf was wanted.
2115
+ *
2116
+ * Never returns the root, and returns `undefined` when the leaf has no
2117
+ * ancestor above it.
2118
+ */
2119
+ getAncestor(leafKey: Uint8Array, minPrivacyTreeCount: BigIntString): GroveAncestorNAPI | null;
2120
+ }
1357
2121
  export declare class VerifiedBalanceTransferNAPI {
1358
2122
  get sender(): PartialIdentityNAPI;
1359
2123
  get recipient(): PartialIdentityNAPI;
@@ -1378,6 +2142,10 @@ export declare class VerifiedEpochsInfoNAPI {
1378
2142
  get epochsInfo(): Array<ExtendedEpochInfoNAPI>;
1379
2143
  set epochsInfo(info: Array<ExtendedEpochInfoNAPI>);
1380
2144
  }
2145
+ export declare class VerifiedFinlizedEpochInfosNAPI {
2146
+ rootHash: Uint8Array;
2147
+ get epochInfos(): Array<[number, FinalizedEpochInfoNAPI]>;
2148
+ }
1381
2149
  export declare class VerifiedIdentifierByNonUniquePublicKeyHashNAPI {
1382
2150
  rootHash: Uint8Array;
1383
2151
  get identifier(): IdentifierNAPI | null;
@@ -1422,6 +2190,10 @@ export declare class VerifiedIdentityWithAddressInfosNAPI {
1422
2190
  get identity(): PartialIdentityNAPI;
1423
2191
  get infos(): Array<PlatformAddressInfoNAPI>;
1424
2192
  }
2193
+ export declare class VerifiedMostRecentShieldedAnchorNAPI {
2194
+ rootHash: Uint8Array;
2195
+ anchor?: Uint8Array;
2196
+ }
1425
2197
  export declare class VerifiedPlatformAddressesInfosNAPI {
1426
2198
  rootHash: Uint8Array;
1427
2199
  get infos(): Array<PlatformAddressInfoNAPI>;
@@ -1432,9 +2204,56 @@ export declare class VerifiedPlatformAddressInfoNAPI {
1432
2204
  balance?: BigIntString;
1433
2205
  get address(): PlatformAddressNAPI | null;
1434
2206
  }
2207
+ export declare class VerifiedRecentAddressBalanceChangesNAPI {
2208
+ rootHash: Uint8Array;
2209
+ /** The proven blocks, in ascending block-height order. */
2210
+ get blocks(): Array<BlockAddressBalanceChangesNAPI>;
2211
+ }
2212
+ export declare class VerifiedRecentCompactedAddressBalanceChangesNAPI {
2213
+ rootHash: Uint8Array;
2214
+ /** The proven compacted ranges, in ascending block-height order. */
2215
+ get ranges(): Array<CompactedBlockAddressBalanceChangesNAPI>;
2216
+ }
2217
+ export declare class VerifiedShieldedAnchorsNAPI {
2218
+ rootHash: Uint8Array;
2219
+ get anchors(): Array<Uint8Array>;
2220
+ }
2221
+ export declare class VerifiedShieldedEncryptedNoteNAPI {
2222
+ cmx: Uint8Array;
2223
+ nullifier: Uint8Array;
2224
+ cvNet: Uint8Array;
2225
+ encryptedNote: Uint8Array;
2226
+ }
2227
+ export declare class VerifiedShieldedEncryptedNotesNAPI {
2228
+ rootHash: Uint8Array;
2229
+ totalCount: BigIntString;
2230
+ get notes(): Array<VerifiedShieldedEncryptedNoteNAPI>;
2231
+ }
2232
+ export declare class VerifiedShieldedNotesCountNAPI {
2233
+ rootHash: Uint8Array;
2234
+ count?: BigIntString;
2235
+ }
2236
+ export declare class VerifiedShieldedNullifierNAPI {
2237
+ nullifier: Uint8Array;
2238
+ isSpent: boolean;
2239
+ }
2240
+ export declare class VerifiedShieldedNullifiersNAPI {
2241
+ rootHash: Uint8Array;
2242
+ get nullifiers(): Array<VerifiedShieldedNullifierNAPI>;
2243
+ }
2244
+ export declare class VerifiedShieldedPoolStateNAPI {
2245
+ rootHash: Uint8Array;
2246
+ totalBalance?: BigIntString;
2247
+ }
1435
2248
  export declare class VerifiedStateTransitionResultNAPI {
1436
2249
  rootHash: Uint8Array;
1437
- get result(): DataContractNAPI | IdentityNAPI | IdentifierNAPI | VerifiedIdentityBalanceNAPI | VerifiedIdentityTokenInfoNAPI | VerifiedTokenPricingScheduleNAPI | TokenStatusNAPI | Array<VerifiedIdentityBalanceNAPI> | PartialIdentityNAPI | VerifiedBalanceTransferNAPI | Array<VerifiedDocumentNAPI> | DocumentNAPI | VerifiedTokenGroupActionWithDocumentNAPI | VerifiedTokenGroupActionWithTokenBalanceNAPI | VerifiedTokenGroupActionWithTokenIdentityInfoNAPI | VerifiedTokenGroupActionWithTokenPricingScheduleNAPI | VoteNAPI | Array<PlatformAddressInfoNAPI> | VerifiedIdentityFullWithAddressInfosNAPI | VerifiedIdentityWithAddressInfosNAPI;
2250
+ get result(): DataContractNAPI | IdentityNAPI | IdentifierNAPI | VerifiedIdentityBalanceNAPI | VerifiedIdentityTokenInfoNAPI | VerifiedTokenPricingScheduleNAPI | TokenStatusNAPI | Array<VerifiedIdentityBalanceNAPI> | PartialIdentityNAPI | VerifiedBalanceTransferNAPI | Array<VerifiedDocumentNAPI> | DocumentNAPI | VerifiedTokenGroupActionWithDocumentNAPI | VerifiedTokenGroupActionWithTokenBalanceNAPI | VerifiedTokenGroupActionWithTokenIdentityInfoNAPI | VerifiedTokenGroupActionWithTokenPricingScheduleNAPI | VoteNAPI | Array<PlatformAddressInfoNAPI> | VerifiedIdentityFullWithAddressInfosNAPI | VerifiedIdentityWithAddressInfosNAPI | StoredAssetLockInfoNAPI | Array<[Uint8Array, boolean]> | [Array<[Uint8Array, boolean]>, Array<PlatformAddressInfoNAPI>] | [Array<[Uint8Array, boolean]>, Array<VerifiedDocumentNAPI>] | [StoredAssetLockInfoNAPI, Array<PlatformAddressInfoNAPI>] | [IdentityNAPI, Array<[Uint8Array, boolean]>];
2251
+ /**
2252
+ * Whether the proof binds the execution of this specific state transition.
2253
+ * When false the result is a height-pinned snapshot of the affected state,
2254
+ * not evidence that the transition executed.
2255
+ */
2256
+ get isExecutionProved(): boolean;
1438
2257
  }
1439
2258
  export declare class VerifiedTokenBalancesForIdentitiesNAPI {
1440
2259
  rootHash: Uint8Array;
@@ -1515,7 +2334,7 @@ export declare class WitnessNAPI {
1515
2334
  clear(): void;
1516
2335
  push(newElement: Uint8Array): void;
1517
2336
  }
1518
- export declare const enum ActionGoalNAPI {
2337
+ export declare enum ActionGoalNAPI {
1519
2338
  ActionCompletion = 0,
1520
2339
  ActionParticipation = 1
1521
2340
  }
@@ -1526,11 +2345,11 @@ export interface AddressWitnessP2shNAPI {
1526
2345
  signatures: Array<Array<number>>;
1527
2346
  redeemScript: Uint8Array;
1528
2347
  }
1529
- export declare const enum AssetLockProofTypeNAPI {
2348
+ export declare enum AssetLockProofTypeNAPI {
1530
2349
  Instant = 0,
1531
2350
  Chain = 1
1532
2351
  }
1533
- export declare const enum BatchTypeNAPI {
2352
+ export declare enum BatchTypeNAPI {
1534
2353
  Create = 0,
1535
2354
  Replace = 1,
1536
2355
  Delete = 2,
@@ -1618,12 +2437,12 @@ export interface DistributionStepwiseStepNAPI {
1618
2437
  step: BigIntString;
1619
2438
  amount: BigIntString;
1620
2439
  }
1621
- export declare const enum GasFeesPaidByNAPI {
2440
+ export declare enum GasFeesPaidByNAPI {
1622
2441
  DocumentOwner = 0,
1623
2442
  ContractOwner = 1,
1624
2443
  PreferContractOwner = 2
1625
2444
  }
1626
- export declare const enum GroupActionStatusNAPI {
2445
+ export declare enum GroupActionStatusNAPI {
1627
2446
  ActionActive = 0,
1628
2447
  ActionClosed = 1
1629
2448
  }
@@ -1633,21 +2452,27 @@ export interface InstantAssetLockProofRAW {
1633
2452
  transaction: Uint8Array;
1634
2453
  outputIndex: number;
1635
2454
  }
1636
- export declare const enum KeyTypeNAPI {
2455
+ export declare enum KeyTypeNAPI {
1637
2456
  ECDSA_SECP256K1 = 0,
1638
2457
  BLS12_381 = 1,
1639
2458
  ECDSA_HASH160 = 2,
1640
2459
  BIP13_SCRIPT_HASH = 3,
1641
2460
  EDDSA_25519_HASH160 = 4
1642
2461
  }
1643
- export declare const enum NetworkNAPI {
2462
+ export declare enum NetworkNAPI {
1644
2463
  Mainnet = 0,
1645
2464
  Testnet = 1,
1646
2465
  Devnet = 2,
1647
2466
  Regtest = 3
1648
2467
  }
2468
+ /**
2469
+ * Derives the sender's Orchard outgoing viewing key (External scope, 32 bytes)
2470
+ * from a BIP-39 seed via ZIP-32 — the value to pass as `sender_ovk` to
2471
+ * `shieldFromAssetLock` so the sender can later recover its own send.
2472
+ */
2473
+ export declare function orchardOvkFromSeed(seed: Uint8Array, coinType: number, account: number): Uint8Array;
1649
2474
  export type PlatformAddressLikeNAPI = PlatformAddressNAPI | DynamicValue;
1650
- export declare const enum PlatformVersionNAPI {
2475
+ export declare enum PlatformVersionNAPI {
1651
2476
  PLATFORM_V1 = 1,
1652
2477
  PLATFORM_V2 = 2,
1653
2478
  PLATFORM_V3 = 3,
@@ -1658,14 +2483,16 @@ export declare const enum PlatformVersionNAPI {
1658
2483
  PLATFORM_V8 = 8,
1659
2484
  PLATFORM_V9 = 9,
1660
2485
  PLATFORM_V10 = 10,
1661
- PLATFORM_V11 = 11
2486
+ PLATFORM_V11 = 11,
2487
+ PLATFORM_V12 = 12,
2488
+ PLATFORM_V13 = 13
1662
2489
  }
1663
- export declare const enum PoolingNAPI {
2490
+ export declare enum PoolingNAPI {
1664
2491
  Never = 0,
1665
2492
  IfAvailable = 1,
1666
2493
  Standard = 2
1667
2494
  }
1668
- export declare const enum PurposeNAPI {
2495
+ export declare enum PurposeNAPI {
1669
2496
  AUTHENTICATION = 0,
1670
2497
  ENCRYPTION = 1,
1671
2498
  DECRYPTION = 2,
@@ -1674,7 +2501,28 @@ export declare const enum PurposeNAPI {
1674
2501
  VOTING = 5,
1675
2502
  OWNER = 6
1676
2503
  }
1677
- export declare const enum SecurityLevelNAPI {
2504
+ /**
2505
+ * Recovers your own notes from a list of shielded actions by trial-decrypting
2506
+ * each action's `encrypted_note` with the incoming viewing key derived from
2507
+ * `seed` via ZIP-32 (`m/32'/coin_type'/account'`, External scope).
2508
+ *
2509
+ * Only actions addressed to you decrypt; the rest are skipped. Each returned
2510
+ * entry carries the action `index` (use it as the leaf position when building
2511
+ * the spend witness) and the recovered [`NoteNAPI`] (value, rho, rseed,
2512
+ * address) — everything needed to spend it.
2513
+ */
2514
+ export declare function recoverNotes(jsActions: Array<SerializedActionNAPI>, jsSeed: Uint8Array, jsCoinType: number, jsAccount: number): Array<RecoveredNoteNAPI>;
2515
+ /**
2516
+ * The scope of an Orchard viewing key or address (ZIP-32).
2517
+ *
2518
+ * `External` addresses are the ones you hand out to receive funds; `Internal`
2519
+ * is the wallet's own scope, used for change and note management.
2520
+ */
2521
+ export declare enum ScopeNAPI {
2522
+ External = 0,
2523
+ Internal = 1
2524
+ }
2525
+ export declare enum SecurityLevelNAPI {
1678
2526
  MASTER = 0,
1679
2527
  CRITICAL = 1,
1680
2528
  HIGH = 2,
@@ -1685,19 +2533,31 @@ export interface TokenConfigurationLocalizationJsonNAPI {
1685
2533
  singularForm: string;
1686
2534
  pluralForm: string;
1687
2535
  }
1688
- export declare const enum TokenDistributionTypeNAPI {
2536
+ export declare enum TokenDistributionTypeNAPI {
1689
2537
  PreProgrammed = 0,
1690
2538
  Perpetual = 1
1691
2539
  }
1692
- export declare const enum TokenEmergencyActionNAPI {
2540
+ export declare enum TokenEmergencyActionNAPI {
1693
2541
  Pause = 0,
1694
2542
  Resume = 1
1695
2543
  }
2544
+ /**
2545
+ * Verifies a branch chunk proof for the address funds tree.
2546
+ *
2547
+ * `expectedRootHash` must be the `hash` the parent trunk/branch proof reported
2548
+ * for `key`; without it the branch is unanchored and proves nothing.
2549
+ *
2550
+ * `depth` is validated upstream against an allowed range, so take it from the
2551
+ * parent trunk's `chunkDepths` rather than picking a value.
2552
+ */
2553
+ export declare function verifyAddressesBranchState(proof: Uint8Array, key: Uint8Array, depth: number, expectedRootHash: Uint8Array, jsPlatformVersion: DynamicValue): VerifiedAddressesBranchStateNAPI;
1696
2554
  export declare function verifyAddressesInfos(proof: Uint8Array, jsPlatformAddresses: Array<PlatformAddressLikeNAPI>, verifySubsetOfProof: boolean, jsPlatformVersion: DynamicValue): VerifiedPlatformAddressesInfosNAPI;
2555
+ export declare function verifyAddressesTrunkState(proof: Uint8Array, jsPlatformVersion: DynamicValue): VerifiedAddressesTrunkStateNAPI;
1697
2556
  export declare function verifyAddressInfo(proof: Uint8Array, jsPlatformAddress: PlatformAddressLikeNAPI, verifySubsetOfProof: boolean, jsPlatformVersion: DynamicValue): VerifiedPlatformAddressInfoNAPI;
1698
2557
  export declare function verifyContractProof(proof: Uint8Array, contractKnownKeepsHistory: boolean | undefined | null, isProofSubset: boolean, inMultipleContractProofForm: boolean, jsContractId: IdentifierLikeNAPI, jsPlatformVersion: DynamicValue): VerifiedContractNAPI;
1699
2558
  export declare function verifyDocumentsProof(proof: Uint8Array, contract: DataContractNAPI, documentTypeName: string, jsWhereClauses: DynamicValue, jsOrderBy: Array<Array<string>>, limit: number | undefined | null, jsStartAt: IdentifierLikeNAPI | undefined | null, startAtIncluded: boolean, blockTimeMs: BigIntString | undefined | null, jsPlatformVersion: DynamicValue): VerifiedDocumentsNAPI;
1700
2559
  export declare function verifyEpochsInfoProof(proof: Uint8Array, currentEpoch: number, startEpoch: number | undefined | null, count: number, ascending: boolean, jsPlatformVersion: DynamicValue): VerifiedEpochsInfoNAPI;
2560
+ export declare function verifyFinalizedEpochInfosProof(proof: Uint8Array, startEpochIndex: number, startEpochIndexIncluded: boolean, endEpochIndex: number, endEpochIndexIncluded: boolean, jsPlatformVersion: DynamicValue): VerifiedFinlizedEpochInfosNAPI;
1701
2561
  export declare function verifyIdentifierByNonUniquePublicKeyHashProof(proof: Uint8Array, isProofSubset: boolean, jsPublicKeyHash: Uint8Array, jsAfter: IdentifierLikeNAPI | undefined | null, jsPlatformVersion: DynamicValue): VerifiedIdentifierByNonUniquePublicKeyHashNAPI;
1702
2562
  export declare function verifyIdentityBalanceProof(proof: Uint8Array, jsIdentityId: IdentifierLikeNAPI, verifySubsetOfProof: boolean, jsPlatformVersion: DynamicValue): VerifiedIdentityBalanceRootHashNAPI;
1703
2563
  export declare function verifyIdentityByIdentifierProof(proof: Uint8Array, jsIdentityId: IdentifierLikeNAPI, isProofSubset: boolean, jsPlatformVersion: DynamicValue): VerifiedIdentityByIdentifierNAPI;
@@ -1705,6 +2565,31 @@ export declare function verifyIdentityByUniqueKeyHashProof(proof: Uint8Array, js
1705
2565
  export declare function verifyIdentityContractNonceProof(proof: Uint8Array, jsIdentityId: IdentifierLikeNAPI, jsContractId: IdentifierLikeNAPI, verifySubsetOfProof: boolean, jsPlatformVersion: DynamicValue): VerifiedIdentityContractNonceNAPI;
1706
2566
  export declare function verifyIdentityKeysByIdentifierProof(proof: Uint8Array, jsIdentityId: IdentifierLikeNAPI, specificKeyIds: Array<number> | undefined | null, withRevision: boolean, withBalance: boolean, isProofSubset: boolean, limit: number | undefined | null, offset: number | undefined | null, jsPlatformVersion: DynamicValue): VerifiedIdentityKeysByIdentifierNAPI;
1707
2567
  export declare function verifyIdentityNonceProof(proof: Uint8Array, jsIdentityId: IdentifierLikeNAPI, verifySubsetOfProof: boolean, jsPlatformVersion: DynamicValue): VerifiedIdentityNonceNAPI;
2568
+ export declare function verifyMostRecentShieldedAnchorProof(proof: Uint8Array, verifySubsetOfProof: boolean, jsPlatformVersion: DynamicValue): VerifiedMostRecentShieldedAnchorNAPI;
2569
+ /**
2570
+ * Verifies a proof of the address balance changes from a block height onwards.
2571
+ *
2572
+ * `startHeightExclusive` mirrors the request flag of the same name: when
2573
+ * false the proof is a `RangeFrom` starting at `startBlockHeight`, when true a
2574
+ * `RangeAfter` starting just past it. It must match what was asked for, since
2575
+ * the two produce different queries and so different proofs.
2576
+ */
2577
+ export declare function verifyRecentAddressBalanceChanges(proof: Uint8Array, startBlockHeight: BigIntString, startHeightExclusive: boolean, limit: number | undefined | null, verifySubsetOfProof: boolean, jsPlatformVersion: DynamicValue): VerifiedRecentAddressBalanceChangesNAPI;
2578
+ /**
2579
+ * Verifies a proof of the compacted address balance changes from a block
2580
+ * height onwards.
2581
+ *
2582
+ * Unlike the uncompacted query there is no subset flag: the proof is a
2583
+ * self-contained envelope whose predecessor half authenticates which range
2584
+ * covers the requested height, so the forward half has nothing to be a subset
2585
+ * of.
2586
+ */
2587
+ export declare function verifyRecentCompactedAddressBalanceChanges(proof: Uint8Array, startBlockHeight: BigIntString, limit: number | undefined | null, jsPlatformVersion: DynamicValue): VerifiedRecentCompactedAddressBalanceChangesNAPI;
2588
+ export declare function verifyShieldedAnchorsProof(proof: Uint8Array, verifySubsetOfProof: boolean, jsPlatformVersion: DynamicValue): VerifiedShieldedAnchorsNAPI;
2589
+ export declare function verifyShieldedEncryptedNotesProof(proof: Uint8Array, startIndex: BigIntString, count: number, maxElements: number, verifySubsetOfProof: boolean, jsPlatformVersion: DynamicValue): VerifiedShieldedEncryptedNotesNAPI;
2590
+ export declare function verifyShieldedNotesCountProof(proof: Uint8Array, verifySubsetOfProof: boolean, jsPlatformVersion: DynamicValue): VerifiedShieldedNotesCountNAPI;
2591
+ export declare function verifyShieldedNullifiersProof(proof: Uint8Array, nullifiers: Array<Uint8Array>, verifySubsetOfProof: boolean, jsPlatformVersion: DynamicValue): VerifiedShieldedNullifiersNAPI;
2592
+ export declare function verifyShieldedPoolStateProof(proof: Uint8Array, verifySubsetOfProof: boolean, jsPlatformVersion: DynamicValue): VerifiedShieldedPoolStateNAPI;
1708
2593
  export declare function verifySignatureDigest(signDigest: Uint8Array, signature: Uint8Array, pubkeyBytes: Uint8Array): boolean;
1709
2594
  export declare function verifyStateTransitionResult(proof: Uint8Array, stateTransition: StateTransitionNAPI, blockInfo: BlockInfoNAPI, jsKnownContractsArray: Array<DataContractNAPI>, jsPlatformVersion: DynamicValue): VerifiedStateTransitionResultNAPI;
1710
2595
  export declare function verifyTokenBalancesForIdentitiesProof(proof: Uint8Array, jsTokenId: IdentifierLikeNAPI, isProofSubset: boolean, jsIdentities: Array<IdentifierLikeNAPI>, jsPlatformVersion: DynamicValue): VerifiedTokenBalancesForIdentitiesNAPI;
@@ -1714,7 +2599,7 @@ export declare function verifyTokensBalancesForIdentityProof(proof: Uint8Array,
1714
2599
  export declare function verifyTokenTotalSupplyProof(proof: Uint8Array, jsTokenId: IdentifierLikeNAPI, verifySubsetOfProof: boolean, jsPlatformVersion: DynamicValue): VerifiedTokenTotalSupplyNAPI;
1715
2600
  export declare function verifyTotalCreditsProof(proof: Uint8Array, coreSubsidyHalvingInterval: number, activationCoreHeight: number, currentCoreHeight: number, jsPlatformVersion: DynamicValue): VerifiedTotalCreditsNAPI;
1716
2601
  export declare function verifyVotePollVoteStateProof(proof: Uint8Array, contract: DataContractNAPI, documentTypeName: string, indexName: string, jsIndexValues: Array<Uint8Array>, jsResultType: DynamicValue, allowIncludeLockedAndAbstainingVoteTally: boolean, count: number | undefined | null, jsStartAt: DynamicValue, jsPlatformVersion: DynamicValue): VerifiedVoteStateNAPI;
1717
- export declare const enum VoteStateResultTypeNAPI {
2602
+ export declare enum VoteStateResultTypeNAPI {
1718
2603
  DOCUMENTS = 0,
1719
2604
  VOTE_TALLY = 1,
1720
2605
  DOCUMENTS_AND_VOTE_TALLY = 2