pshenmic-dpp 2.0.0-dev.27 → 2.0.0-dev.29

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 (44) hide show
  1. package/dist/binaries/bindingsTypes.d.ts +369 -2
  2. package/dist/binaries/bindingsTypes.js +11 -0
  3. package/dist/binaries/native/aarch64-apple-darwin/pshenmic_dpp.node +0 -0
  4. package/dist/binaries/native/aarch64-pc-windows-msvc/pshenmic_dpp.node +0 -0
  5. package/dist/binaries/native/aarch64-unknown-linux-gnu/pshenmic_dpp.node +0 -0
  6. package/dist/binaries/native/aarch64-unknown-linux-musl/pshenmic_dpp.node +0 -0
  7. package/dist/binaries/native/x86_64-apple-darwin/pshenmic_dpp.node +0 -0
  8. package/dist/binaries/native/x86_64-pc-windows-msvc/pshenmic_dpp.node +0 -0
  9. package/dist/binaries/native/x86_64-unknown-linux-gnu/pshenmic_dpp.node +0 -0
  10. package/dist/binaries/native/x86_64-unknown-linux-musl/pshenmic_dpp.node +0 -0
  11. package/dist/binaries/pshenmic_dpp.android.node/arm64-v8a/libpshenmic_dpp.so +0 -0
  12. package/dist/binaries/pshenmic_dpp.apple.node/ios-arm64-simulator/libpshenmic_dpp.framework/libpshenmic_dpp +0 -0
  13. package/dist/binaries/pshenmic_dpp.d.ts +21 -0
  14. package/dist/binaries/pshenmic_dpp.js +1 -1
  15. package/dist/binaries/wasm/wasmBytes.cjs +1 -1
  16. package/dist/binaries/wasm.d.ts +21 -0
  17. package/dist/binaries/wasm.js +1 -1
  18. package/dist/src/dpp/dpp.d.ts +7 -0
  19. package/dist/src/dpp/dpp.js +7 -0
  20. package/dist/src/dpp/enums.d.ts +1 -1
  21. package/dist/src/dpp/enums.js +1 -1
  22. package/dist/src/dpp/structs/Orchard/FullViewingKey.d.ts +27 -0
  23. package/dist/src/dpp/structs/Orchard/FullViewingKey.js +45 -0
  24. package/dist/src/dpp/structs/Orchard/IncomingViewingKey.d.ts +29 -0
  25. package/dist/src/dpp/structs/Orchard/IncomingViewingKey.js +44 -0
  26. package/dist/src/dpp/structs/Orchard/OrchardAddress.d.ts +14 -2
  27. package/dist/src/dpp/structs/Orchard/OrchardAddress.js +16 -2
  28. package/dist/src/dpp/structs/Orchard/ShieldedBuilder.d.ts +17 -0
  29. package/dist/src/dpp/structs/Orchard/ShieldedBuilder.js +18 -0
  30. package/dist/src/dpp/structs/Orchard/ShieldedOutput.d.ts +23 -0
  31. package/dist/src/dpp/structs/Orchard/ShieldedOutput.js +41 -0
  32. package/dist/src/dpp/types.d.ts +84 -1
  33. package/dist/src/dpp/verify/AddressFunds/utils.d.ts +5 -0
  34. package/dist/src/dpp/verify/AddressFunds/utils.js +28 -0
  35. package/dist/src/dpp/verify/AddressFunds/verifyAddressesBranchState.d.ts +12 -0
  36. package/dist/src/dpp/verify/AddressFunds/verifyAddressesBranchState.js +29 -0
  37. package/dist/src/dpp/verify/AddressFunds/verifyAddressesTrunkState.d.ts +9 -0
  38. package/dist/src/dpp/verify/AddressFunds/verifyAddressesTrunkState.js +30 -0
  39. package/dist/src/dpp/verify/AddressFunds/verifyRecentAddressBalanceChanges.d.ts +9 -0
  40. package/dist/src/dpp/verify/AddressFunds/verifyRecentAddressBalanceChanges.js +24 -0
  41. package/dist/src/dpp/verify/AddressFunds/verifyRecentCompactedAddressBalanceChanges.d.ts +10 -0
  42. package/dist/src/dpp/verify/AddressFunds/verifyRecentCompactedAddressBalanceChanges.js +30 -0
  43. package/package.json +1 -1
  44. package/tests/unit/Shielded.spec.ts +176 -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;
