pshenmic-dpp 2.0.0-dev.2 → 2.0.0-dev.21

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 (207) hide show
  1. package/dist/binaries/bindingsTypes.d.ts +507 -37
  2. package/dist/binaries/bindingsTypes.js +4 -3
  3. package/dist/binaries/native/aarch64-apple-darwin/pshenmic_dpp.node +0 -0
  4. package/dist/binaries/native/x86_64-apple-darwin/pshenmic_dpp.node +0 -0
  5. package/dist/binaries/native/x86_64-unknown-linux-gnu/pshenmic_dpp.node +0 -0
  6. package/dist/binaries/native/x86_64-unknown-linux-musl/pshenmic_dpp.node +0 -0
  7. package/dist/binaries/node.cjs +50 -0
  8. package/dist/binaries/node.d.cts +2 -0
  9. package/dist/binaries/pshenmic_dpp.android.node/arm64-v8a/libpshenmic_dpp.so +0 -0
  10. package/dist/binaries/pshenmic_dpp.apple.node/Info.plist +29 -0
  11. package/dist/binaries/pshenmic_dpp.apple.node/ios-arm64-simulator/libpshenmic_dpp.framework/Info.plist +24 -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.apple.node/react-native-node-api-module +0 -0
  14. package/dist/binaries/pshenmic_dpp.d.ts +42 -1
  15. package/dist/binaries/pshenmic_dpp.js +1 -1
  16. package/dist/binaries/wasm/wasmBytes.cjs +3 -0
  17. package/dist/binaries/wasm/wasmBytes.d.cts +1 -0
  18. package/dist/binaries/wasm.d.ts +42 -1
  19. package/dist/binaries/wasm.js +2 -44
  20. package/dist/binaries/wasmCreation.cjs +46 -0
  21. package/dist/binaries/wasmCreation.d.cts +2 -0
  22. package/dist/src/dpp/dpp.d.ts +28 -2
  23. package/dist/src/dpp/dpp.js +28 -2
  24. package/dist/src/dpp/structs/AddressTransitions/AddressCreditWithdrawalTransition.d.ts +1 -1
  25. package/dist/src/dpp/structs/AddressTransitions/AddressCreditWithdrawalTransition.js +2 -2
  26. package/dist/src/dpp/structs/AddressTransitions/AddressFundingFromAssetLockTransition.d.ts +1 -1
  27. package/dist/src/dpp/structs/AddressTransitions/AddressFundingFromAssetLockTransition.js +3 -3
  28. package/dist/src/dpp/structs/AddressTransitions/AddressFundsTransferTransition.d.ts +1 -1
  29. package/dist/src/dpp/structs/AddressTransitions/AddressFundsTransferTransition.js +3 -3
  30. package/dist/src/dpp/structs/AddressTransitions/IdentityCreateFromAddressesTransition.d.ts +1 -1
  31. package/dist/src/dpp/structs/AddressTransitions/IdentityCreateFromAddressesTransition.js +2 -2
  32. package/dist/src/dpp/structs/AddressTransitions/IdentityCreditTransferToAddressesTransition.js +1 -1
  33. package/dist/src/dpp/structs/AddressTransitions/IdentityTopUpFromAddressesTransition.d.ts +1 -1
  34. package/dist/src/dpp/structs/AddressTransitions/IdentityTopUpFromAddressesTransition.js +2 -2
  35. package/dist/src/dpp/structs/AddressTransitions/entities/InputAddress.d.ts +4 -3
  36. package/dist/src/dpp/structs/AddressTransitions/entities/InputAddress.js +5 -4
  37. package/dist/src/dpp/structs/AddressTransitions/entities/OutputAddress.d.ts +4 -3
  38. package/dist/src/dpp/structs/AddressTransitions/entities/OutputAddress.js +5 -4
  39. package/dist/src/dpp/structs/AddressTransitions/entities/OutputAddressNullableCredits.d.ts +4 -3
  40. package/dist/src/dpp/structs/AddressTransitions/entities/OutputAddressNullableCredits.js +5 -4
  41. package/dist/src/dpp/structs/AssetLockProof/AssetLockProof.js +1 -1
  42. package/dist/src/dpp/structs/AssetLockProof/ChainAssetLockProof.js +2 -2
  43. package/dist/src/dpp/structs/AssetLockProof/InstantAssetLockProof.js +1 -1
  44. package/dist/src/dpp/structs/AssetLockProof/OutPoint.js +1 -1
  45. package/dist/src/dpp/structs/AssetLockProof/Transaction.js +1 -1
  46. package/dist/src/dpp/structs/AssetLockProof/TxIn.js +1 -1
  47. package/dist/src/dpp/structs/AssetLockProof/TxOut.js +1 -1
  48. package/dist/src/dpp/structs/AssetLockProof/Witness.js +1 -1
  49. package/dist/src/dpp/structs/Batch/BatchTransition.js +1 -1
  50. package/dist/src/dpp/structs/Batch/BatchedTransition.js +1 -1
  51. package/dist/src/dpp/structs/Batch/DocumentBaseTransition.js +1 -1
  52. package/dist/src/dpp/structs/Batch/DocumentTransition.d.ts +1 -0
  53. package/dist/src/dpp/structs/Batch/DocumentTransition.js +4 -1
  54. package/dist/src/dpp/structs/Batch/DocumentTransitions/DocumentCreateTransition.d.ts +1 -1
  55. package/dist/src/dpp/structs/Batch/DocumentTransitions/DocumentCreateTransition.js +2 -2
  56. package/dist/src/dpp/structs/Batch/DocumentTransitions/DocumentDeleteTransition.js +1 -1
  57. package/dist/src/dpp/structs/Batch/DocumentTransitions/DocumentPurchaseTransition.js +1 -1
  58. package/dist/src/dpp/structs/Batch/DocumentTransitions/DocumentReplaceTransition.d.ts +1 -1
  59. package/dist/src/dpp/structs/Batch/DocumentTransitions/DocumentReplaceTransition.js +2 -2
  60. package/dist/src/dpp/structs/Batch/DocumentTransitions/DocumentTransferTransition.js +1 -1
  61. package/dist/src/dpp/structs/Batch/DocumentTransitions/DocumentUpdatePriceTransition.js +1 -1
  62. package/dist/src/dpp/structs/Batch/PrefundedVotingBalance.js +1 -1
  63. package/dist/src/dpp/structs/Batch/TokenBaseTransition.js +1 -1
  64. package/dist/src/dpp/structs/Batch/TokenPaymentInfo.js +1 -1
  65. package/dist/src/dpp/structs/Batch/TokenPricingSchedule.js +1 -1
  66. package/dist/src/dpp/structs/Batch/TokenTransition.d.ts +1 -0
  67. package/dist/src/dpp/structs/Batch/TokenTransition.js +4 -1
  68. package/dist/src/dpp/structs/Batch/TokenTransitions/TokenBurnTransition.js +1 -1
  69. package/dist/src/dpp/structs/Batch/TokenTransitions/TokenClaimTransition.js +1 -1
  70. package/dist/src/dpp/structs/Batch/TokenTransitions/TokenConfigUpdateTransition.js +1 -1
  71. package/dist/src/dpp/structs/Batch/TokenTransitions/TokenDestroyFrozenFundsTransition.js +1 -1
  72. package/dist/src/dpp/structs/Batch/TokenTransitions/TokenDirectPurchaseTransition.js +1 -1
  73. package/dist/src/dpp/structs/Batch/TokenTransitions/TokenEmergencyActionTransition.js +1 -1
  74. package/dist/src/dpp/structs/Batch/TokenTransitions/TokenFreezeTransition.js +1 -1
  75. package/dist/src/dpp/structs/Batch/TokenTransitions/TokenMintTransition.js +1 -1
  76. package/dist/src/dpp/structs/Batch/TokenTransitions/TokenSetPriceForDirectPurchaseTransition.js +1 -1
  77. package/dist/src/dpp/structs/Batch/TokenTransitions/TokenTransferTransition.d.ts +3 -0
  78. package/dist/src/dpp/structs/Batch/TokenTransitions/TokenTransferTransition.js +8 -1
  79. package/dist/src/dpp/structs/Batch/TokenTransitions/TokenUnFreezeTransition.js +1 -1
  80. package/dist/src/dpp/structs/ContractBounds.js +1 -1
  81. package/dist/src/dpp/structs/CoreScript.js +1 -1
  82. package/dist/src/dpp/structs/DataContract.d.ts +6 -4
  83. package/dist/src/dpp/structs/DataContract.js +8 -2
  84. package/dist/src/dpp/structs/DataContractTransitions/DataContractCreateTransition.js +1 -1
  85. package/dist/src/dpp/structs/DataContractTransitions/DataContractUpdateTransition.js +1 -1
  86. package/dist/src/dpp/structs/Document.d.ts +1 -1
  87. package/dist/src/dpp/structs/Document.js +1 -1
  88. package/dist/src/dpp/structs/EncryptedNote/PrivateEncryptedNote.js +1 -1
  89. package/dist/src/dpp/structs/EncryptedNote/SharedEncryptedNote.js +1 -1
  90. package/dist/src/dpp/structs/GroupStateTransitionInfo.js +1 -1
  91. package/dist/src/dpp/structs/Identifier.js +1 -1
  92. package/dist/src/dpp/structs/Identity.js +1 -1
  93. package/dist/src/dpp/structs/IdentityPublicKey.d.ts +1 -0
  94. package/dist/src/dpp/structs/IdentityPublicKey.js +6 -1
  95. package/dist/src/dpp/structs/IdentityPublicKeyInCreation.d.ts +1 -0
  96. package/dist/src/dpp/structs/IdentityPublicKeyInCreation.js +6 -1
  97. package/dist/src/dpp/structs/IdentityTransitions/IdentityCreateTransition.js +1 -1
  98. package/dist/src/dpp/structs/IdentityTransitions/IdentityCreditTransfer.js +1 -1
  99. package/dist/src/dpp/structs/IdentityTransitions/IdentityCreditWithdrawalTransition.js +1 -1
  100. package/dist/src/dpp/structs/IdentityTransitions/IdentityTopUpTransition.js +1 -1
  101. package/dist/src/dpp/structs/IdentityTransitions/IdentityUpdateTransition.js +1 -1
  102. package/dist/src/dpp/structs/InstantLock.js +1 -1
  103. package/dist/src/dpp/structs/MasternodeVote/MasternodeVoteTransition.d.ts +0 -2
  104. package/dist/src/dpp/structs/MasternodeVote/MasternodeVoteTransition.js +1 -7
  105. package/dist/src/dpp/structs/MasternodeVote/Vote.js +1 -1
  106. package/dist/src/dpp/structs/MasternodeVote/VotePoll.d.ts +1 -1
  107. package/dist/src/dpp/structs/MasternodeVote/VotePoll.js +3 -3
  108. package/dist/src/dpp/structs/Orchard/CommitmentTree.d.ts +14 -0
  109. package/dist/src/dpp/structs/Orchard/CommitmentTree.js +31 -0
  110. package/dist/src/dpp/structs/Orchard/IdentityCreateFromShieldedPoolResult.d.ts +21 -0
  111. package/dist/src/dpp/structs/Orchard/IdentityCreateFromShieldedPoolResult.js +38 -0
  112. package/dist/src/dpp/structs/Orchard/MerklePath.d.ts +11 -0
  113. package/dist/src/dpp/structs/Orchard/MerklePath.js +25 -0
  114. package/dist/src/dpp/structs/Orchard/Note.d.ts +18 -0
  115. package/dist/src/dpp/structs/Orchard/Note.js +42 -0
  116. package/dist/src/dpp/structs/Orchard/OrchardAddress.d.ts +15 -0
  117. package/dist/src/dpp/structs/Orchard/OrchardAddress.js +31 -0
  118. package/dist/src/dpp/structs/Orchard/OrchardProver.d.ts +12 -0
  119. package/dist/src/dpp/structs/Orchard/OrchardProver.js +18 -0
  120. package/dist/src/dpp/structs/Orchard/RecoveredNote.d.ts +18 -0
  121. package/dist/src/dpp/structs/Orchard/RecoveredNote.js +29 -0
  122. package/dist/src/dpp/structs/Orchard/ShieldedBuilder.d.ts +40 -0
  123. package/dist/src/dpp/structs/Orchard/ShieldedBuilder.js +45 -0
  124. package/dist/src/dpp/structs/Orchard/ShieldedMemo.d.ts +11 -0
  125. package/dist/src/dpp/structs/Orchard/ShieldedMemo.js +25 -0
  126. package/dist/src/dpp/structs/Orchard/ShieldedWithdrawalResult.d.ts +11 -0
  127. package/dist/src/dpp/structs/Orchard/ShieldedWithdrawalResult.js +18 -0
  128. package/dist/src/dpp/structs/Orchard/SpendableNote.d.ts +13 -0
  129. package/dist/src/dpp/structs/Orchard/SpendableNote.js +27 -0
  130. package/dist/src/dpp/structs/PartialIdentity.js +1 -1
  131. package/dist/src/dpp/structs/{Address → PlatformAddress}/AddressWitness.d.ts +2 -2
  132. package/dist/src/dpp/structs/{Address → PlatformAddress}/AddressWitness.js +2 -2
  133. package/dist/src/dpp/structs/{Address → PlatformAddress}/PlatformAddress.d.ts +4 -2
  134. package/dist/src/dpp/structs/{Address → PlatformAddress}/PlatformAddress.js +9 -3
  135. package/dist/src/dpp/structs/PrivateKey.js +1 -1
  136. package/dist/src/dpp/structs/PublicKey.js +1 -1
  137. package/dist/src/dpp/structs/ShieldedTransitions/IdentityCreateFromShieldedPoolTransition.d.ts +31 -0
  138. package/dist/src/dpp/structs/ShieldedTransitions/IdentityCreateFromShieldedPoolTransition.js +73 -0
  139. package/dist/src/dpp/structs/ShieldedTransitions/SerializedAction.d.ts +19 -0
  140. package/dist/src/dpp/structs/ShieldedTransitions/SerializedAction.js +49 -0
  141. package/dist/src/dpp/structs/ShieldedTransitions/ShieldFromAssetLockTransition.d.ts +30 -0
  142. package/dist/src/dpp/structs/ShieldedTransitions/ShieldFromAssetLockTransition.js +77 -0
  143. package/dist/src/dpp/structs/ShieldedTransitions/ShieldTransition.d.ts +32 -0
  144. package/dist/src/dpp/structs/ShieldedTransitions/ShieldTransition.js +78 -0
  145. package/dist/src/dpp/structs/ShieldedTransitions/ShieldedTransferTransition.d.ts +21 -0
  146. package/dist/src/dpp/structs/ShieldedTransitions/ShieldedTransferTransition.js +51 -0
  147. package/dist/src/dpp/structs/ShieldedTransitions/ShieldedWithdrawalTransition.d.ts +29 -0
  148. package/dist/src/dpp/structs/ShieldedTransitions/ShieldedWithdrawalTransition.js +71 -0
  149. package/dist/src/dpp/structs/ShieldedTransitions/UnshieldTransition.d.ts +25 -0
  150. package/dist/src/dpp/structs/ShieldedTransitions/UnshieldTransition.js +59 -0
  151. package/dist/src/dpp/structs/StateTransition.d.ts +1 -0
  152. package/dist/src/dpp/structs/StateTransition.js +3 -0
  153. package/dist/src/dpp/structs/TokenConfiguration/ActionTaker.js +1 -1
  154. package/dist/src/dpp/structs/TokenConfiguration/ChangeControlRules.js +1 -1
  155. package/dist/src/dpp/structs/TokenConfiguration/Group.js +1 -1
  156. package/dist/src/dpp/structs/TokenConfiguration/TokenConfiguration.js +1 -1
  157. package/dist/src/dpp/structs/TokenConfiguration/TokenConfigurationConvention.js +1 -1
  158. package/dist/src/dpp/structs/TokenConfiguration/TokenConfigurationLocalization.js +1 -1
  159. package/dist/src/dpp/structs/TokenConfiguration/TokenDistributionRules.js +1 -1
  160. package/dist/src/dpp/structs/TokenConfiguration/TokenKeepsHistoryRules.js +1 -1
  161. package/dist/src/dpp/structs/TokenConfiguration/TokenMarketplaceRules.js +1 -1
  162. package/dist/src/dpp/structs/TokenConfiguration/TokenPerpetualDistribution.js +1 -1
  163. package/dist/src/dpp/structs/TokenConfiguration/TokenPreProgrammedDistribution.js +1 -1
  164. package/dist/src/dpp/types.d.ts +85 -11
  165. package/dist/src/dpp/utils.d.ts +4 -3
  166. package/dist/src/dpp/utils.js +24 -6
  167. package/dist/src/dpp/verify/Contested/verifyVotePollVoteStateProof.d.ts +1 -1
  168. package/dist/src/dpp/verify/Contested/verifyVotePollVoteStateProof.js +1 -1
  169. package/dist/src/dpp/verify/PlatformAddress/verifyPlatformAddressInfo.d.ts +2 -0
  170. package/dist/src/dpp/verify/PlatformAddress/verifyPlatformAddressInfo.js +12 -0
  171. package/dist/src/dpp/verify/PlatformAddress/verifyPlatformAddressesInfos.d.ts +2 -0
  172. package/dist/src/dpp/verify/PlatformAddress/verifyPlatformAddressesInfos.js +14 -0
  173. package/dist/src/dpp/verify/Shielded/verifyMostRecentShieldedAnchorProof.d.ts +2 -0
  174. package/dist/src/dpp/verify/Shielded/verifyMostRecentShieldedAnchorProof.js +9 -0
  175. package/dist/src/dpp/verify/Shielded/verifyShieldedAnchorsProof.d.ts +2 -0
  176. package/dist/src/dpp/verify/Shielded/verifyShieldedAnchorsProof.js +9 -0
  177. package/dist/src/dpp/verify/Shielded/verifyShieldedEncryptedNotesProof.d.ts +2 -0
  178. package/dist/src/dpp/verify/Shielded/verifyShieldedEncryptedNotesProof.js +15 -0
  179. package/dist/src/dpp/verify/Shielded/verifyShieldedNotesCountProof.d.ts +2 -0
  180. package/dist/src/dpp/verify/Shielded/verifyShieldedNotesCountProof.js +9 -0
  181. package/dist/src/dpp/verify/Shielded/verifyShieldedNullifiersProof.d.ts +2 -0
  182. package/dist/src/dpp/verify/Shielded/verifyShieldedNullifiersProof.js +12 -0
  183. package/dist/src/dpp/verify/Shielded/verifyShieldedPoolStateProof.d.ts +2 -0
  184. package/dist/src/dpp/verify/Shielded/verifyShieldedPoolStateProof.js +9 -0
  185. package/dist/src/dpp/verify/StateTransition/utils.js +80 -15
  186. package/dist/src/dpp/verify/System/verifyEpochsInfoProof.js +1 -1
  187. package/dist/src/dpp/verify/Tokens/verifyTokenBalancesForIdentitiesProof.js +1 -1
  188. package/dist/src/dpp/verify/Tokens/verifyTokensBalancesForIdentityProof.js +1 -1
  189. package/dist/src/native.d.ts +3 -0
  190. package/dist/src/native.js +8 -0
  191. package/dist/utils/{base122.js → base122.cjs} +3 -1
  192. package/package.json +18 -28
  193. package/tests/unit/DataContract.spec.ts +281 -0
  194. package/tests/unit/DynamicValue.spec.ts +42 -2
  195. package/tests/unit/Identifier.spec.ts +1 -1
  196. package/tests/unit/Identity.spec.ts +1 -1
  197. package/tests/unit/IdentityPublicKey.spec.ts +1 -1
  198. package/tests/unit/NodeApi.spec.ts +49 -0
  199. package/tests/unit/Shielded.spec.ts +344 -0
  200. package/tests/unit/ShieldedTransitions.spec.ts +709 -0
  201. package/tests/unit/TokenConfiguration.spec.ts +114 -0
  202. package/tests/unit/WebAssembly.spec.ts +49 -0
  203. package/tests/unit/utils/buildTokenConfiguration.ts +66 -0
  204. package/dist/binaries/pshenmic_dpp.android.node/x86_64/libpshenmic_dpp.so +0 -0
  205. package/dist/binaries/wasm/wasmBytes.d.ts +0 -2
  206. package/dist/binaries/wasm/wasmBytes.js +0 -2
  207. /package/dist/utils/{base122.d.ts → base122.d.cts} +0 -0