@@ -161,11 +171,24 @@ export declare class BatchTransitionNAPI {
161
171
  static fromBase64(base64: string): BatchTransitionNAPI;
162
172
  static fromHex(hex: string): BatchTransitionNAPI;
163
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
+ }
164
179
  export declare class BlockBasedDistributionNAPI {
165
180
  interval: BigIntString;
166
181
  get function(): DistributionFunctionNAPI;
167
182
  set function(distributionFunction: DistributionFunctionNAPI);
168
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
+ }
169
192
  export declare class BlockInfoNAPI {
170
193
  constructor(timestamp: BigIntString, height: BigIntString, coreBlockHeight: number, jsEpochIndex?: number | undefined | null);
171
194
  get timeMs(): BigIntString;
@@ -250,6 +273,34 @@ export declare class CommitmentTreeNAPI {
250
273
  */
251
274
  anchor(): Uint8Array;
252
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
+ }
253
304
  export declare class ConsensusErrorNAPI {
254
305
  static deserialize(error: Uint8Array): ConsensusErrorNAPI;
255
306
  get message(): string;
@@ -542,6 +593,46 @@ export declare class FinalizedEpochInfoNAPI {
542
593
  get feeMultiplierPermille(): BigIntString;
543
594
  get protocolVersion(): number;
544
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
+ }
545
636
  export declare class GroupNAPI {
546
637
  constructor(jsMembers: Array<[IdentifierLikeNAPI, number]>, requiredPower: number);
547
638
  get members(): Array<[IdentifierNAPI, number]>;
@@ -559,6 +650,70 @@ export declare class GroupStateTransitionInfoNAPI {
559
650
  get actionId(): IdentifierNAPI;
560
651
  get actionIsProposer(): boolean;
561
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
+ }
562
717
  export declare class IdentifierNAPI {
563
718
  constructor(jsId: DynamicValue);
564
719
  base58(): string;
@@ -901,6 +1056,40 @@ export declare class IdentityUpdateTransitionNAPI {
901
1056
  toStateTransition(): StateTransitionNAPI;
902
1057
  static fromStateTransition(st: StateTransitionNAPI): IdentityUpdateTransitionNAPI;
903
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
+ }
904
1093
  export declare class InputAddressNAPI {
905
1094
  constructor(address: PlatformAddressLikeNAPI, nonce: number, credits: BigIntString);
906
1095
  get address(): PlatformAddressNAPI;
@@ -1002,9 +1191,20 @@ export declare class OrchardAddressNAPI {
1002
1191
  /**
1003
1192
  * Derives the Orchard payment address from a BIP-39 seed via ZIP-32
1004
1193
  * (`m/32'/coin_type'/account'`). `diversifier_index` selects the diversified
1005
- * address (default 0). `coin_type` is SLIP-44 (Dash = 5, testnets = 1).
1194
+ * address (default 0), `scope` the ZIP-32 scope (default `External`).
1195
+ * `coin_type` is SLIP-44 (Dash = 5, testnets = 1).
1006
1196
  */
1007
- static fromSeed(seed: Uint8Array, coinType: number, account: number, diversifierIndex?: number | undefined | null): OrchardAddressNAPI;
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;
1008
1208
  bytes(): Uint8Array;
1009
1209
  }
1010
1210
  export declare class OrchardProverNAPI {
@@ -1226,6 +1426,31 @@ export declare class ShieldedBuilderNAPI {
1226
1426
  * Returns the proven state transition plus the fixed shielded fee (credits).
1227
1427
  */
1228
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>;
1229
1454
  /**
1230
1455
  * Builds a `Shield` state transition (transparent platform addresses -> pool).
1231
1456
  *
@@ -1271,6 +1496,24 @@ export declare class ShieldedMemoNAPI {
1271
1496
  toString(): string;
1272
1497
  toBytes(): Uint8Array;
1273
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
+ }
1274
1517
  export declare class ShieldedTransferTransitionNAPI {
1275
1518
  constructor(jsActions: Array<SerializedActionNAPI>, jsValueBalance: BigIntString, jsAnchor: Uint8Array, jsProof: Uint8Array, jsBindingsSignature: Uint8Array);
1276
1519
  get actions(): Array<SerializedActionNAPI>;
@@ -1801,6 +2044,80 @@ export declare class UnshieldTransitionNAPI {
1801
2044
  toStateTransition(): StateTransitionNAPI;
1802
2045
  static fromStateTransition(st: StateTransitionNAPI): UnshieldTransitionNAPI;
1803
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
+ }
1804
2121
  export declare class VerifiedBalanceTransferNAPI {
1805
2122
  get sender(): PartialIdentityNAPI;
1806
2123
  get recipient(): PartialIdentityNAPI;
@@ -1887,6 +2204,16 @@ export declare class VerifiedPlatformAddressInfoNAPI {
1887
2204
  balance?: BigIntString;
1888
2205
  get address(): PlatformAddressNAPI | null;
1889
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
+ }
1890
2217
  export declare class VerifiedShieldedAnchorsNAPI {
1891
2218
  rootHash: Uint8Array;
1892
2219
  get anchors(): Array<Uint8Array>;
@@ -2185,6 +2512,16 @@ export declare enum PurposeNAPI {
2185
2512
  * address) — everything needed to spend it.
2186
2513
  */
2187
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
+ }
2188
2525
  export declare enum SecurityLevelNAPI {
2189
2526
  MASTER = 0,
2190
2527
  CRITICAL = 1,
@@ -2204,7 +2541,18 @@ export declare enum TokenEmergencyActionNAPI {
2204
2541
  Pause = 0,
2205
2542
  Resume = 1
2206
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;
2207
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;
2208
2556
  export declare function verifyAddressInfo(proof: Uint8Array, jsPlatformAddress: PlatformAddressLikeNAPI, verifySubsetOfProof: boolean, jsPlatformVersion: DynamicValue): VerifiedPlatformAddressInfoNAPI;
2209
2557
  export declare function verifyContractProof(proof: Uint8Array, contractKnownKeepsHistory: boolean | undefined | null, isProofSubset: boolean, inMultipleContractProofForm: boolean, jsContractId: IdentifierLikeNAPI, jsPlatformVersion: DynamicValue): VerifiedContractNAPI;
2210
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;
@@ -2218,6 +2566,25 @@ export declare function verifyIdentityContractNonceProof(proof: Uint8Array, jsId
2218
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;
2219
2567
  export declare function verifyIdentityNonceProof(proof: Uint8Array, jsIdentityId: IdentifierLikeNAPI, verifySubsetOfProof: boolean, jsPlatformVersion: DynamicValue): VerifiedIdentityNonceNAPI;
2220
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;
2221
2588
  export declare function verifyShieldedAnchorsProof(proof: Uint8Array, verifySubsetOfProof: boolean, jsPlatformVersion: DynamicValue): VerifiedShieldedAnchorsNAPI;
2222
2589
  export declare function verifyShieldedEncryptedNotesProof(proof: Uint8Array, startIndex: BigIntString, count: number, maxElements: number, verifySubsetOfProof: boolean, jsPlatformVersion: DynamicValue): VerifiedShieldedEncryptedNotesNAPI;
2223
2590
  export declare function verifyShieldedNotesCountProof(proof: Uint8Array, verifySubsetOfProof: boolean, jsPlatformVersion: DynamicValue): VerifiedShieldedNotesCountNAPI;
@@ -76,6 +76,17 @@ export var PurposeNAPI;
76
76
  PurposeNAPI[PurposeNAPI["VOTING"] = 5] = "VOTING";
77
77
  PurposeNAPI[PurposeNAPI["OWNER"] = 6] = "OWNER";
78
78
  })(PurposeNAPI || (PurposeNAPI = {}));
79
+ /**
80
+ * The scope of an Orchard viewing key or address (ZIP-32).
81
+ *
82
+ * `External` addresses are the ones you hand out to receive funds; `Internal`
83
+ * is the wallet's own scope, used for change and note management.
84
+ */
85
+ export var ScopeNAPI;
86
+ (function (ScopeNAPI) {
87
+ ScopeNAPI[ScopeNAPI["External"] = 0] = "External";
88
+ ScopeNAPI[ScopeNAPI["Internal"] = 1] = "Internal";
89
+ })(ScopeNAPI || (ScopeNAPI = {}));
79
90
  export var SecurityLevelNAPI;
80
91
  (function (SecurityLevelNAPI) {
81
92
  SecurityLevelNAPI[SecurityLevelNAPI["MASTER"] = 0] = "MASTER";
@@ -1,6 +1,8 @@
1
1
  export const orchardOvkFromSeed: any;
2
2
  export const recoverNotes: any;
3
+ export const verifyAddressesBranchState: any;
3
4
  export const verifyAddressesInfos: any;
5
+ export const verifyAddressesTrunkState: any;
4
6
  export const verifyAddressInfo: any;
5
7
  export const verifyContractProof: any;
6
8
  export const verifyDocumentsProof: any;
@@ -14,6 +16,8 @@ export const verifyIdentityContractNonceProof: any;
14
16
  export const verifyIdentityKeysByIdentifierProof: any;
15
17
  export const verifyIdentityNonceProof: any;
16
18
  export const verifyMostRecentShieldedAnchorProof: any;
19
+ export const verifyRecentAddressBalanceChanges: any;
20
+ export const verifyRecentCompactedAddressBalanceChanges: any;
17
21
  export const verifyShieldedAnchorsProof: any;
18
22
  export const verifyShieldedEncryptedNotesProof: any;
19
23
  export const verifyShieldedNotesCountProof: any;
@@ -29,6 +33,7 @@ export const verifyTokenTotalSupplyProof: any;
29
33
  export const verifyTotalCreditsProof: any;
30
34
  export const verifyVotePollVoteStateProof: any;
31
35
  export const ActionTakerNAPI: any;
36
+ export const AddressBalanceChangeNAPI: any;
32
37
  export const AddressCreditWithdrawalTransitionNAPI: any;
33
38
  export const AddressFundingFromAssetLockTransitionNAPI: any;
34
39
  export const AddressFundsFeeStrategyStepNAPI: any;
@@ -39,11 +44,15 @@ export const AssetLockValueNAPI: any;
39
44
  export const AuthorizedActionTakersNAPI: any;
40
45
  export const BatchedTransitionNAPI: any;
41
46
  export const BatchTransitionNAPI: any;
47
+ export const BlockAddressBalanceChangesNAPI: any;
42
48
  export const BlockBasedDistributionNAPI: any;
49
+ export const BlockHeightCreditNAPI: any;
43
50
  export const BlockInfoNAPI: any;
44
51
  export const ChainAssetLockProofNAPI: any;
45
52
  export const ChangeControlRulesNAPI: any;
46
53
  export const CommitmentTreeNAPI: any;
54
+ export const CompactedAddressBalanceChangeNAPI: any;
55
+ export const CompactedBlockAddressBalanceChangesNAPI: any;
47
56
  export const ConsensusErrorNAPI: any;
48
57
  export const ContenderWithSerializedDocumentNAPI: any;
49
58
  export const ContestedDocumentVotePollQueryExecutionResultNAPI: any;
@@ -66,8 +75,13 @@ export const DynamicValue: any;
66
75
  export const EpochBasedDistributionNAPI: any;
67
76
  export const ExtendedEpochInfoNAPI: any;
68
77
  export const FinalizedEpochInfoNAPI: any;
78
+ export const FullViewingKeyNAPI: any;
69
79
  export const GroupNAPI: any;
70
80
  export const GroupStateTransitionInfoNAPI: any;
81
+ export const GroveAncestorNAPI: any;
82
+ export const GroveElementEntryNAPI: any;
83
+ export const GroveElementNAPI: any;
84
+ export const GroveLeafInfoNAPI: any;
71
85
  export const IdentifierNAPI: any;
72
86
  export const IdentityCreateFromAddressesTransitionNAPI: any;
73
87
  export const IdentityCreateFromShieldedPoolResultNAPI: any;
@@ -85,6 +99,7 @@ export const IdentityTokenInfoNAPI: any;
85
99
  export const IdentityTopUpFromAddressesTransitionNAPI: any;
86
100
  export const IdentityTopUpTransitionNAPI: any;
87
101
  export const IdentityUpdateTransitionNAPI: any;
102
+ export const IncomingViewingKeyNAPI: any;
88
103
  export const InputAddressNAPI: any;
89
104
  export const InstantAssetLockProofNAPI: any;
90
105
  export const InstantLockNAPI: any;
@@ -110,6 +125,7 @@ export const SerializedActionNAPI: any;
110
125
  export const SharedEncryptedNoteNAPI: any;
111
126
  export const ShieldedBuilderNAPI: any;
112
127
  export const ShieldedMemoNAPI: any;
128
+ export const ShieldedOutputNAPI: any;
113
129
  export const ShieldedTransferTransitionNAPI: any;
114
130
  export const ShieldedWithdrawalResultNAPI: any;
115
131
  export const ShieldedWithdrawalTransitionNAPI: any;
@@ -152,6 +168,8 @@ export const TransactionNAPI: any;
152
168
  export const TxInNAPI: any;
153
169
  export const TxOutNAPI: any;
154
170
  export const UnshieldTransitionNAPI: any;
171
+ export const VerifiedAddressesBranchStateNAPI: any;
172
+ export const VerifiedAddressesTrunkStateNAPI: any;
155
173
  export const VerifiedBalanceTransferNAPI: any;
156
174
  export const VerifiedContractNAPI: any;
157
175
  export const VerifiedDocumentNAPI: any;
@@ -171,6 +189,8 @@ export const VerifiedIdentityWithAddressInfosNAPI: any;
171
189
  export const VerifiedMostRecentShieldedAnchorNAPI: any;
172
190
  export const VerifiedPlatformAddressesInfosNAPI: any;
173
191
  export const VerifiedPlatformAddressInfoNAPI: any;
192
+ export const VerifiedRecentAddressBalanceChangesNAPI: any;
193
+ export const VerifiedRecentCompactedAddressBalanceChangesNAPI: any;
174
194
  export const VerifiedShieldedAnchorsNAPI: any;
175
195
  export const VerifiedShieldedEncryptedNoteNAPI: any;
176
196
  export const VerifiedShieldedEncryptedNotesNAPI: any;
@@ -204,6 +224,7 @@ export const NetworkNAPI: any;
204
224
  export const PlatformVersionNAPI: any;
205
225
  export const PoolingNAPI: any;
206
226
  export const PurposeNAPI: any;
227
+ export const ScopeNAPI: any;
207
228
  export const SecurityLevelNAPI: any;
208
229
  export const TokenDistributionTypeNAPI: any;
209
230
  export const TokenEmergencyActionNAPI: any;
@@ -1,3 +1,3 @@
1
1
  /* eslint-disable */
2
2
  import { requireNodeAddon } from 'react-native-node-api';
3
- export const { orchardOvkFromSeed, recoverNotes, verifyAddressesInfos, verifyAddressInfo, verifyContractProof, verifyDocumentsProof, verifyEpochsInfoProof, verifyFinalizedEpochInfosProof, verifyIdentifierByNonUniquePublicKeyHashProof, verifyIdentityBalanceProof, verifyIdentityByIdentifierProof, verifyIdentityByUniqueKeyHashProof, verifyIdentityContractNonceProof, verifyIdentityKeysByIdentifierProof, verifyIdentityNonceProof, verifyMostRecentShieldedAnchorProof, verifyShieldedAnchorsProof, verifyShieldedEncryptedNotesProof, verifyShieldedNotesCountProof, verifyShieldedNullifiersProof, verifyShieldedPoolStateProof, verifySignatureDigest, verifyStateTransitionResult, verifyTokenBalancesForIdentitiesProof, verifyTokenContractInfoProof, verifyTokenDirectPurchasePrices, verifyTokensBalancesForIdentityProof, verifyTokenTotalSupplyProof, verifyTotalCreditsProof, verifyVotePollVoteStateProof, ActionTakerNAPI, AddressCreditWithdrawalTransitionNAPI, AddressFundingFromAssetLockTransitionNAPI, AddressFundsFeeStrategyStepNAPI, AddressFundsTransferTransitionNAPI, AddressWitnessNAPI, AssetLockProofNAPI, AssetLockValueNAPI, AuthorizedActionTakersNAPI, BatchedTransitionNAPI, BatchTransitionNAPI, BlockBasedDistributionNAPI, BlockInfoNAPI, ChainAssetLockProofNAPI, ChangeControlRulesNAPI, CommitmentTreeNAPI, ConsensusErrorNAPI, ContenderWithSerializedDocumentNAPI, ContestedDocumentVotePollQueryExecutionResultNAPI, ContractBoundsNAPI, CoreScriptNAPI, DataContractCreateTransitionNAPI, DataContractNAPI, DataContractUpdateTransitionNAPI, DistributionFunctionNAPI, DocumentBaseTransitionNAPI, DocumentCreateTransitionNAPI, DocumentDeleteTransitionNAPI, DocumentNAPI, DocumentPurchaseTransitionNAPI, DocumentReplaceTransitionNAPI, DocumentTransferTransitionNAPI, DocumentTransitionNAPI, DocumentUpdatePriceTransitionNAPI, DynamicValue, EpochBasedDistributionNAPI, ExtendedEpochInfoNAPI, FinalizedEpochInfoNAPI, GroupNAPI, GroupStateTransitionInfoNAPI, IdentifierNAPI, IdentityCreateFromAddressesTransitionNAPI, IdentityCreateFromShieldedPoolResultNAPI, IdentityCreateFromShieldedPoolTransitionNAPI, IdentityCreateTransitionNAPI, IdentityCreditTransferNAPI, IdentityCreditTransferToAddressesTransitionNAPI, IdentityCreditWithdrawalTransitionNAPI, IdentityNAPI, IdentityPublicKeyInCreationNAPI, IdentityPublicKeyNAPI, IdentityTokenBalanceNAPI, IdentityTokenBalanceOptionalNAPI, IdentityTokenInfoNAPI, IdentityTopUpFromAddressesTransitionNAPI, IdentityTopUpTransitionNAPI, IdentityUpdateTransitionNAPI, InputAddressNAPI, InstantAssetLockProofNAPI, InstantLockNAPI, MasternodeVoteTransitionNAPI, MerklePathNAPI, NoteNAPI, OrchardAddressNAPI, OrchardProverNAPI, OutPointNAPI, OutputAddressNAPI, OutputAddressNullableCreditsNAPI, PartialIdentityNAPI, PlatformAddressInfoNAPI, PlatformAddressNAPI, PrefundedVotingBalanceNAPI, PrivateEncryptedNoteNAPI, PrivateKeyNAPI, PublicKeyNAPI, RecoveredNoteNAPI, ResourceVoteChoiceNAPI, RewardDistributionTypeNAPI, SerializedActionNAPI, SharedEncryptedNoteNAPI, ShieldedBuilderNAPI, ShieldedMemoNAPI, ShieldedTransferTransitionNAPI, ShieldedWithdrawalResultNAPI, ShieldedWithdrawalTransitionNAPI, ShieldFromAssetLockTransitionNAPI, ShieldTransitionNAPI, SpendableNoteNAPI, StateTransitionNAPI, StoredAssetLockInfoNAPI, TimeBasedDistributionNAPI, TokenBaseTransitionNAPI, TokenBurnTransitionNAPI, TokenClaimTransitionNAPI, TokenConfigUpdateTransitionNAPI, TokenConfigurationChangeItemNAPI, TokenConfigurationConventionNAPI, TokenConfigurationLocalizationNAPI, TokenConfigurationNAPI, TokenContractInfoNAPI, TokenDestroyFrozenFundsTransitionNAPI, TokenDirectPurchaseTransitionNAPI, TokenDistributionRecipientNAPI, TokenDistributionRulesNAPI, TokenEmergencyActionTransitionNAPI, TokenFreezeTransitionNAPI, TokenKeepsHistoryRulesNAPI, TokenMarketplaceRulesNAPI, TokenMintTransitionNAPI, TokenPaymentInfoNAPI, TokenPerpetualDistributionNAPI, TokenPreProgrammedDistributionNAPI, TokenPricingScheduleNAPI, TokenSetPriceForDirectPurchaseTransitionNAPI, TokenStatusNAPI, TokenTradeModeNAPI, TokenTransferTransitionNAPI, TokenTransitionNAPI, TokenUnFreezeTransitionNAPI, TotalSingleTokenBalanceNAPI, TransactionNAPI, TxInNAPI, TxOutNAPI, UnshieldTransitionNAPI, VerifiedBalanceTransferNAPI, VerifiedContractNAPI, VerifiedDocumentNAPI, VerifiedDocumentsNAPI, VerifiedEpochsInfoNAPI, VerifiedFinlizedEpochInfosNAPI, VerifiedIdentifierByNonUniquePublicKeyHashNAPI, VerifiedIdentityBalanceRootHashNAPI, VerifiedIdentityByIdentifierNAPI, VerifiedIdentityByUniqueKeyHashNAPI, VerifiedIdentityContractNonceNAPI, VerifiedIdentityFullWithAddressInfosNAPI, VerifiedIdentityKeysByIdentifierNAPI, VerifiedIdentityNonceNAPI, VerifiedIdentityTokenInfoNAPI, VerifiedIdentityWithAddressInfosNAPI, VerifiedMostRecentShieldedAnchorNAPI, VerifiedPlatformAddressesInfosNAPI, VerifiedPlatformAddressInfoNAPI, VerifiedShieldedAnchorsNAPI, VerifiedShieldedEncryptedNoteNAPI, VerifiedShieldedEncryptedNotesNAPI, VerifiedShieldedNotesCountNAPI, VerifiedShieldedNullifierNAPI, VerifiedShieldedNullifiersNAPI, VerifiedShieldedPoolStateNAPI, VerifiedStateTransitionResultNAPI, VerifiedTokenBalancesForIdentitiesNAPI, VerifiedTokenContractInfoNAPI, VerifiedTokenDirectPurchasePricesNAPI, VerifiedTokenGroupActionWithDocumentNAPI, VerifiedTokenGroupActionWithTokenBalanceNAPI, VerifiedTokenGroupActionWithTokenIdentityInfoNAPI, VerifiedTokenGroupActionWithTokenPricingScheduleNAPI, VerifiedTokenPricingScheduleNAPI, VerifiedTokensBalancesForIdentityNAPI, VerifiedTokenTotalSupplyNAPI, VerifiedTotalCreditsNAPI, VerifiedVoteStateNAPI, VoteNAPI, VotePollNAPI, WitnessNAPI, ActionGoalNAPI, AssetLockProofTypeNAPI, BatchTypeNAPI, GasFeesPaidByNAPI, GroupActionStatusNAPI, KeyTypeNAPI, NetworkNAPI, PlatformVersionNAPI, PoolingNAPI, PurposeNAPI, SecurityLevelNAPI, TokenDistributionTypeNAPI, TokenEmergencyActionNAPI, VoteStateResultTypeNAPI } = requireNodeAddon('./pshenmic-dpp--pshenmic_dpp');
3
+ export const { orchardOvkFromSeed, recoverNotes, verifyAddressesBranchState, verifyAddressesInfos, verifyAddressesTrunkState, verifyAddressInfo, verifyContractProof, verifyDocumentsProof, verifyEpochsInfoProof, verifyFinalizedEpochInfosProof, verifyIdentifierByNonUniquePublicKeyHashProof, verifyIdentityBalanceProof, verifyIdentityByIdentifierProof, verifyIdentityByUniqueKeyHashProof, verifyIdentityContractNonceProof, verifyIdentityKeysByIdentifierProof, verifyIdentityNonceProof, verifyMostRecentShieldedAnchorProof, verifyRecentAddressBalanceChanges, verifyRecentCompactedAddressBalanceChanges, verifyShieldedAnchorsProof, verifyShieldedEncryptedNotesProof, verifyShieldedNotesCountProof, verifyShieldedNullifiersProof, verifyShieldedPoolStateProof, verifySignatureDigest, verifyStateTransitionResult, verifyTokenBalancesForIdentitiesProof, verifyTokenContractInfoProof, verifyTokenDirectPurchasePrices, verifyTokensBalancesForIdentityProof, verifyTokenTotalSupplyProof, verifyTotalCreditsProof, verifyVotePollVoteStateProof, ActionTakerNAPI, AddressBalanceChangeNAPI, AddressCreditWithdrawalTransitionNAPI, AddressFundingFromAssetLockTransitionNAPI, AddressFundsFeeStrategyStepNAPI, AddressFundsTransferTransitionNAPI, AddressWitnessNAPI, AssetLockProofNAPI, AssetLockValueNAPI, AuthorizedActionTakersNAPI, BatchedTransitionNAPI, BatchTransitionNAPI, BlockAddressBalanceChangesNAPI, BlockBasedDistributionNAPI, BlockHeightCreditNAPI, BlockInfoNAPI, ChainAssetLockProofNAPI, ChangeControlRulesNAPI, CommitmentTreeNAPI, CompactedAddressBalanceChangeNAPI, CompactedBlockAddressBalanceChangesNAPI, ConsensusErrorNAPI, ContenderWithSerializedDocumentNAPI, ContestedDocumentVotePollQueryExecutionResultNAPI, ContractBoundsNAPI, CoreScriptNAPI, DataContractCreateTransitionNAPI, DataContractNAPI, DataContractUpdateTransitionNAPI, DistributionFunctionNAPI, DocumentBaseTransitionNAPI, DocumentCreateTransitionNAPI, DocumentDeleteTransitionNAPI, DocumentNAPI, DocumentPurchaseTransitionNAPI, DocumentReplaceTransitionNAPI, DocumentTransferTransitionNAPI, DocumentTransitionNAPI, DocumentUpdatePriceTransitionNAPI, DynamicValue, EpochBasedDistributionNAPI, ExtendedEpochInfoNAPI, FinalizedEpochInfoNAPI, FullViewingKeyNAPI, GroupNAPI, GroupStateTransitionInfoNAPI, GroveAncestorNAPI, GroveElementEntryNAPI, GroveElementNAPI, GroveLeafInfoNAPI, IdentifierNAPI, IdentityCreateFromAddressesTransitionNAPI, IdentityCreateFromShieldedPoolResultNAPI, IdentityCreateFromShieldedPoolTransitionNAPI, IdentityCreateTransitionNAPI, IdentityCreditTransferNAPI, IdentityCreditTransferToAddressesTransitionNAPI, IdentityCreditWithdrawalTransitionNAPI, IdentityNAPI, IdentityPublicKeyInCreationNAPI, IdentityPublicKeyNAPI, IdentityTokenBalanceNAPI, IdentityTokenBalanceOptionalNAPI, IdentityTokenInfoNAPI, IdentityTopUpFromAddressesTransitionNAPI, IdentityTopUpTransitionNAPI, IdentityUpdateTransitionNAPI, IncomingViewingKeyNAPI, InputAddressNAPI, InstantAssetLockProofNAPI, InstantLockNAPI, MasternodeVoteTransitionNAPI, MerklePathNAPI, NoteNAPI, OrchardAddressNAPI, OrchardProverNAPI, OutPointNAPI, OutputAddressNAPI, OutputAddressNullableCreditsNAPI, PartialIdentityNAPI, PlatformAddressInfoNAPI, PlatformAddressNAPI, PrefundedVotingBalanceNAPI, PrivateEncryptedNoteNAPI, PrivateKeyNAPI, PublicKeyNAPI, RecoveredNoteNAPI, ResourceVoteChoiceNAPI, RewardDistributionTypeNAPI, SerializedActionNAPI, SharedEncryptedNoteNAPI, ShieldedBuilderNAPI, ShieldedMemoNAPI, ShieldedOutputNAPI, ShieldedTransferTransitionNAPI, ShieldedWithdrawalResultNAPI, ShieldedWithdrawalTransitionNAPI, ShieldFromAssetLockTransitionNAPI, ShieldTransitionNAPI, SpendableNoteNAPI, StateTransitionNAPI, StoredAssetLockInfoNAPI, TimeBasedDistributionNAPI, TokenBaseTransitionNAPI, TokenBurnTransitionNAPI, TokenClaimTransitionNAPI, TokenConfigUpdateTransitionNAPI, TokenConfigurationChangeItemNAPI, TokenConfigurationConventionNAPI, TokenConfigurationLocalizationNAPI, TokenConfigurationNAPI, TokenContractInfoNAPI, TokenDestroyFrozenFundsTransitionNAPI, TokenDirectPurchaseTransitionNAPI, TokenDistributionRecipientNAPI, TokenDistributionRulesNAPI, TokenEmergencyActionTransitionNAPI, TokenFreezeTransitionNAPI, TokenKeepsHistoryRulesNAPI, TokenMarketplaceRulesNAPI, TokenMintTransitionNAPI, TokenPaymentInfoNAPI, TokenPerpetualDistributionNAPI, TokenPreProgrammedDistributionNAPI, TokenPricingScheduleNAPI, TokenSetPriceForDirectPurchaseTransitionNAPI, TokenStatusNAPI, TokenTradeModeNAPI, TokenTransferTransitionNAPI, TokenTransitionNAPI, TokenUnFreezeTransitionNAPI, TotalSingleTokenBalanceNAPI, TransactionNAPI, TxInNAPI, TxOutNAPI, UnshieldTransitionNAPI, VerifiedAddressesBranchStateNAPI, VerifiedAddressesTrunkStateNAPI, VerifiedBalanceTransferNAPI, VerifiedContractNAPI, VerifiedDocumentNAPI, VerifiedDocumentsNAPI, VerifiedEpochsInfoNAPI, VerifiedFinlizedEpochInfosNAPI, VerifiedIdentifierByNonUniquePublicKeyHashNAPI, VerifiedIdentityBalanceRootHashNAPI, VerifiedIdentityByIdentifierNAPI, VerifiedIdentityByUniqueKeyHashNAPI, VerifiedIdentityContractNonceNAPI, VerifiedIdentityFullWithAddressInfosNAPI, VerifiedIdentityKeysByIdentifierNAPI, VerifiedIdentityNonceNAPI, VerifiedIdentityTokenInfoNAPI, VerifiedIdentityWithAddressInfosNAPI, VerifiedMostRecentShieldedAnchorNAPI, VerifiedPlatformAddressesInfosNAPI, VerifiedPlatformAddressInfoNAPI, VerifiedRecentAddressBalanceChangesNAPI, VerifiedRecentCompactedAddressBalanceChangesNAPI, VerifiedShieldedAnchorsNAPI, VerifiedShieldedEncryptedNoteNAPI, VerifiedShieldedEncryptedNotesNAPI, VerifiedShieldedNotesCountNAPI, VerifiedShieldedNullifierNAPI, VerifiedShieldedNullifiersNAPI, VerifiedShieldedPoolStateNAPI, VerifiedStateTransitionResultNAPI, VerifiedTokenBalancesForIdentitiesNAPI, VerifiedTokenContractInfoNAPI, VerifiedTokenDirectPurchasePricesNAPI, VerifiedTokenGroupActionWithDocumentNAPI, VerifiedTokenGroupActionWithTokenBalanceNAPI, VerifiedTokenGroupActionWithTokenIdentityInfoNAPI, VerifiedTokenGroupActionWithTokenPricingScheduleNAPI, VerifiedTokenPricingScheduleNAPI, VerifiedTokensBalancesForIdentityNAPI, VerifiedTokenTotalSupplyNAPI, VerifiedTotalCreditsNAPI, VerifiedVoteStateNAPI, VoteNAPI, VotePollNAPI, WitnessNAPI, ActionGoalNAPI, AssetLockProofTypeNAPI, BatchTypeNAPI, GasFeesPaidByNAPI, GroupActionStatusNAPI, KeyTypeNAPI, NetworkNAPI, PlatformVersionNAPI, PoolingNAPI, PurposeNAPI, ScopeNAPI, SecurityLevelNAPI, TokenDistributionTypeNAPI, TokenEmergencyActionNAPI, VoteStateResultTypeNAPI } = requireNodeAddon('./pshenmic-dpp--pshenmic_dpp');