@@ -0,0 +1,45 @@
1
+ import { dppProvider } from '../../provider.js';
2
+ import { preparePlatformAddressValue, valueToDynamicValue } from '../../utils.js';
3
+ import { ShieldedWithdrawalResultWASM } from './ShieldedWithdrawalResult.js';
4
+ import { StateTransitionWASM } from '../StateTransition.js';
5
+ import { IdentityCreateFromShieldedPoolResultWASM } from './IdentityCreateFromShieldedPoolResult.js';
6
+ /**
7
+ * Builds and proves shielded (Orchard) state transitions. Construction builds
8
+ * the Halo 2 proving key (~seconds), so create one instance and reuse it.
9
+ *
10
+ * Deposits (`shield`, `shieldFromAssetLock`) don't need pool notes. Spends
11
+ * (`shieldedWithdrawal`, `unshield`, `shieldedTransfer`) need a `SpendableNote`
12
+ * witnessed against an on-chain anchor — rebuild the tree from the full pool
13
+ * note set (getShieldedEncryptedNotes) with `CommitmentTreeWASM`.
14
+ */
15
+ export class ShieldedBuilderWASM {
16
+ /** @private **/
17
+ _rawShieldedBuilder;
18
+ constructor() {
19
+ this._rawShieldedBuilder = new dppProvider.dpp.ShieldedBuilderNAPI();
20
+ }
21
+ /** Asset lock -> pool (deposit). */
22
+ shieldFromAssetLock(recipient, shieldAmount, assetLockProof, privateKey, memo, dummyOutputs, senderOvk, surplusOutput, platformVersion) {
23
+ return StateTransitionWASM.createFromRawInstance(this._rawShieldedBuilder.shieldFromAssetLock(recipient._rawOrchardAddress, shieldAmount.toString(), assetLockProof._rawAssetLockProof, privateKey._rawPrivateKey, memo._rawShieldedMemo, dummyOutputs, senderOvk, surplusOutput != null ? preparePlatformAddressValue(surplusOutput) : undefined, platformVersion));
24
+ }
25
+ /** Transparent platform addresses -> pool (deposit). One private key per input. */
26
+ shield(recipient, shieldAmount, inputs, privateKeys, feeStrategy, userFeeIncrease, memo, senderOvk, platformVersion) {
27
+ return StateTransitionWASM.createFromRawInstance(this._rawShieldedBuilder.shield(recipient._rawOrchardAddress, shieldAmount.toString(), inputs.map(i => i._rawInputAddress), privateKeys.map(k => k._rawPrivateKey), feeStrategy.map(s => s._rawAddressFundsFeeStrategyStep), userFeeIncrease, memo._rawShieldedMemo, senderOvk, platformVersion));
28
+ }
29
+ /** Pool -> core L1 (spend). */
30
+ shieldedWithdrawal(spends, withdrawalAmount, outputScript, coreFeePerByte, pooling, changeAddress, seed, coinType, account, anchor, memo, platformVersion) {
31
+ return ShieldedWithdrawalResultWASM.createFromRawInstance(this._rawShieldedBuilder.shieldedWithdrawal(spends.map(s => s._rawSpendableNote), withdrawalAmount.toString(), outputScript._rawCoreScript, coreFeePerByte, valueToDynamicValue(pooling), changeAddress._rawOrchardAddress, seed, coinType, account, anchor, memo._rawShieldedMemo, platformVersion));
32
+ }
33
+ /** Pool -> platform identity balance (spend). */
34
+ unshield(spends, outputAddress, unshieldAmount, changeAddress, seed, coinType, account, anchor, memo, platformVersion) {
35
+ return ShieldedWithdrawalResultWASM.createFromRawInstance(this._rawShieldedBuilder.unshield(spends.map(s => s._rawSpendableNote), preparePlatformAddressValue(outputAddress), unshieldAmount.toString(), changeAddress._rawOrchardAddress, seed, coinType, account, anchor, memo._rawShieldedMemo, platformVersion));
36
+ }
37
+ /** Pool -> pool (spend). */
38
+ shieldedTransfer(spends, recipient, transferAmount, changeAddress, seed, coinType, account, anchor, memo, platformVersion) {
39
+ return ShieldedWithdrawalResultWASM.createFromRawInstance(this._rawShieldedBuilder.shieldedTransfer(spends.map(s => s._rawSpendableNote), recipient._rawOrchardAddress, transferAmount.toString(), changeAddress._rawOrchardAddress, seed, coinType, account, anchor, memo._rawShieldedMemo, platformVersion));
40
+ }
41
+ /** Pool -> new identity (spend). One private key per public key, same order. */
42
+ identityCreateFromShieldedPool(publicKeys, privateKeys, denomination, sendToAddressOnCreationFailure, spends, changeAddress, seed, coinType, account, anchor, memo, platformVersion) {
43
+ return IdentityCreateFromShieldedPoolResultWASM.createFromRawInstance(this._rawShieldedBuilder.identityCreateFromShieldedPool(publicKeys.map(k => k._rawKeyInCreation), privateKeys.map(k => k._rawPrivateKey), denomination.toString(), preparePlatformAddressValue(sendToAddressOnCreationFailure), spends.map(s => s._rawSpendableNote), changeAddress._rawOrchardAddress, seed, coinType, account, anchor, memo._rawShieldedMemo, platformVersion));
44
+ }
45
+ }
@@ -0,0 +1,11 @@
1
+ import type { ShieldedMemoNAPI } from '../../../../binaries/bindingsTypes.js';
2
+ export declare class ShieldedMemoWASM {
3
+ /** @private **/
4
+ _rawShieldedMemo: ShieldedMemoNAPI;
5
+ toString(): string;
6
+ toBytes(): Uint8Array;
7
+ static empty(): ShieldedMemoWASM;
8
+ static fromString(value: string): ShieldedMemoWASM;
9
+ static other(kind: number, payload: Uint8Array): ShieldedMemoWASM;
10
+ static createFromRawInstance(rawInstance: ShieldedMemoNAPI): ShieldedMemoWASM;
11
+ }
@@ -0,0 +1,25 @@
1
+ import { dppProvider } from '../../provider.js';
2
+ export class ShieldedMemoWASM {
3
+ /** @private **/
4
+ _rawShieldedMemo;
5
+ toString() {
6
+ return this._rawShieldedMemo.toString();
7
+ }
8
+ toBytes() {
9
+ return this._rawShieldedMemo.toBytes();
10
+ }
11
+ static empty() {
12
+ return ShieldedMemoWASM.createFromRawInstance(dppProvider.dpp.ShieldedMemoNAPI.empty());
13
+ }
14
+ static fromString(value) {
15
+ return ShieldedMemoWASM.createFromRawInstance(dppProvider.dpp.ShieldedMemoNAPI.fromString(value));
16
+ }
17
+ static other(kind, payload) {
18
+ return ShieldedMemoWASM.createFromRawInstance(dppProvider.dpp.ShieldedMemoNAPI.other(kind, payload));
19
+ }
20
+ static createFromRawInstance(rawInstance) {
21
+ const instance = Object.create(ShieldedMemoWASM.prototype);
22
+ instance._rawShieldedMemo = rawInstance;
23
+ return instance;
24
+ }
25
+ }
@@ -0,0 +1,11 @@
1
+ import type { ShieldedWithdrawalResultNAPI } from '../../../../binaries/bindingsTypes.js';
2
+ import { StateTransitionWASM } from '../StateTransition.js';
3
+ /** Result of a proving shielded spend (withdrawal / unshield / transfer). */
4
+ export declare class ShieldedWithdrawalResultWASM {
5
+ /** @private **/
6
+ _rawShieldedWithdrawalResult: ShieldedWithdrawalResultNAPI;
7
+ get stateTransition(): StateTransitionWASM;
8
+ /** The fixed shielded fee (credits) consensus charges for the spend. */
9
+ get fee(): bigint;
10
+ static createFromRawInstance(rawInstance: ShieldedWithdrawalResultNAPI): ShieldedWithdrawalResultWASM;
11
+ }
@@ -0,0 +1,18 @@
1
+ import { StateTransitionWASM } from '../StateTransition.js';
2
+ /** Result of a proving shielded spend (withdrawal / unshield / transfer). */
3
+ export class ShieldedWithdrawalResultWASM {
4
+ /** @private **/
5
+ _rawShieldedWithdrawalResult;
6
+ get stateTransition() {
7
+ return StateTransitionWASM.createFromRawInstance(this._rawShieldedWithdrawalResult.stateTransition);
8
+ }
9
+ /** The fixed shielded fee (credits) consensus charges for the spend. */
10
+ get fee() {
11
+ return BigInt(this._rawShieldedWithdrawalResult.fee);
12
+ }
13
+ static createFromRawInstance(rawInstance) {
14
+ const instance = Object.create(ShieldedWithdrawalResultWASM.prototype);
15
+ instance._rawShieldedWithdrawalResult = rawInstance;
16
+ return instance;
17
+ }
18
+ }
@@ -0,0 +1,13 @@
1
+ import type { SpendableNoteNAPI } from '../../../../binaries/bindingsTypes.js';
2
+ import { NoteWASM } from './Note.js';
3
+ import { MerklePathWASM } from './MerklePath.js';
4
+ export declare class SpendableNoteWASM {
5
+ /** @private **/
6
+ _rawSpendableNote: SpendableNoteNAPI;
7
+ constructor(note: NoteWASM, merklePath: MerklePathWASM);
8
+ get note(): NoteWASM;
9
+ set note(value: NoteWASM);
10
+ get merklePath(): MerklePathWASM;
11
+ set merklePath(value: MerklePathWASM);
12
+ static createFromRawInstance(rawInstance: SpendableNoteNAPI): SpendableNoteWASM;
13
+ }
@@ -0,0 +1,27 @@
1
+ import { dppProvider } from '../../provider.js';
2
+ import { NoteWASM } from './Note.js';
3
+ import { MerklePathWASM } from './MerklePath.js';
4
+ export class SpendableNoteWASM {
5
+ /** @private **/
6
+ _rawSpendableNote;
7
+ constructor(note, merklePath) {
8
+ this._rawSpendableNote = new dppProvider.dpp.SpendableNoteNAPI(note._rawNote, merklePath._rawMerklePath);
9
+ }
10
+ get note() {
11
+ return NoteWASM.createFromRawInstance(this._rawSpendableNote.note);
12
+ }
13
+ set note(value) {
14
+ this._rawSpendableNote.note = value._rawNote;
15
+ }
16
+ get merklePath() {
17
+ return MerklePathWASM.createFromRawInstance(this._rawSpendableNote.merklePath);
18
+ }
19
+ set merklePath(value) {
20
+ this._rawSpendableNote.merklePath = value._rawMerklePath;
21
+ }
22
+ static createFromRawInstance(rawInstance) {
23
+ const instance = Object.create(SpendableNoteWASM.prototype);
24
+ instance._rawSpendableNote = rawInstance;
25
+ return instance;
26
+ }
27
+ }
@@ -62,7 +62,7 @@ export class PartialIdentityWASM {
62
62
  this._rawPartialIdentity.notFoundPublicKeys = keys;
63
63
  }
64
64
  static createFromRawInstance(rawInstance) {
65
- const instance = Object.create(this.prototype);
65
+ const instance = Object.create(PartialIdentityWASM.prototype);
66
66
  instance._rawPartialIdentity = rawInstance;
67
67
  return instance;
68
68
  }
@@ -4,8 +4,8 @@ export declare class AddressWitnessWASM {
4
4
  /** @private **/
5
5
  _rawWitness: AddressWitnessNAPI;
6
6
  private constructor();
7
- P2PKH(signature: Uint8Array): AddressWitnessWASM;
8
- P2SH(signatures: Uint8Array[], redeemScript: Uint8Array): AddressWitnessWASM;
7
+ static P2PKH(signature: Uint8Array): AddressWitnessWASM;
8
+ static P2SH(signatures: Uint8Array[], redeemScript: Uint8Array): AddressWitnessWASM;
9
9
  getType(): string;
10
10
  getValue(): AddressWitnessP2PKH | AddressWitnessP2SH;
11
11
  static createFromRawInstance(rawInstance: AddressWitnessNAPI): AddressWitnessWASM;
@@ -5,10 +5,10 @@ export class AddressWitnessWASM {
5
5
  constructor(witness) {
6
6
  this._rawWitness = witness;
7
7
  }
8
- P2PKH(signature) {
8
+ static P2PKH(signature) {
9
9
  return AddressWitnessWASM.createFromRawInstance(dppProvider.dpp.AddressWitnessNAPI.P2PKH(signature));
10
10
  }
11
- P2SH(signatures, redeemScript) {
11
+ static P2SH(signatures, redeemScript) {
12
12
  return AddressWitnessWASM.createFromRawInstance(dppProvider.dpp.AddressWitnessNAPI.P2SH(signatures, redeemScript));
13
13
  }
14
14
  getType() {
@@ -1,14 +1,16 @@
1
1
  import type { PlatformAddressNAPI } from '../../../../binaries/bindingsTypes.js';
2
- import { NetworkLike } from '../../types.js';
2
+ import { NetworkLike, PlatformAddressLike } from '../../types.js';
3
3
  export declare class PlatformAddressWASM {
4
4
  /** @private **/
5
5
  _rawPlatformAddress: PlatformAddressNAPI;
6
- constructor(address: Uint8Array);
6
+ constructor(address: PlatformAddressLike);
7
7
  bytes(): Uint8Array;
8
8
  toAddress(network: NetworkLike): string;
9
9
  toBech32m(network: NetworkLike): string;
10
10
  isP2PKH(): boolean;
11
11
  isP2SH(): boolean;
12
12
  hash(): Uint8Array;
13
+ static fromBech32m(bech32m: string): PlatformAddressWASM;
14
+ static fromBytes(bytes: Uint8Array): PlatformAddressWASM;
13
15
  static createFromRawInstance(rawInstance: PlatformAddressNAPI): PlatformAddressWASM;
14
16
  }
@@ -1,10 +1,10 @@
1
1
  import { dppProvider } from '../../provider.js';
2
- import { valueToDynamicValue } from '../../utils.js';
2
+ import { preparePlatformAddressValue, valueToDynamicValue } from '../../utils.js';
3
3
  export class PlatformAddressWASM {
4
4
  /** @private **/
5
5
  _rawPlatformAddress;
6
6
  constructor(address) {
7
- this._rawPlatformAddress = new dppProvider.dpp.PlatformAddressNAPI(address);
7
+ this._rawPlatformAddress = new dppProvider.dpp.PlatformAddressNAPI(preparePlatformAddressValue(address));
8
8
  }
9
9
  bytes() {
10
10
  return this._rawPlatformAddress.bytes();
@@ -24,8 +24,14 @@ export class PlatformAddressWASM {
24
24
  hash() {
25
25
  return this._rawPlatformAddress.hash();
26
26
  }
27
+ static fromBech32m(bech32m) {
28
+ return PlatformAddressWASM.createFromRawInstance(dppProvider.dpp.PlatformAddressNAPI.fromBech32m(bech32m));
29
+ }
30
+ static fromBytes(bytes) {
31
+ return PlatformAddressWASM.createFromRawInstance(dppProvider.dpp.PlatformAddressNAPI.fromBytes(bytes));
32
+ }
27
33
  static createFromRawInstance(rawInstance) {
28
- const instance = Object.create(this.prototype);
34
+ const instance = Object.create(PlatformAddressWASM.prototype);
29
35
  instance._rawPlatformAddress = rawInstance;
30
36
  return instance;
31
37
  }
@@ -41,7 +41,7 @@ export class PrivateKeyWASM {
41
41
  return PrivateKeyWASM.createFromRawInstance(dppProvider.dpp.PrivateKeyNAPI.fromHex(hex, valueToDynamicValue(network)));
42
42
  }
43
43
  static createFromRawInstance(rawInstance) {
44
- const instance = Object.create(this.prototype);
44
+ const instance = Object.create(PrivateKeyWASM.prototype);
45
45
  instance._rawPrivateKey = rawInstance;
46
46
  return instance;
47
47
  }
@@ -30,7 +30,7 @@ export class PublicKeyWASM {
30
30
  return PublicKeyWASM.createFromRawInstance(dppProvider.dpp.PublicKeyNAPI.fromBytes(bytes));
31
31
  }
32
32
  static createFromRawInstance(rawInstance) {
33
- const instance = Object.create(this.prototype);
33
+ const instance = Object.create(PublicKeyWASM.prototype);
34
34
  instance._rawPublicKey = rawInstance;
35
35
  return instance;
36
36
  }
@@ -0,0 +1,31 @@
1
+ import type { IdentityCreateFromShieldedPoolTransitionNAPI } from '../../../../binaries/bindingsTypes.js';
2
+ import { IdentityPublicKeyInCreationWASM } from '../IdentityPublicKeyInCreation.js';
3
+ import { SerializedActionWASM } from './SerializedAction.js';
4
+ import { PlatformAddressWASM } from '../PlatformAddress/PlatformAddress.js';
5
+ import { IdentifierWASM } from '../Identifier.js';
6
+ import { IdentifierLike, PlatformAddressLike } from '../../types.js';
7
+ import { StateTransitionWASM } from '../StateTransition.js';
8
+ export declare class IdentityCreateFromShieldedPoolTransitionWASM {
9
+ /** @private **/
10
+ _rawIdentityCreateFromShieldedPoolTransition: IdentityCreateFromShieldedPoolTransitionNAPI;
11
+ constructor(publicKeys: IdentityPublicKeyInCreationWASM[], denomination: bigint, actions: SerializedActionWASM[], anchor: Uint8Array, proof: Uint8Array, bindingsSignature: Uint8Array, sendToAddressOnCreationFailure: PlatformAddressLike, identityId: IdentifierLike);
12
+ get publicKeys(): IdentityPublicKeyInCreationWASM[];
13
+ set publicKeys(value: IdentityPublicKeyInCreationWASM[]);
14
+ get denomination(): bigint;
15
+ set denomination(value: bigint);
16
+ get actions(): SerializedActionWASM[];
17
+ set actions(value: SerializedActionWASM[]);
18
+ get anchor(): Uint8Array;
19
+ set anchor(value: Uint8Array);
20
+ get proof(): Uint8Array;
21
+ set proof(value: Uint8Array);
22
+ get bindingsSignature(): Uint8Array;
23
+ set bindingsSignature(value: Uint8Array);
24
+ get sendToAddressOnCreationFailure(): PlatformAddressWASM;
25
+ set sendToAddressOnCreationFailure(value: PlatformAddressLike);
26
+ get identityId(): IdentifierWASM;
27
+ set identityId(value: IdentifierLike);
28
+ toStateTransition(): StateTransitionWASM;
29
+ static fromStateTransition(st: StateTransitionWASM): IdentityCreateFromShieldedPoolTransitionWASM;
30
+ static createFromRawInstance(rawInstance: IdentityCreateFromShieldedPoolTransitionNAPI): IdentityCreateFromShieldedPoolTransitionWASM;
31
+ }
@@ -0,0 +1,73 @@
1
+ import { IdentityPublicKeyInCreationWASM } from '../IdentityPublicKeyInCreation.js';
2
+ import { SerializedActionWASM } from './SerializedAction.js';
3
+ import { PlatformAddressWASM } from '../PlatformAddress/PlatformAddress.js';
4
+ import { IdentifierWASM } from '../Identifier.js';
5
+ import { dppProvider } from '../../provider.js';
6
+ import { prepareIdentifierValue, preparePlatformAddressValue } from '../../utils.js';
7
+ import { StateTransitionWASM } from '../StateTransition.js';
8
+ export class IdentityCreateFromShieldedPoolTransitionWASM {
9
+ /** @private **/
10
+ _rawIdentityCreateFromShieldedPoolTransition;
11
+ constructor(publicKeys, denomination, actions, anchor, proof, bindingsSignature, sendToAddressOnCreationFailure, identityId) {
12
+ this._rawIdentityCreateFromShieldedPoolTransition = new dppProvider.dpp.IdentityCreateFromShieldedPoolTransitionNAPI(publicKeys.map(k => k._rawKeyInCreation), denomination.toString(), actions.map(a => a._rawSerializedAction), anchor, proof, bindingsSignature, preparePlatformAddressValue(sendToAddressOnCreationFailure), prepareIdentifierValue(identityId));
13
+ }
14
+ get publicKeys() {
15
+ return this._rawIdentityCreateFromShieldedPoolTransition.publicKeys.map(IdentityPublicKeyInCreationWASM.createFromRawInstance);
16
+ }
17
+ set publicKeys(value) {
18
+ this._rawIdentityCreateFromShieldedPoolTransition.publicKeys = value.map(k => k._rawKeyInCreation);
19
+ }
20
+ get denomination() {
21
+ return BigInt(this._rawIdentityCreateFromShieldedPoolTransition.denomination);
22
+ }
23
+ set denomination(value) {
24
+ this._rawIdentityCreateFromShieldedPoolTransition.denomination = value.toString();
25
+ }
26
+ get actions() {
27
+ return this._rawIdentityCreateFromShieldedPoolTransition.actions.map(SerializedActionWASM.createFromRawInstance);
28
+ }
29
+ set actions(value) {
30
+ this._rawIdentityCreateFromShieldedPoolTransition.actions = value.map(a => a._rawSerializedAction);
31
+ }
32
+ get anchor() {
33
+ return this._rawIdentityCreateFromShieldedPoolTransition.anchor;
34
+ }
35
+ set anchor(value) {
36
+ this._rawIdentityCreateFromShieldedPoolTransition.anchor = value;
37
+ }
38
+ get proof() {
39
+ return this._rawIdentityCreateFromShieldedPoolTransition.proof;
40
+ }
41
+ set proof(value) {
42
+ this._rawIdentityCreateFromShieldedPoolTransition.proof = value;
43
+ }
44
+ get bindingsSignature() {
45
+ return this._rawIdentityCreateFromShieldedPoolTransition.bindingsSignature;
46
+ }
47
+ set bindingsSignature(value) {
48
+ this._rawIdentityCreateFromShieldedPoolTransition.bindingsSignature = value;
49
+ }
50
+ get sendToAddressOnCreationFailure() {
51
+ return PlatformAddressWASM.createFromRawInstance(this._rawIdentityCreateFromShieldedPoolTransition.sendToAddressOnCreationFailure);
52
+ }
53
+ set sendToAddressOnCreationFailure(value) {
54
+ this._rawIdentityCreateFromShieldedPoolTransition.sendToAddressOnCreationFailure = preparePlatformAddressValue(value);
55
+ }
56
+ get identityId() {
57
+ return IdentifierWASM.createFromRawInstance(this._rawIdentityCreateFromShieldedPoolTransition.identityId);
58
+ }
59
+ set identityId(value) {
60
+ this._rawIdentityCreateFromShieldedPoolTransition.identityId = prepareIdentifierValue(value);
61
+ }
62
+ toStateTransition() {
63
+ return StateTransitionWASM.createFromRawInstance(this._rawIdentityCreateFromShieldedPoolTransition.toStateTransition());
64
+ }
65
+ static fromStateTransition(st) {
66
+ return IdentityCreateFromShieldedPoolTransitionWASM.createFromRawInstance(dppProvider.dpp.IdentityCreateFromShieldedPoolTransitionNAPI.fromStateTransition(st._rawStateTransition));
67
+ }
68
+ static createFromRawInstance(rawInstance) {
69
+ const instance = Object.create(IdentityCreateFromShieldedPoolTransitionWASM.prototype);
70
+ instance._rawIdentityCreateFromShieldedPoolTransition = rawInstance;
71
+ return instance;
72
+ }
73
+ }
@@ -0,0 +1,19 @@
1
+ import type { SerializedActionNAPI } from '../../../../binaries/bindingsTypes.js';
2
+ export declare class SerializedActionWASM {
3
+ /** @private **/
4
+ _rawSerializedAction: SerializedActionNAPI;
5
+ constructor(nullifier: Uint8Array, rk: Uint8Array, cmx: Uint8Array, encryptedNote: Uint8Array, cvNet: Uint8Array, spendAuthSig: Uint8Array);
6
+ get nullifier(): Uint8Array;
7
+ set nullifier(value: Uint8Array);
8
+ get rk(): Uint8Array;
9
+ set rk(value: Uint8Array);
10
+ get cmx(): Uint8Array;
11
+ set cmx(value: Uint8Array);
12
+ get encryptedNote(): Uint8Array;
13
+ set encryptedNote(value: Uint8Array);
14
+ get cvNet(): Uint8Array;
15
+ set cvNet(value: Uint8Array);
16
+ get spendAuthSig(): Uint8Array;
17
+ set spendAuthSig(value: Uint8Array);
18
+ static createFromRawInstance(rawInstance: SerializedActionNAPI): SerializedActionWASM;
19
+ }
@@ -0,0 +1,49 @@
1
+ import { dppProvider } from '../../provider.js';
2
+ export class SerializedActionWASM {
3
+ /** @private **/
4
+ _rawSerializedAction;
5
+ constructor(nullifier, rk, cmx, encryptedNote, cvNet, spendAuthSig) {
6
+ this._rawSerializedAction = new dppProvider.dpp.SerializedActionNAPI(nullifier, rk, cmx, encryptedNote, cvNet, spendAuthSig);
7
+ }
8
+ get nullifier() {
9
+ return this._rawSerializedAction.nullifier;
10
+ }
11
+ set nullifier(value) {
12
+ this._rawSerializedAction.nullifier = value;
13
+ }
14
+ get rk() {
15
+ return this._rawSerializedAction.rk;
16
+ }
17
+ set rk(value) {
18
+ this._rawSerializedAction.rk = value;
19
+ }
20
+ get cmx() {
21
+ return this._rawSerializedAction.cmx;
22
+ }
23
+ set cmx(value) {
24
+ this._rawSerializedAction.cmx = value;
25
+ }
26
+ get encryptedNote() {
27
+ return this._rawSerializedAction.encrypted_note;
28
+ }
29
+ set encryptedNote(value) {
30
+ this._rawSerializedAction.encrypted_note = value;
31
+ }
32
+ get cvNet() {
33
+ return this._rawSerializedAction.cvNet;
34
+ }
35
+ set cvNet(value) {
36
+ this._rawSerializedAction.cvNet = value;
37
+ }
38
+ get spendAuthSig() {
39
+ return this._rawSerializedAction.spendAuthSig;
40
+ }
41
+ set spendAuthSig(value) {
42
+ this._rawSerializedAction.spendAuthSig = value;
43
+ }
44
+ static createFromRawInstance(rawInstance) {
45
+ const instance = Object.create(SerializedActionWASM.prototype);
46
+ instance._rawSerializedAction = rawInstance;
47
+ return instance;
48
+ }
49
+ }
@@ -0,0 +1,30 @@
1
+ import type { ShieldFromAssetLockTransitionNAPI } from '../../../../binaries/bindingsTypes.js';
2
+ import { SerializedActionWASM } from './SerializedAction.js';
3
+ import { AssetLockProofWASM } from '../AssetLockProof/AssetLockProof.js';
4
+ import { PlatformAddressWASM } from '../PlatformAddress/PlatformAddress.js';
5
+ import { PlatformAddressLike } from '../../types.js';
6
+ import { StateTransitionWASM } from '../StateTransition.js';
7
+ export declare class ShieldFromAssetLockTransitionWASM {
8
+ /** @private **/
9
+ _rawShieldFromAssetLockTransition: ShieldFromAssetLockTransitionNAPI;
10
+ constructor(assetLockProof: AssetLockProofWASM, actions: SerializedActionWASM[], valueBalance: bigint, anchor: Uint8Array, proof: Uint8Array, bindingsSignature: Uint8Array, surplusOutput?: PlatformAddressLike);
11
+ get assetLockProof(): AssetLockProofWASM;
12
+ set assetLockProof(value: AssetLockProofWASM);
13
+ get actions(): SerializedActionWASM[];
14
+ set actions(value: SerializedActionWASM[]);
15
+ get valueBalance(): bigint;
16
+ set valueBalance(value: bigint);
17
+ get anchor(): Uint8Array;
18
+ set anchor(value: Uint8Array);
19
+ get proof(): Uint8Array;
20
+ set proof(value: Uint8Array);
21
+ get bindingsSignature(): Uint8Array;
22
+ set bindingsSignature(value: Uint8Array);
23
+ get surplusOutput(): PlatformAddressWASM | undefined;
24
+ set surplusOutput(value: PlatformAddressLike | undefined);
25
+ get signature(): Uint8Array;
26
+ set signature(value: Uint8Array);
27
+ toStateTransition(): StateTransitionWASM;
28
+ static fromStateTransition(st: StateTransitionWASM): ShieldFromAssetLockTransitionWASM;
29
+ static createFromRawInstance(rawInstance: ShieldFromAssetLockTransitionNAPI): ShieldFromAssetLockTransitionWASM;
30
+ }
@@ -0,0 +1,77 @@
1
+ import { SerializedActionWASM } from './SerializedAction.js';
2
+ import { AssetLockProofWASM } from '../AssetLockProof/AssetLockProof.js';
3
+ import { PlatformAddressWASM } from '../PlatformAddress/PlatformAddress.js';
4
+ import { dppProvider } from '../../provider.js';
5
+ import { preparePlatformAddressValue } from '../../utils.js';
6
+ import { StateTransitionWASM } from '../StateTransition.js';
7
+ export class ShieldFromAssetLockTransitionWASM {
8
+ /** @private **/
9
+ _rawShieldFromAssetLockTransition;
10
+ constructor(assetLockProof, actions, valueBalance, anchor, proof, bindingsSignature, surplusOutput) {
11
+ this._rawShieldFromAssetLockTransition = new dppProvider.dpp.ShieldFromAssetLockTransitionNAPI(assetLockProof._rawAssetLockProof, actions.map(a => a._rawSerializedAction), valueBalance.toString(), anchor, proof, bindingsSignature, surplusOutput != null ? preparePlatformAddressValue(surplusOutput) : undefined);
12
+ }
13
+ get assetLockProof() {
14
+ return AssetLockProofWASM.createFromRawInstance(this._rawShieldFromAssetLockTransition.assetLockProof);
15
+ }
16
+ set assetLockProof(value) {
17
+ this._rawShieldFromAssetLockTransition.assetLockProof = value._rawAssetLockProof;
18
+ }
19
+ get actions() {
20
+ return this._rawShieldFromAssetLockTransition.actions.map(SerializedActionWASM.createFromRawInstance);
21
+ }
22
+ set actions(value) {
23
+ this._rawShieldFromAssetLockTransition.actions = value.map(a => a._rawSerializedAction);
24
+ }
25
+ get valueBalance() {
26
+ return BigInt(this._rawShieldFromAssetLockTransition.valueBalance);
27
+ }
28
+ set valueBalance(value) {
29
+ this._rawShieldFromAssetLockTransition.valueBalance = value.toString();
30
+ }
31
+ get anchor() {
32
+ return this._rawShieldFromAssetLockTransition.anchor;
33
+ }
34
+ set anchor(value) {
35
+ this._rawShieldFromAssetLockTransition.anchor = value;
36
+ }
37
+ get proof() {
38
+ return this._rawShieldFromAssetLockTransition.proof;
39
+ }
40
+ set proof(value) {
41
+ this._rawShieldFromAssetLockTransition.proof = value;
42
+ }
43
+ get bindingsSignature() {
44
+ return this._rawShieldFromAssetLockTransition.bindingsSignature;
45
+ }
46
+ set bindingsSignature(value) {
47
+ this._rawShieldFromAssetLockTransition.bindingsSignature = value;
48
+ }
49
+ get surplusOutput() {
50
+ const output = this._rawShieldFromAssetLockTransition.surplusOutput;
51
+ if (output != null) {
52
+ return PlatformAddressWASM.createFromRawInstance(output);
53
+ }
54
+ }
55
+ set surplusOutput(value) {
56
+ this._rawShieldFromAssetLockTransition.surplusOutput = value != null
57
+ ? preparePlatformAddressValue(value)
58
+ : undefined;
59
+ }
60
+ get signature() {
61
+ return this._rawShieldFromAssetLockTransition.signature;
62
+ }
63
+ set signature(value) {
64
+ this._rawShieldFromAssetLockTransition.signature = value;
65
+ }
66
+ toStateTransition() {
67
+ return StateTransitionWASM.createFromRawInstance(this._rawShieldFromAssetLockTransition.toStateTransition());
68
+ }
69
+ static fromStateTransition(st) {
70
+ return ShieldFromAssetLockTransitionWASM.createFromRawInstance(dppProvider.dpp.ShieldFromAssetLockTransitionNAPI.fromStateTransition(st._rawStateTransition));
71
+ }
72
+ static createFromRawInstance(rawInstance) {
73
+ const instance = Object.create(ShieldFromAssetLockTransitionWASM.prototype);
74
+ instance._rawShieldFromAssetLockTransition = rawInstance;
75
+ return instance;
76
+ }
77
+ }
@@ -0,0 +1,32 @@
1
+ import type { ShieldTransitionNAPI } from '../../../../binaries/bindingsTypes.js';
2
+ import { InputAddressWASM } from '../AddressTransitions/entities/InputAddress.js';
3
+ import { AddressFundsFeeStrategyStepWASM } from '../AddressTransitions/entities/AddressFundsFeeStrategyStep.js';
4
+ import { AddressWitnessWASM } from '../PlatformAddress/AddressWitness.js';
5
+ import { SerializedActionWASM } from './SerializedAction.js';
6
+ import { StateTransitionWASM } from '../StateTransition.js';
7
+ export declare class ShieldTransitionWASM {
8
+ /** @private **/
9
+ _rawShieldTransition: ShieldTransitionNAPI;
10
+ constructor(inputs: InputAddressWASM[], actions: SerializedActionWASM[], amount: bigint, anchor: Uint8Array, proof: Uint8Array, bindingsSignature: Uint8Array, feeStrategy: AddressFundsFeeStrategyStepWASM[], userFeeIncrease: number, inputWitnesses: AddressWitnessWASM[]);
11
+ get inputs(): InputAddressWASM[];
12
+ set inputs(value: InputAddressWASM[]);
13
+ get actions(): SerializedActionWASM[];
14
+ set actions(value: SerializedActionWASM[]);
15
+ get amount(): bigint;
16
+ set amount(value: bigint);
17
+ get anchor(): Uint8Array;
18
+ set anchor(value: Uint8Array);
19
+ get proof(): Uint8Array;
20
+ set proof(value: Uint8Array);
21
+ get bindingsSignature(): Uint8Array;
22
+ set bindingsSignature(value: Uint8Array);
23
+ get feeStrategy(): AddressFundsFeeStrategyStepWASM[];
24
+ set feeStrategy(value: AddressFundsFeeStrategyStepWASM[]);
25
+ get userFeeIncrease(): number;
26
+ set userFeeIncrease(value: number);
27
+ get inputWitnesses(): AddressWitnessWASM[];
28
+ set inputWitnesses(value: AddressWitnessWASM[]);
29
+ toStateTransition(): StateTransitionWASM;
30
+ static fromStateTransition(st: StateTransitionWASM): ShieldTransitionWASM;
31
+ static createFromRawInstance(rawInstance: ShieldTransitionNAPI): ShieldTransitionWASM;
32
+ }