dop-wallet-v6 1.2.1 → 1.2.2

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 (115) hide show
  1. package/dist/services/artifacts/__tests__/artifact-downloader.test.js.map +1 -1
  2. package/dist/services/artifacts/artifact-downloader.d.ts +1 -1
  3. package/dist/services/artifacts/artifact-downloader.js.map +1 -1
  4. package/dist/services/artifacts/artifact-hash.d.ts +1 -1
  5. package/dist/services/artifacts/artifact-hash.js.map +1 -1
  6. package/dist/services/artifacts/artifact-util.d.ts +1 -1
  7. package/dist/services/artifacts/artifact-util.js.map +1 -1
  8. package/dist/services/dop/core/__tests__/providers.test.js.map +1 -1
  9. package/dist/services/dop/core/artifacts.d.ts +2 -2
  10. package/dist/services/dop/core/artifacts.js.map +1 -1
  11. package/dist/services/dop/core/encrypts.d.ts +1 -1
  12. package/dist/services/dop/core/encrypts.js.map +1 -1
  13. package/dist/services/dop/core/engine.d.ts +1 -1
  14. package/dist/services/dop/core/engine.js.map +1 -1
  15. package/dist/services/dop/core/init.d.ts +2 -2
  16. package/dist/services/dop/core/init.js.map +1 -1
  17. package/dist/services/dop/core/load-provider.d.ts +1 -1
  18. package/dist/services/dop/core/load-provider.js.map +1 -1
  19. package/dist/services/dop/core/merkletree.d.ts +2 -2
  20. package/dist/services/dop/core/merkletree.js.map +1 -1
  21. package/dist/services/dop/core/prover.d.ts +1 -1
  22. package/dist/services/dop/core/prover.js.map +1 -1
  23. package/dist/services/dop/core/providers.d.ts +2 -2
  24. package/dist/services/dop/core/providers.js.map +1 -1
  25. package/dist/services/dop/dop-txids/__tests__/dop-txid-sync-graph-v2.test.js.map +1 -1
  26. package/dist/services/dop/dop-txids/blinded-commitments.d.ts +1 -1
  27. package/dist/services/dop/dop-txids/blinded-commitments.js.map +1 -1
  28. package/dist/services/dop/dop-txids/dop-txid-graph-type-formatters.d.ts +1 -1
  29. package/dist/services/dop/dop-txids/dop-txid-graph-type-formatters.js.map +1 -1
  30. package/dist/services/dop/dop-txids/dop-txid-merkletrees.d.ts +1 -1
  31. package/dist/services/dop/dop-txids/dop-txid-merkletrees.js.map +1 -1
  32. package/dist/services/dop/dop-txids/dop-txid-sync-graph-v2.d.ts +1 -1
  33. package/dist/services/dop/dop-txids/dop-txid-sync-graph-v2.js.map +1 -1
  34. package/dist/services/dop/history/transaction-history.d.ts +2 -2
  35. package/dist/services/dop/history/transaction-history.js.map +1 -1
  36. package/dist/services/dop/process/extract-transaction-data.d.ts +1 -1
  37. package/dist/services/dop/process/extract-transaction-data.js.map +1 -1
  38. package/dist/services/dop/quick-sync/V2/__tests__/quick-sync-events-graph-v2.test.js.map +1 -1
  39. package/dist/services/dop/quick-sync/V2/graph-type-formatters-v2.d.ts +1 -1
  40. package/dist/services/dop/quick-sync/V2/graph-type-formatters-v2.js.map +1 -1
  41. package/dist/services/dop/quick-sync/V2/quick-sync-events-graph-v2.d.ts +1 -1
  42. package/dist/services/dop/quick-sync/V2/quick-sync-events-graph-v2.js.map +1 -1
  43. package/dist/services/dop/quick-sync/V3/__tests__/quick-sync-events-graph-v3.test.js.map +1 -1
  44. package/dist/services/dop/quick-sync/V3/graph-type-formatters-v3.d.ts +1 -1
  45. package/dist/services/dop/quick-sync/V3/graph-type-formatters-v3.js.map +1 -1
  46. package/dist/services/dop/quick-sync/V3/quick-sync-events-graph-v3.d.ts +1 -1
  47. package/dist/services/dop/quick-sync/V3/quick-sync-events-graph-v3.js.map +1 -1
  48. package/dist/services/dop/quick-sync/graph-query.d.ts +1 -1
  49. package/dist/services/dop/quick-sync/graph-query.js.map +1 -1
  50. package/dist/services/dop/quick-sync/quick-sync-events.d.ts +1 -1
  51. package/dist/services/dop/quick-sync/quick-sync-events.js.map +1 -1
  52. package/dist/services/dop/quick-sync/shared-formatters.d.ts +1 -1
  53. package/dist/services/dop/quick-sync/shared-formatters.js.map +1 -1
  54. package/dist/services/dop/util/bytes.d.ts +1 -1
  55. package/dist/services/dop/util/bytes.js.map +1 -1
  56. package/dist/services/dop/util/crypto.d.ts +2 -2
  57. package/dist/services/dop/util/crypto.js.map +1 -1
  58. package/dist/services/dop/wallets/__tests__/balances-live.test.js.map +1 -1
  59. package/dist/services/dop/wallets/__tests__/balances-update.test.js.map +1 -1
  60. package/dist/services/dop/wallets/__tests__/balances.test.js.map +1 -1
  61. package/dist/services/dop/wallets/__tests__/wallets.test.js.map +1 -1
  62. package/dist/services/dop/wallets/balance-update.d.ts +2 -2
  63. package/dist/services/dop/wallets/balance-update.js.map +1 -1
  64. package/dist/services/dop/wallets/balances.d.ts +1 -1
  65. package/dist/services/dop/wallets/balances.js.map +1 -1
  66. package/dist/services/dop/wallets/wallets.d.ts +2 -2
  67. package/dist/services/dop/wallets/wallets.js.map +1 -1
  68. package/dist/services/ethers/ethers-util.js.map +1 -1
  69. package/dist/services/transactions/__tests__/proof-cache.test.js.map +1 -1
  70. package/dist/services/transactions/__tests__/tx-cross-contract-calls.test.js.map +1 -1
  71. package/dist/services/transactions/__tests__/tx-encrypt-base-token.test.js.map +1 -1
  72. package/dist/services/transactions/__tests__/tx-gas-details.test.js.map +1 -1
  73. package/dist/services/transactions/__tests__/tx-notes.test.js.map +1 -1
  74. package/dist/services/transactions/__tests__/tx-transfer.test.js.map +1 -1
  75. package/dist/services/transactions/proof-cache.d.ts +1 -1
  76. package/dist/services/transactions/proof-cache.js.map +1 -1
  77. package/dist/services/transactions/tx-cross-contract-calls.d.ts +2 -2
  78. package/dist/services/transactions/tx-cross-contract-calls.js.map +1 -1
  79. package/dist/services/transactions/tx-decrypt.d.ts +1 -1
  80. package/dist/services/transactions/tx-decrypt.js.map +1 -1
  81. package/dist/services/transactions/tx-encrypt-base-token.d.ts +1 -1
  82. package/dist/services/transactions/tx-encrypt-base-token.js.map +1 -1
  83. package/dist/services/transactions/tx-encrypt.d.ts +1 -1
  84. package/dist/services/transactions/tx-encrypt.js.map +1 -1
  85. package/dist/services/transactions/tx-gas-broadcaster-fee-estimator.d.ts +2 -2
  86. package/dist/services/transactions/tx-gas-broadcaster-fee-estimator.js.map +1 -1
  87. package/dist/services/transactions/tx-gas-details.d.ts +1 -1
  88. package/dist/services/transactions/tx-gas-details.js.map +1 -1
  89. package/dist/services/transactions/tx-generator.d.ts +2 -2
  90. package/dist/services/transactions/tx-generator.js.map +1 -1
  91. package/dist/services/transactions/tx-notes.d.ts +2 -2
  92. package/dist/services/transactions/tx-notes.js.map +1 -1
  93. package/dist/services/transactions/tx-nullifiers.d.ts +1 -1
  94. package/dist/services/transactions/tx-nullifiers.js.map +1 -1
  95. package/dist/services/transactions/tx-proof-decrypt.d.ts +1 -1
  96. package/dist/services/transactions/tx-proof-decrypt.js.map +1 -1
  97. package/dist/services/transactions/tx-proof-transfer.d.ts +1 -1
  98. package/dist/services/transactions/tx-proof-transfer.js.map +1 -1
  99. package/dist/services/transactions/tx-transfer.d.ts +1 -1
  100. package/dist/services/transactions/tx-transfer.js.map +1 -1
  101. package/dist/tests/helper.test.d.ts +1 -1
  102. package/dist/tests/helper.test.js.map +1 -1
  103. package/dist/tests/mocks.test.d.ts +2 -2
  104. package/dist/tests/mocks.test.js.map +1 -1
  105. package/dist/tests/poi/test-wallet-poi-requester.test.d.ts +2 -2
  106. package/dist/tests/poi/test-wallet-poi-requester.test.js.map +1 -1
  107. package/dist/tests/setup.test.d.ts +1 -1
  108. package/dist/tests/setup.test.js.map +1 -1
  109. package/dist/tests/stubs/engine-stubs.test.d.ts +1 -1
  110. package/dist/tests/stubs/engine-stubs.test.js.map +1 -1
  111. package/dist/utils/blocked-address.js.map +1 -1
  112. package/dist/utils/error.js.map +1 -1
  113. package/dist/utils/gas-price.d.ts +1 -1
  114. package/dist/utils/gas-price.js.map +1 -1
  115. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tx-generator.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-generator.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DopWallet,\n TransactionBatch,\n AdaptID,\n OutputType,\n getTokenDataERC20,\n getTokenDataNFT,\n ERC721_NOTE_VALUE,\n NFTTokenData,\n DopVersionedSmartContracts,\n TransactionStructV2,\n TransactionStructV3,\n RelayAdaptVersionedSmartContracts,\n} from 'dop-engine-v3';\nimport {\n DopERC20Amount,\n DopERC20AmountRecipient,\n NetworkName,\n NETWORK_CONFIG,\n ProofType,\n DopNFTAmountRecipient,\n NFTTokenType,\n TXIDVersion,\n} from 'dop-sharedmodels-v3';\nimport {\n erc20NoteFromERC20AmountRecipient,\n nftNoteFromNFTAmountRecipient,\n} from './tx-notes';\nimport { getProver } from '../dop/core/prover';\nimport {\n assertValidEthAddress,\n assertValidDopAddress,\n fullWalletForID,\n walletForID,\n} from '../dop/wallets/wallets';\nimport { assertNotBlockedAddress } from '../../utils/blocked-address';\nimport { shouldSetOverallBatchMinGasPriceForNetwork } from '../../utils/gas-price';\nimport { ContractTransaction } from 'ethers';\n\nconst DUMMY_AMOUNT = 0n;\nexport const DUMMY_FROM_ADDRESS = '0x000000000000000000000000000000000000dEaD';\n\nexport type GenerateTransactionsProgressCallback = (\n progress: number,\n status: string,\n) => void;\n\nexport const generateProofTransactions = async (\n proofType: ProofType,\n networkName: NetworkName,\n dopWalletID: string,\n txidVersion: TXIDVersion,\n encryptionKey: string,\n showSenderAddressToRecipient: boolean,\n memoText: Optional<string>,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n broadcasterFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>,\n sendWithPublicWallet: boolean,\n relayAdaptID: Optional<AdaptID>,\n useDummyProof: boolean,\n overallBatchMinGasPrice: Optional<bigint>,\n progressCallback: GenerateTransactionsProgressCallback,\n originEncryptTxidForSpendabilityOverride?: string,\n): Promise<{\n provedTransactions: (TransactionStructV2 | TransactionStructV3)[];\n}> => {\n const dopWallet = fullWalletForID(dopWalletID);\n\n console.log(\"dopWallet\", dopWallet)\n\n const txs = await transactionsFromERC20Amounts(\n proofType,\n erc20AmountRecipients,\n nftAmountRecipients,\n dopWallet,\n txidVersion,\n encryptionKey,\n showSenderAddressToRecipient,\n memoText,\n networkName,\n broadcasterFeeERC20AmountRecipient,\n sendWithPublicWallet,\n relayAdaptID,\n useDummyProof,\n overallBatchMinGasPrice,\n progressCallback,\n originEncryptTxidForSpendabilityOverride,\n );\n return txs;\n};\n\nexport const nullifiersForTransactions = (\n transactions: (TransactionStructV2 | TransactionStructV3)[],\n): string[] => {\n return transactions\n .map(transaction => transaction.nullifiers)\n .flat() as string[];\n};\n\nexport const createDummyBroadcasterFeeERC20Amount = (feeTokenAddress: string) => {\n const broadcasterFeeERC20Amount: DopERC20Amount = {\n tokenAddress: feeTokenAddress,\n amount: DUMMY_AMOUNT,\n };\n return broadcasterFeeERC20Amount;\n};\n\nexport const generateDummyProofTransactions = async (\n proofType: ProofType,\n networkName: NetworkName,\n dopWalletID: string,\n txidVersion: TXIDVersion,\n encryptionKey: string,\n showSenderAddressToRecipient: boolean,\n memoText: Optional<string>,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n broadcasterFeeERC20Amount: Optional<DopERC20Amount>,\n sendWithPublicWallet: boolean,\n overallBatchMinGasPrice: Optional<bigint>,\n originEncryptTxidForSpendabilityOverride?: string,\n): Promise<(TransactionStructV2 | TransactionStructV3)[]> => {\n if (!broadcasterFeeERC20Amount && !sendWithPublicWallet) {\n throw new Error('Must send with broadcaster or public wallet.');\n }\n\n const dopWallet = walletForID(dopWalletID);\n\n // Use self-wallet as dummy broadcaster address.\n const broadcasterDopAddress = dopWallet.getAddress(undefined);\n\n const broadcasterFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient> =\n broadcasterFeeERC20Amount\n ? {\n ...broadcasterFeeERC20Amount,\n recipientAddress: broadcasterDopAddress,\n }\n : undefined;\n\n return (\n await generateProofTransactions(\n proofType,\n networkName,\n dopWalletID,\n txidVersion,\n encryptionKey,\n showSenderAddressToRecipient,\n memoText,\n erc20AmountRecipients,\n nftAmountRecipients,\n broadcasterFeeERC20AmountRecipient,\n sendWithPublicWallet,\n undefined, // relayAdaptID\n true, // useDummyProof\n overallBatchMinGasPrice,\n () => {}, // progressCallback (not necessary for dummy txs)\n originEncryptTxidForSpendabilityOverride,\n )\n ).provedTransactions;\n};\n\nexport const generateTransact = async (\n txidVersion: TXIDVersion,\n txs: (TransactionStructV2 | TransactionStructV3)[],\n networkName: NetworkName,\n value: bigint,\n useDummyProof = false,\n): Promise<ContractTransaction> => {\n const chain = NETWORK_CONFIG[networkName].chain;\n const transaction = await DopVersionedSmartContracts.generateTransact(\n txidVersion,\n chain,\n txs,\n );\n if (useDummyProof) {\n return {\n ...transaction,\n from: DUMMY_FROM_ADDRESS,\n value,\n };\n }\n return transaction;\n};\n\nexport const generateDecryptBaseToken = async (\n txidVersion: TXIDVersion,\n txs: (TransactionStructV2 | TransactionStructV3)[],\n networkName: NetworkName,\n toWalletAddress: string,\n relayAdaptParamsRandom: string,\n useDummyProof = false,\n): Promise<ContractTransaction> => {\n assertValidEthAddress(toWalletAddress);\n assertNotBlockedAddress(toWalletAddress);\n\n const chain = NETWORK_CONFIG[networkName].chain;\n\n const transaction =\n await RelayAdaptVersionedSmartContracts.populateDecryptBaseToken(\n txidVersion,\n chain,\n txs,\n toWalletAddress,\n relayAdaptParamsRandom,\n );\n if (useDummyProof) {\n return {\n ...transaction,\n from: DUMMY_FROM_ADDRESS,\n };\n }\n return transaction;\n};\n\nconst transactionsFromERC20Amounts = async (\n proofType: ProofType,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n dopWallet: DopWallet,\n txidVersion: TXIDVersion,\n encryptionKey: string,\n showSenderAddressToRecipient: boolean,\n memoText: Optional<string>,\n networkName: NetworkName,\n broadcasterFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>,\n sendWithPublicWallet: boolean,\n relayAdaptID: Optional<AdaptID>,\n useDummyProof: boolean,\n overallBatchMinGasPrice: Optional<bigint>,\n progressCallback: GenerateTransactionsProgressCallback,\n originEncryptTxidForSpendabilityOverride?: string,\n): Promise<{\n provedTransactions: (TransactionStructV2 | TransactionStructV3)[];\n}> => {\n const network = NETWORK_CONFIG[networkName];\n const { chain } = network;\n\n\n // Removes overallBatchMinGasPrice for L2 networks and non-Broadcaster transactions.\n const validatedOverallBatchMinGasPrice =\n shouldSetOverallBatchMinGasPriceForNetwork(\n sendWithPublicWallet,\n networkName,\n )\n ? BigInt(overallBatchMinGasPrice ?? 0)\n : BigInt(0);\n\n const transactionBatch = new TransactionBatch(\n chain,\n validatedOverallBatchMinGasPrice,\n );\n console.log(\"transactionBatch 0: \", transactionBatch)\n\n if (relayAdaptID) {\n transactionBatch.setAdaptID(relayAdaptID);\n }\n\n if (broadcasterFeeERC20AmountRecipient && !sendWithPublicWallet) {\n assertValidDopAddress(broadcasterFeeERC20AmountRecipient.recipientAddress);\n\n // Add Broadcaster Fee - must be first transaction in the batch, and first output for the transaction.\n transactionBatch.addOutput(\n erc20NoteFromERC20AmountRecipient(\n broadcasterFeeERC20AmountRecipient,\n dopWallet,\n OutputType.BroadcasterFee,\n false, // showSenderAddressToRecipient - never show sender for Broadcaster fees\n undefined, // memoText\n ),\n );\n }\n\n\n nftAmountRecipients.forEach(\n (nftAmountRecipient: DopNFTAmountRecipient) => {\n addTransactionOutputsNFT(\n proofType,\n transactionBatch,\n nftAmountRecipient,\n dopWallet,\n showSenderAddressToRecipient,\n memoText,\n );\n },\n );\n\n console.log(\"transactionBatch 11: \", transactionBatch)\n\n erc20AmountRecipients.forEach(\n (erc20AmountRecipient: DopERC20AmountRecipient) => {\n addTransactionOutputsERC20(\n proofType,\n transactionBatch,\n erc20AmountRecipient,\n dopWallet,\n showSenderAddressToRecipient,\n memoText,\n );\n },\n );\n\n console.log(\"transactionBatch 22: \", transactionBatch)\n\n const txBatches = await generateAllProofs(\n transactionBatch,\n dopWallet,\n txidVersion,\n encryptionKey,\n useDummyProof,\n progressCallback,\n originEncryptTxidForSpendabilityOverride,\n );\n console.log(\"txBatches 0: \", txBatches)\n\n return txBatches;\n};\n\nconst addTransactionOutputsERC20 = (\n proofType: ProofType,\n transactionBatch: TransactionBatch,\n erc20AmountRecipient: DopERC20AmountRecipient,\n dopWallet: DopWallet,\n showSenderAddressToRecipient: boolean,\n memoText: Optional<string>,\n) => {\n switch (proofType) {\n case ProofType.Transfer: {\n addTransactionOutputsTransferERC20(\n transactionBatch,\n erc20AmountRecipient,\n dopWallet,\n showSenderAddressToRecipient,\n memoText,\n );\n break;\n }\n case ProofType.CrossContractCalls:\n case ProofType.DecryptBaseToken:\n case ProofType.Decrypt: {\n addTransactionOutputsDecryptERC20(\n transactionBatch,\n erc20AmountRecipient,\n false, // allowOverride\n );\n break;\n }\n }\n};\n\nconst addTransactionOutputsNFT = (\n proofType: ProofType,\n transactionBatch: TransactionBatch,\n nftAmountRecipient: DopNFTAmountRecipient,\n dopWallet: DopWallet,\n showSenderAddressToRecipient: boolean,\n memoText: Optional<string>,\n) => {\n switch (proofType) {\n case ProofType.Transfer: {\n addTransactionOutputsTransferNFT(\n transactionBatch,\n nftAmountRecipient,\n dopWallet,\n showSenderAddressToRecipient,\n memoText,\n );\n break;\n }\n case ProofType.CrossContractCalls:\n case ProofType.DecryptBaseToken:\n case ProofType.Decrypt: {\n addTransactionOutputsDecryptNFT(\n transactionBatch,\n nftAmountRecipient,\n false, // allowOverride\n );\n break;\n }\n }\n};\n\nconst addTransactionOutputsTransferERC20 = (\n transactionBatch: TransactionBatch,\n erc20AmountRecipient: DopERC20AmountRecipient,\n dopWallet: DopWallet,\n showSenderAddressToRecipient: boolean,\n memoText: Optional<string>,\n) => {\n assertValidDopAddress(erc20AmountRecipient.recipientAddress);\n\n transactionBatch.addOutput(\n erc20NoteFromERC20AmountRecipient(\n erc20AmountRecipient,\n dopWallet,\n OutputType.Transfer,\n showSenderAddressToRecipient,\n memoText,\n ),\n );\n};\n\nconst addTransactionOutputsDecryptERC20 = (\n transactionBatch: TransactionBatch,\n erc20AmountRecipient: DopERC20AmountRecipient,\n allowOverride?: boolean,\n) => {\n const { recipientAddress, amount } = erc20AmountRecipient;\n\n assertValidEthAddress(recipientAddress);\n assertNotBlockedAddress(recipientAddress);\n\n const tokenData = getTokenDataERC20(erc20AmountRecipient.tokenAddress);\n\n transactionBatch.addDecryptData({\n toAddress: erc20AmountRecipient.recipientAddress,\n value: amount,\n tokenData,\n allowOverride,\n });\n};\n\nconst addTransactionOutputsTransferNFT = (\n transactionBatch: TransactionBatch,\n nftAmountRecipient: DopNFTAmountRecipient,\n dopWallet: DopWallet,\n showSenderAddressToRecipient: boolean,\n memoText: Optional<string>,\n) => {\n assertValidDopAddress(nftAmountRecipient.recipientAddress);\n\n transactionBatch.addOutput(\n nftNoteFromNFTAmountRecipient(\n nftAmountRecipient,\n dopWallet,\n showSenderAddressToRecipient,\n memoText,\n ),\n );\n};\n\nconst addTransactionOutputsDecryptNFT = (\n transactionBatch: TransactionBatch,\n nftAmountRecipient: DopNFTAmountRecipient,\n allowOverride?: boolean,\n) => {\n const { recipientAddress, nftAddress, tokenSubID, nftTokenType, amount } =\n nftAmountRecipient;\n\n assertValidEthAddress(recipientAddress);\n assertNotBlockedAddress(recipientAddress);\n\n const tokenData: NFTTokenData = getTokenDataNFT(\n nftAddress,\n nftTokenType as 1 | 2,\n tokenSubID,\n );\n\n const value: bigint =\n nftTokenType === NFTTokenType.ERC721 ? ERC721_NOTE_VALUE : amount;\n\n transactionBatch.addDecryptData({\n toAddress: recipientAddress,\n value,\n tokenData,\n allowOverride,\n });\n};\n\nconst generateAllProofs = async (\n transactionBatch: TransactionBatch,\n dopWallet: DopWallet,\n txidVersion: TXIDVersion,\n encryptionKey: string,\n useDummyProof: boolean,\n progressCallback: GenerateTransactionsProgressCallback,\n originEncryptTxidForSpendabilityOverride?: string,\n): Promise<{\n provedTransactions: (TransactionStructV2 | TransactionStructV3)[];\n}> => {\n const prover = getProver();\n if (useDummyProof) {\n return {\n provedTransactions: await transactionBatch.generateDummyTransactions(\n prover,\n dopWallet,\n txidVersion,\n encryptionKey,\n originEncryptTxidForSpendabilityOverride,\n ),\n };\n }\n return transactionBatch.generateTransactions(\n prover,\n dopWallet,\n txidVersion,\n encryptionKey,\n progressCallback,\n false,\n originEncryptTxidForSpendabilityOverride,\n );\n};\n"]}
1
+ {"version":3,"file":"tx-generator.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-generator.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DopWallet,\n TransactionBatch,\n AdaptID,\n OutputType,\n getTokenDataERC20,\n getTokenDataNFT,\n ERC721_NOTE_VALUE,\n NFTTokenData,\n DopVersionedSmartContracts,\n TransactionStructV2,\n TransactionStructV3,\n RelayAdaptVersionedSmartContracts,\n} from 'dop-engine-v5';\nimport {\n DopERC20Amount,\n DopERC20AmountRecipient,\n NetworkName,\n NETWORK_CONFIG,\n ProofType,\n DopNFTAmountRecipient,\n NFTTokenType,\n TXIDVersion,\n} from 'dop-sharedmodels-v5';\nimport {\n erc20NoteFromERC20AmountRecipient,\n nftNoteFromNFTAmountRecipient,\n} from './tx-notes';\nimport { getProver } from '../dop/core/prover';\nimport {\n assertValidEthAddress,\n assertValidDopAddress,\n fullWalletForID,\n walletForID,\n} from '../dop/wallets/wallets';\nimport { assertNotBlockedAddress } from '../../utils/blocked-address';\nimport { shouldSetOverallBatchMinGasPriceForNetwork } from '../../utils/gas-price';\nimport { ContractTransaction } from 'ethers';\n\nconst DUMMY_AMOUNT = 0n;\nexport const DUMMY_FROM_ADDRESS = '0x000000000000000000000000000000000000dEaD';\n\nexport type GenerateTransactionsProgressCallback = (\n progress: number,\n status: string,\n) => void;\n\nexport const generateProofTransactions = async (\n proofType: ProofType,\n networkName: NetworkName,\n dopWalletID: string,\n txidVersion: TXIDVersion,\n encryptionKey: string,\n showSenderAddressToRecipient: boolean,\n memoText: Optional<string>,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n broadcasterFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>,\n sendWithPublicWallet: boolean,\n relayAdaptID: Optional<AdaptID>,\n useDummyProof: boolean,\n overallBatchMinGasPrice: Optional<bigint>,\n progressCallback: GenerateTransactionsProgressCallback,\n originEncryptTxidForSpendabilityOverride?: string,\n): Promise<{\n provedTransactions: (TransactionStructV2 | TransactionStructV3)[];\n}> => {\n const dopWallet = fullWalletForID(dopWalletID);\n\n console.log(\"dopWallet\", dopWallet)\n\n const txs = await transactionsFromERC20Amounts(\n proofType,\n erc20AmountRecipients,\n nftAmountRecipients,\n dopWallet,\n txidVersion,\n encryptionKey,\n showSenderAddressToRecipient,\n memoText,\n networkName,\n broadcasterFeeERC20AmountRecipient,\n sendWithPublicWallet,\n relayAdaptID,\n useDummyProof,\n overallBatchMinGasPrice,\n progressCallback,\n originEncryptTxidForSpendabilityOverride,\n );\n return txs;\n};\n\nexport const nullifiersForTransactions = (\n transactions: (TransactionStructV2 | TransactionStructV3)[],\n): string[] => {\n return transactions\n .map(transaction => transaction.nullifiers)\n .flat() as string[];\n};\n\nexport const createDummyBroadcasterFeeERC20Amount = (feeTokenAddress: string) => {\n const broadcasterFeeERC20Amount: DopERC20Amount = {\n tokenAddress: feeTokenAddress,\n amount: DUMMY_AMOUNT,\n };\n return broadcasterFeeERC20Amount;\n};\n\nexport const generateDummyProofTransactions = async (\n proofType: ProofType,\n networkName: NetworkName,\n dopWalletID: string,\n txidVersion: TXIDVersion,\n encryptionKey: string,\n showSenderAddressToRecipient: boolean,\n memoText: Optional<string>,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n broadcasterFeeERC20Amount: Optional<DopERC20Amount>,\n sendWithPublicWallet: boolean,\n overallBatchMinGasPrice: Optional<bigint>,\n originEncryptTxidForSpendabilityOverride?: string,\n): Promise<(TransactionStructV2 | TransactionStructV3)[]> => {\n if (!broadcasterFeeERC20Amount && !sendWithPublicWallet) {\n throw new Error('Must send with broadcaster or public wallet.');\n }\n\n const dopWallet = walletForID(dopWalletID);\n\n // Use self-wallet as dummy broadcaster address.\n const broadcasterDopAddress = dopWallet.getAddress(undefined);\n\n const broadcasterFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient> =\n broadcasterFeeERC20Amount\n ? {\n ...broadcasterFeeERC20Amount,\n recipientAddress: broadcasterDopAddress,\n }\n : undefined;\n\n return (\n await generateProofTransactions(\n proofType,\n networkName,\n dopWalletID,\n txidVersion,\n encryptionKey,\n showSenderAddressToRecipient,\n memoText,\n erc20AmountRecipients,\n nftAmountRecipients,\n broadcasterFeeERC20AmountRecipient,\n sendWithPublicWallet,\n undefined, // relayAdaptID\n true, // useDummyProof\n overallBatchMinGasPrice,\n () => {}, // progressCallback (not necessary for dummy txs)\n originEncryptTxidForSpendabilityOverride,\n )\n ).provedTransactions;\n};\n\nexport const generateTransact = async (\n txidVersion: TXIDVersion,\n txs: (TransactionStructV2 | TransactionStructV3)[],\n networkName: NetworkName,\n value: bigint,\n useDummyProof = false,\n): Promise<ContractTransaction> => {\n const chain = NETWORK_CONFIG[networkName].chain;\n const transaction = await DopVersionedSmartContracts.generateTransact(\n txidVersion,\n chain,\n txs,\n );\n if (useDummyProof) {\n return {\n ...transaction,\n from: DUMMY_FROM_ADDRESS,\n value,\n };\n }\n return transaction;\n};\n\nexport const generateDecryptBaseToken = async (\n txidVersion: TXIDVersion,\n txs: (TransactionStructV2 | TransactionStructV3)[],\n networkName: NetworkName,\n toWalletAddress: string,\n relayAdaptParamsRandom: string,\n useDummyProof = false,\n): Promise<ContractTransaction> => {\n assertValidEthAddress(toWalletAddress);\n assertNotBlockedAddress(toWalletAddress);\n\n const chain = NETWORK_CONFIG[networkName].chain;\n\n const transaction =\n await RelayAdaptVersionedSmartContracts.populateDecryptBaseToken(\n txidVersion,\n chain,\n txs,\n toWalletAddress,\n relayAdaptParamsRandom,\n );\n if (useDummyProof) {\n return {\n ...transaction,\n from: DUMMY_FROM_ADDRESS,\n };\n }\n return transaction;\n};\n\nconst transactionsFromERC20Amounts = async (\n proofType: ProofType,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n dopWallet: DopWallet,\n txidVersion: TXIDVersion,\n encryptionKey: string,\n showSenderAddressToRecipient: boolean,\n memoText: Optional<string>,\n networkName: NetworkName,\n broadcasterFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>,\n sendWithPublicWallet: boolean,\n relayAdaptID: Optional<AdaptID>,\n useDummyProof: boolean,\n overallBatchMinGasPrice: Optional<bigint>,\n progressCallback: GenerateTransactionsProgressCallback,\n originEncryptTxidForSpendabilityOverride?: string,\n): Promise<{\n provedTransactions: (TransactionStructV2 | TransactionStructV3)[];\n}> => {\n const network = NETWORK_CONFIG[networkName];\n const { chain } = network;\n\n\n // Removes overallBatchMinGasPrice for L2 networks and non-Broadcaster transactions.\n const validatedOverallBatchMinGasPrice =\n shouldSetOverallBatchMinGasPriceForNetwork(\n sendWithPublicWallet,\n networkName,\n )\n ? BigInt(overallBatchMinGasPrice ?? 0)\n : BigInt(0);\n\n const transactionBatch = new TransactionBatch(\n chain,\n validatedOverallBatchMinGasPrice,\n );\n console.log(\"transactionBatch 0: \", transactionBatch)\n\n if (relayAdaptID) {\n transactionBatch.setAdaptID(relayAdaptID);\n }\n\n if (broadcasterFeeERC20AmountRecipient && !sendWithPublicWallet) {\n assertValidDopAddress(broadcasterFeeERC20AmountRecipient.recipientAddress);\n\n // Add Broadcaster Fee - must be first transaction in the batch, and first output for the transaction.\n transactionBatch.addOutput(\n erc20NoteFromERC20AmountRecipient(\n broadcasterFeeERC20AmountRecipient,\n dopWallet,\n OutputType.BroadcasterFee,\n false, // showSenderAddressToRecipient - never show sender for Broadcaster fees\n undefined, // memoText\n ),\n );\n }\n\n\n nftAmountRecipients.forEach(\n (nftAmountRecipient: DopNFTAmountRecipient) => {\n addTransactionOutputsNFT(\n proofType,\n transactionBatch,\n nftAmountRecipient,\n dopWallet,\n showSenderAddressToRecipient,\n memoText,\n );\n },\n );\n\n console.log(\"transactionBatch 11: \", transactionBatch)\n\n erc20AmountRecipients.forEach(\n (erc20AmountRecipient: DopERC20AmountRecipient) => {\n addTransactionOutputsERC20(\n proofType,\n transactionBatch,\n erc20AmountRecipient,\n dopWallet,\n showSenderAddressToRecipient,\n memoText,\n );\n },\n );\n\n console.log(\"transactionBatch 22: \", transactionBatch)\n\n const txBatches = await generateAllProofs(\n transactionBatch,\n dopWallet,\n txidVersion,\n encryptionKey,\n useDummyProof,\n progressCallback,\n originEncryptTxidForSpendabilityOverride,\n );\n console.log(\"txBatches 0: \", txBatches)\n\n return txBatches;\n};\n\nconst addTransactionOutputsERC20 = (\n proofType: ProofType,\n transactionBatch: TransactionBatch,\n erc20AmountRecipient: DopERC20AmountRecipient,\n dopWallet: DopWallet,\n showSenderAddressToRecipient: boolean,\n memoText: Optional<string>,\n) => {\n switch (proofType) {\n case ProofType.Transfer: {\n addTransactionOutputsTransferERC20(\n transactionBatch,\n erc20AmountRecipient,\n dopWallet,\n showSenderAddressToRecipient,\n memoText,\n );\n break;\n }\n case ProofType.CrossContractCalls:\n case ProofType.DecryptBaseToken:\n case ProofType.Decrypt: {\n addTransactionOutputsDecryptERC20(\n transactionBatch,\n erc20AmountRecipient,\n false, // allowOverride\n );\n break;\n }\n }\n};\n\nconst addTransactionOutputsNFT = (\n proofType: ProofType,\n transactionBatch: TransactionBatch,\n nftAmountRecipient: DopNFTAmountRecipient,\n dopWallet: DopWallet,\n showSenderAddressToRecipient: boolean,\n memoText: Optional<string>,\n) => {\n switch (proofType) {\n case ProofType.Transfer: {\n addTransactionOutputsTransferNFT(\n transactionBatch,\n nftAmountRecipient,\n dopWallet,\n showSenderAddressToRecipient,\n memoText,\n );\n break;\n }\n case ProofType.CrossContractCalls:\n case ProofType.DecryptBaseToken:\n case ProofType.Decrypt: {\n addTransactionOutputsDecryptNFT(\n transactionBatch,\n nftAmountRecipient,\n false, // allowOverride\n );\n break;\n }\n }\n};\n\nconst addTransactionOutputsTransferERC20 = (\n transactionBatch: TransactionBatch,\n erc20AmountRecipient: DopERC20AmountRecipient,\n dopWallet: DopWallet,\n showSenderAddressToRecipient: boolean,\n memoText: Optional<string>,\n) => {\n assertValidDopAddress(erc20AmountRecipient.recipientAddress);\n\n transactionBatch.addOutput(\n erc20NoteFromERC20AmountRecipient(\n erc20AmountRecipient,\n dopWallet,\n OutputType.Transfer,\n showSenderAddressToRecipient,\n memoText,\n ),\n );\n};\n\nconst addTransactionOutputsDecryptERC20 = (\n transactionBatch: TransactionBatch,\n erc20AmountRecipient: DopERC20AmountRecipient,\n allowOverride?: boolean,\n) => {\n const { recipientAddress, amount } = erc20AmountRecipient;\n\n assertValidEthAddress(recipientAddress);\n assertNotBlockedAddress(recipientAddress);\n\n const tokenData = getTokenDataERC20(erc20AmountRecipient.tokenAddress);\n\n transactionBatch.addDecryptData({\n toAddress: erc20AmountRecipient.recipientAddress,\n value: amount,\n tokenData,\n allowOverride,\n });\n};\n\nconst addTransactionOutputsTransferNFT = (\n transactionBatch: TransactionBatch,\n nftAmountRecipient: DopNFTAmountRecipient,\n dopWallet: DopWallet,\n showSenderAddressToRecipient: boolean,\n memoText: Optional<string>,\n) => {\n assertValidDopAddress(nftAmountRecipient.recipientAddress);\n\n transactionBatch.addOutput(\n nftNoteFromNFTAmountRecipient(\n nftAmountRecipient,\n dopWallet,\n showSenderAddressToRecipient,\n memoText,\n ),\n );\n};\n\nconst addTransactionOutputsDecryptNFT = (\n transactionBatch: TransactionBatch,\n nftAmountRecipient: DopNFTAmountRecipient,\n allowOverride?: boolean,\n) => {\n const { recipientAddress, nftAddress, tokenSubID, nftTokenType, amount } =\n nftAmountRecipient;\n\n assertValidEthAddress(recipientAddress);\n assertNotBlockedAddress(recipientAddress);\n\n const tokenData: NFTTokenData = getTokenDataNFT(\n nftAddress,\n nftTokenType as 1 | 2,\n tokenSubID,\n );\n\n const value: bigint =\n nftTokenType === NFTTokenType.ERC721 ? ERC721_NOTE_VALUE : amount;\n\n transactionBatch.addDecryptData({\n toAddress: recipientAddress,\n value,\n tokenData,\n allowOverride,\n });\n};\n\nconst generateAllProofs = async (\n transactionBatch: TransactionBatch,\n dopWallet: DopWallet,\n txidVersion: TXIDVersion,\n encryptionKey: string,\n useDummyProof: boolean,\n progressCallback: GenerateTransactionsProgressCallback,\n originEncryptTxidForSpendabilityOverride?: string,\n): Promise<{\n provedTransactions: (TransactionStructV2 | TransactionStructV3)[];\n}> => {\n const prover = getProver();\n if (useDummyProof) {\n return {\n provedTransactions: await transactionBatch.generateDummyTransactions(\n prover,\n dopWallet,\n txidVersion,\n encryptionKey,\n originEncryptTxidForSpendabilityOverride,\n ),\n };\n }\n return transactionBatch.generateTransactions(\n prover,\n dopWallet,\n txidVersion,\n encryptionKey,\n progressCallback,\n false,\n originEncryptTxidForSpendabilityOverride,\n );\n};\n"]}
@@ -1,5 +1,5 @@
1
- import { OutputType, TransactNote, DopWallet } from 'dop-engine-v3';
2
- import { DopNFTAmountRecipient, DopERC20Amount, DopERC20AmountRecipient, DopNFTAmount, DopERC20Recipient } from 'dop-sharedmodels-v3';
1
+ import { OutputType, TransactNote, DopWallet } from 'dop-engine-v5';
2
+ import { DopNFTAmountRecipient, DopERC20Amount, DopERC20AmountRecipient, DopNFTAmount, DopERC20Recipient } from 'dop-sharedmodels-v5';
3
3
  export declare const erc20NoteFromERC20AmountRecipient: (erc20AmountRecipient: DopERC20AmountRecipient, dopWallet: DopWallet, outputType: OutputType, showSenderAddressToRecipient: boolean, memoText: Optional<string>) => TransactNote;
4
4
  export declare const nftNoteFromNFTAmountRecipient: (nftAmountRecipient: DopNFTAmountRecipient, dopWallet: DopWallet, showSenderAddressToRecipient: boolean, memoText: Optional<string>) => TransactNote;
5
5
  export declare const compareERC20AmountRecipients: (a: Optional<DopERC20AmountRecipient>, b: Optional<DopERC20AmountRecipient>) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"tx-notes.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-notes.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n OutputType,\n TransactNote,\n DopWallet,\n DopEngine,\n getTokenDataERC20,\n getTokenDataNFT,\n} from 'dop-engine-v3';\nimport {\n NFTTokenType,\n DopNFTAmountRecipient,\n DopERC20Amount,\n DopERC20AmountRecipient,\n DopNFTAmount,\n DopERC20Recipient,\n} from 'dop-sharedmodels-v3';\n\nexport const erc20NoteFromERC20AmountRecipient = (\n erc20AmountRecipient: DopERC20AmountRecipient,\n dopWallet: DopWallet,\n outputType: OutputType,\n showSenderAddressToRecipient: boolean,\n memoText: Optional<string>,\n): TransactNote => {\n const { amount, recipientAddress } = erc20AmountRecipient;\n\n const receiverAddressData = DopEngine.decodeAddress(recipientAddress);\n\n const tokenData = getTokenDataERC20(erc20AmountRecipient.tokenAddress);\n\n return TransactNote.createTransfer(\n receiverAddressData,\n dopWallet.addressKeys,\n amount,\n tokenData,\n showSenderAddressToRecipient,\n outputType,\n memoText,\n );\n};\n\nexport const nftNoteFromNFTAmountRecipient = (\n nftAmountRecipient: DopNFTAmountRecipient,\n dopWallet: DopWallet,\n showSenderAddressToRecipient: boolean,\n memoText: Optional<string>,\n): TransactNote => {\n const { recipientAddress, nftAddress, nftTokenType, tokenSubID, amount } =\n nftAmountRecipient;\n\n const receiverAddressData = DopEngine.decodeAddress(recipientAddress);\n\n const tokenData = getTokenDataNFT(\n nftAddress,\n nftTokenType as 1 | 2,\n tokenSubID,\n );\n\n switch (nftTokenType) {\n case NFTTokenType.ERC721:\n return TransactNote.createERC721Transfer(\n receiverAddressData,\n dopWallet.addressKeys,\n tokenData,\n showSenderAddressToRecipient,\n memoText,\n );\n case NFTTokenType.ERC1155:\n return TransactNote.createERC1155Transfer(\n receiverAddressData,\n dopWallet.addressKeys,\n tokenData,\n BigInt(amount),\n showSenderAddressToRecipient,\n memoText,\n );\n }\n};\n\nconst compareERC20Amounts = (\n a: Optional<DopERC20Amount>,\n b: Optional<DopERC20Amount>,\n) => {\n return a?.tokenAddress === b?.tokenAddress && a?.amount === b?.amount;\n};\n\nexport const compareERC20AmountRecipients = (\n a: Optional<DopERC20AmountRecipient>,\n b: Optional<DopERC20AmountRecipient>,\n) => {\n return (\n compareERC20Amounts(a, b) && a?.recipientAddress === b?.recipientAddress\n );\n};\n\nexport const compareERC20AmountArrays = (\n a: Optional<DopERC20Amount[]>,\n b: Optional<DopERC20Amount[]>,\n) => {\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n for (const erc20Amount of a) {\n const found = b.find(ta => ta.tokenAddress === erc20Amount.tokenAddress);\n if (!found) {\n return false;\n }\n if (found.amount !== erc20Amount.amount) {\n return false;\n }\n }\n return true;\n};\n\nexport const compareERC20AmountRecipientArrays = (\n a: Optional<DopERC20AmountRecipient[]>,\n b: Optional<DopERC20AmountRecipient[]>,\n) => {\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n for (const erc20Amount of a) {\n const found = b.find(\n ta =>\n ta.tokenAddress === erc20Amount.tokenAddress &&\n ta.recipientAddress === erc20Amount.recipientAddress,\n );\n if (!found) {\n return false;\n }\n if (found.amount !== erc20Amount.amount) {\n return false;\n }\n }\n return true;\n};\n\nexport const compareERC20RecipientArrays = (\n a: Optional<DopERC20Recipient[]>,\n b: Optional<DopERC20Recipient[]>,\n) => {\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n for (const erc20Recipient of a) {\n const found =\n b.find(\n ta =>\n ta.tokenAddress === erc20Recipient.tokenAddress &&\n ta.recipientAddress === erc20Recipient.recipientAddress,\n ) != null;\n if (!found) {\n return false;\n }\n }\n return true;\n};\n\nexport const compareNFTAmountArrays = (\n a: Optional<DopNFTAmount[]>,\n b: Optional<DopNFTAmount[]>,\n) => {\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n for (const nftAmountRecipient of a) {\n const found = b.find(\n ta =>\n ta.nftAddress === nftAmountRecipient.nftAddress &&\n ta.tokenSubID === nftAmountRecipient.tokenSubID,\n );\n if (!found) {\n return false;\n }\n if (found.nftTokenType !== nftAmountRecipient.nftTokenType) {\n return false;\n }\n if (found.amount !== nftAmountRecipient.amount) {\n return false;\n }\n }\n return true;\n};\n\nexport const compareNFTAmountRecipientArrays = (\n a: Optional<DopNFTAmountRecipient[]>,\n b: Optional<DopNFTAmountRecipient[]>,\n) => {\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n for (const nftAmountRecipient of a) {\n const found = b.find(\n ta =>\n ta.nftAddress === nftAmountRecipient.nftAddress &&\n ta.tokenSubID === nftAmountRecipient.tokenSubID,\n );\n if (!found) {\n return false;\n }\n if (found.nftTokenType !== nftAmountRecipient.nftTokenType) {\n return false;\n }\n if (found.recipientAddress !== nftAmountRecipient.recipientAddress) {\n return false;\n }\n if (found.amount !== nftAmountRecipient.amount) {\n return false;\n }\n }\n return true;\n};\n\nexport { TransactNote };\n"]}
1
+ {"version":3,"file":"tx-notes.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-notes.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n OutputType,\n TransactNote,\n DopWallet,\n DopEngine,\n getTokenDataERC20,\n getTokenDataNFT,\n} from 'dop-engine-v5';\nimport {\n NFTTokenType,\n DopNFTAmountRecipient,\n DopERC20Amount,\n DopERC20AmountRecipient,\n DopNFTAmount,\n DopERC20Recipient,\n} from 'dop-sharedmodels-v5';\n\nexport const erc20NoteFromERC20AmountRecipient = (\n erc20AmountRecipient: DopERC20AmountRecipient,\n dopWallet: DopWallet,\n outputType: OutputType,\n showSenderAddressToRecipient: boolean,\n memoText: Optional<string>,\n): TransactNote => {\n const { amount, recipientAddress } = erc20AmountRecipient;\n\n const receiverAddressData = DopEngine.decodeAddress(recipientAddress);\n\n const tokenData = getTokenDataERC20(erc20AmountRecipient.tokenAddress);\n\n return TransactNote.createTransfer(\n receiverAddressData,\n dopWallet.addressKeys,\n amount,\n tokenData,\n showSenderAddressToRecipient,\n outputType,\n memoText,\n );\n};\n\nexport const nftNoteFromNFTAmountRecipient = (\n nftAmountRecipient: DopNFTAmountRecipient,\n dopWallet: DopWallet,\n showSenderAddressToRecipient: boolean,\n memoText: Optional<string>,\n): TransactNote => {\n const { recipientAddress, nftAddress, nftTokenType, tokenSubID, amount } =\n nftAmountRecipient;\n\n const receiverAddressData = DopEngine.decodeAddress(recipientAddress);\n\n const tokenData = getTokenDataNFT(\n nftAddress,\n nftTokenType as 1 | 2,\n tokenSubID,\n );\n\n switch (nftTokenType) {\n case NFTTokenType.ERC721:\n return TransactNote.createERC721Transfer(\n receiverAddressData,\n dopWallet.addressKeys,\n tokenData,\n showSenderAddressToRecipient,\n memoText,\n );\n case NFTTokenType.ERC1155:\n return TransactNote.createERC1155Transfer(\n receiverAddressData,\n dopWallet.addressKeys,\n tokenData,\n BigInt(amount),\n showSenderAddressToRecipient,\n memoText,\n );\n }\n};\n\nconst compareERC20Amounts = (\n a: Optional<DopERC20Amount>,\n b: Optional<DopERC20Amount>,\n) => {\n return a?.tokenAddress === b?.tokenAddress && a?.amount === b?.amount;\n};\n\nexport const compareERC20AmountRecipients = (\n a: Optional<DopERC20AmountRecipient>,\n b: Optional<DopERC20AmountRecipient>,\n) => {\n return (\n compareERC20Amounts(a, b) && a?.recipientAddress === b?.recipientAddress\n );\n};\n\nexport const compareERC20AmountArrays = (\n a: Optional<DopERC20Amount[]>,\n b: Optional<DopERC20Amount[]>,\n) => {\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n for (const erc20Amount of a) {\n const found = b.find(ta => ta.tokenAddress === erc20Amount.tokenAddress);\n if (!found) {\n return false;\n }\n if (found.amount !== erc20Amount.amount) {\n return false;\n }\n }\n return true;\n};\n\nexport const compareERC20AmountRecipientArrays = (\n a: Optional<DopERC20AmountRecipient[]>,\n b: Optional<DopERC20AmountRecipient[]>,\n) => {\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n for (const erc20Amount of a) {\n const found = b.find(\n ta =>\n ta.tokenAddress === erc20Amount.tokenAddress &&\n ta.recipientAddress === erc20Amount.recipientAddress,\n );\n if (!found) {\n return false;\n }\n if (found.amount !== erc20Amount.amount) {\n return false;\n }\n }\n return true;\n};\n\nexport const compareERC20RecipientArrays = (\n a: Optional<DopERC20Recipient[]>,\n b: Optional<DopERC20Recipient[]>,\n) => {\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n for (const erc20Recipient of a) {\n const found =\n b.find(\n ta =>\n ta.tokenAddress === erc20Recipient.tokenAddress &&\n ta.recipientAddress === erc20Recipient.recipientAddress,\n ) != null;\n if (!found) {\n return false;\n }\n }\n return true;\n};\n\nexport const compareNFTAmountArrays = (\n a: Optional<DopNFTAmount[]>,\n b: Optional<DopNFTAmount[]>,\n) => {\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n for (const nftAmountRecipient of a) {\n const found = b.find(\n ta =>\n ta.nftAddress === nftAmountRecipient.nftAddress &&\n ta.tokenSubID === nftAmountRecipient.tokenSubID,\n );\n if (!found) {\n return false;\n }\n if (found.nftTokenType !== nftAmountRecipient.nftTokenType) {\n return false;\n }\n if (found.amount !== nftAmountRecipient.amount) {\n return false;\n }\n }\n return true;\n};\n\nexport const compareNFTAmountRecipientArrays = (\n a: Optional<DopNFTAmountRecipient[]>,\n b: Optional<DopNFTAmountRecipient[]>,\n) => {\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n for (const nftAmountRecipient of a) {\n const found = b.find(\n ta =>\n ta.nftAddress === nftAmountRecipient.nftAddress &&\n ta.tokenSubID === nftAmountRecipient.tokenSubID,\n );\n if (!found) {\n return false;\n }\n if (found.nftTokenType !== nftAmountRecipient.nftTokenType) {\n return false;\n }\n if (found.recipientAddress !== nftAmountRecipient.recipientAddress) {\n return false;\n }\n if (found.amount !== nftAmountRecipient.amount) {\n return false;\n }\n }\n return true;\n};\n\nexport { TransactNote };\n"]}
@@ -1,2 +1,2 @@
1
- import { Chain, DopTxidFromNullifiersResponse, TXIDVersion } from 'dop-sharedmodels-v3';
1
+ import { Chain, DopTxidFromNullifiersResponse, TXIDVersion } from 'dop-sharedmodels-v5';
2
2
  export declare const getCompletedTxidFromNullifiers: (txidVersion: TXIDVersion, chain: Chain, nullifiers: string[]) => Promise<DopTxidFromNullifiersResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"tx-nullifiers.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-nullifiers.ts"],"names":[],"mappings":";;;AAKA,6CAA2D;AAC3D,+CAA+C;AAExC,MAAM,8BAA8B,GAAG,KAAK,EACjD,WAAwB,EACxB,KAAY,EACZ,UAAoB,EACoB,EAAE;IAC1C,IAAI;QACF,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;QAC3B,MAAM,IAAI,GAAqB,MAAM,MAAM,CAAC,8BAA8B,CACxE,WAAW,EACX,KAAK,EACL,UAAU,CACX,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,CAAC;KACjB;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAA,8BAAsB,EAAC,sCAA8B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KACxE;AACH,CAAC,CAAC;AAhBW,QAAA,8BAA8B,kCAgBzC","sourcesContent":["import {\n Chain,\n DopTxidFromNullifiersResponse,\n TXIDVersion,\n} from 'dop-sharedmodels-v3';\nimport { reportAndSanitizeError } from '../../utils/error';\nimport { getEngine } from '../dop/core/engine';\n\nexport const getCompletedTxidFromNullifiers = async (\n txidVersion: TXIDVersion,\n chain: Chain,\n nullifiers: string[],\n): Promise<DopTxidFromNullifiersResponse> => {\n try {\n const engine = getEngine();\n const txid: Optional<string> = await engine.getCompletedTxidFromNullifiers(\n txidVersion,\n chain,\n nullifiers,\n );\n return { txid };\n } catch (err) {\n throw reportAndSanitizeError(getCompletedTxidFromNullifiers.name, err);\n }\n};\n"]}
1
+ {"version":3,"file":"tx-nullifiers.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-nullifiers.ts"],"names":[],"mappings":";;;AAKA,6CAA2D;AAC3D,+CAA+C;AAExC,MAAM,8BAA8B,GAAG,KAAK,EACjD,WAAwB,EACxB,KAAY,EACZ,UAAoB,EACoB,EAAE;IAC1C,IAAI;QACF,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;QAC3B,MAAM,IAAI,GAAqB,MAAM,MAAM,CAAC,8BAA8B,CACxE,WAAW,EACX,KAAK,EACL,UAAU,CACX,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,CAAC;KACjB;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAA,8BAAsB,EAAC,sCAA8B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KACxE;AACH,CAAC,CAAC;AAhBW,QAAA,8BAA8B,kCAgBzC","sourcesContent":["import {\n Chain,\n DopTxidFromNullifiersResponse,\n TXIDVersion,\n} from 'dop-sharedmodels-v5';\nimport { reportAndSanitizeError } from '../../utils/error';\nimport { getEngine } from '../dop/core/engine';\n\nexport const getCompletedTxidFromNullifiers = async (\n txidVersion: TXIDVersion,\n chain: Chain,\n nullifiers: string[],\n): Promise<DopTxidFromNullifiersResponse> => {\n try {\n const engine = getEngine();\n const txid: Optional<string> = await engine.getCompletedTxidFromNullifiers(\n txidVersion,\n chain,\n nullifiers,\n );\n return { txid };\n } catch (err) {\n throw reportAndSanitizeError(getCompletedTxidFromNullifiers.name, err);\n }\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { DopERC20Amount, NetworkName, DopERC20AmountRecipient, DopNFTAmountRecipient, TXIDVersion } from 'dop-sharedmodels-v3';
1
+ import { DopERC20Amount, NetworkName, DopERC20AmountRecipient, DopNFTAmountRecipient, TXIDVersion } from 'dop-sharedmodels-v5';
2
2
  import { GenerateTransactionsProgressCallback } from './tx-generator';
3
3
  export declare const generateDecryptProof: (txidVersion: TXIDVersion, networkName: NetworkName, dopWalletID: string, encryptionKey: string, erc20AmountRecipients: DopERC20AmountRecipient[], nftAmountRecipients: DopNFTAmountRecipient[], broadcasterFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>, sendWithPublicWallet: boolean, overallBatchMinGasPrice: Optional<bigint>, progressCallback: GenerateTransactionsProgressCallback, value: bigint) => Promise<void>;
4
4
  export declare const generateDecryptToOriginProof: (originalEncryptTxid: string, txidVersion: TXIDVersion, networkName: NetworkName, dopWalletID: string, encryptionKey: string, erc20AmountRecipients: DopERC20AmountRecipient[], nftAmountRecipients: DopNFTAmountRecipient[], progressCallback: GenerateTransactionsProgressCallback, value: bigint) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"tx-proof-decrypt.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-proof-decrypt.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DopERC20Amount,\n NetworkName,\n ProofType,\n DopERC20AmountRecipient,\n DopNFTAmountRecipient,\n TXIDVersion,\n NETWORK_CONFIG,\n} from 'dop-sharedmodels-v3';\nimport {\n GenerateTransactionsProgressCallback,\n generateDummyProofTransactions,\n generateProofTransactions,\n generateTransact,\n generateDecryptBaseToken,\n nullifiersForTransactions,\n} from './tx-generator';\nimport { assertValidEthAddress } from '../dop/wallets/wallets';\nimport { setCachedProvedTransaction } from './proof-cache';\nimport {\n AdaptID,\n RelayAdaptVersionedSmartContracts,\n ByteUtils,\n} from 'dop-engine-v3';\nimport { assertNotBlockedAddress } from '../../utils/blocked-address';\nimport { createRelayAdaptDecryptERC20AmountRecipients } from './tx-cross-contract-calls';\nimport { reportAndSanitizeError } from '../../utils/error';\n\nexport const generateDecryptProof = async (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n dopWalletID: string,\n encryptionKey: string,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n broadcasterFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>,\n sendWithPublicWallet: boolean,\n overallBatchMinGasPrice: Optional<bigint>,\n progressCallback: GenerateTransactionsProgressCallback,\n value:bigint,\n): Promise<void> => {\n try {\n setCachedProvedTransaction(undefined);\n\n console.log(\"pre provedTransactions\")\n\n const { provedTransactions, } =\n await generateProofTransactions(\n ProofType.Decrypt,\n networkName,\n dopWalletID,\n txidVersion,\n encryptionKey,\n false, // showSenderAddressToRecipient\n undefined, // memoText\n erc20AmountRecipients,\n nftAmountRecipients,\n broadcasterFeeERC20AmountRecipient,\n sendWithPublicWallet,\n undefined, // relayAdaptID\n false, // useDummyProof\n overallBatchMinGasPrice,\n progressCallback,\n );\n const transaction = await generateTransact(\n txidVersion,\n provedTransactions,\n networkName,\n value\n );\n\n const nullifiers = nullifiersForTransactions(provedTransactions);\n\n setCachedProvedTransaction({\n proofType: ProofType.Decrypt,\n txidVersion,\n dopWalletID,\n showSenderAddressToRecipient: false,\n memoText: undefined,\n erc20AmountRecipients,\n nftAmountRecipients,\n relayAdaptDecryptERC20Amounts: undefined,\n relayAdaptDecryptNFTAmounts: undefined,\n relayAdaptEncryptERC20Recipients: undefined,\n relayAdaptEncryptNFTRecipients: undefined,\n crossContractCalls: undefined,\n broadcasterFeeERC20AmountRecipient,\n transaction,\n sendWithPublicWallet,\n overallBatchMinGasPrice,\n nullifiers,\n });\n } catch (err) {\n throw reportAndSanitizeError(generateDecryptProof.name, err);\n }\n};\n\nexport const generateDecryptToOriginProof = async (\n originalEncryptTxid: string,\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n dopWalletID: string,\n encryptionKey: string,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n progressCallback: GenerateTransactionsProgressCallback,\n value:bigint,\n): Promise<void> => {\n try {\n setCachedProvedTransaction(undefined);\n\n const { provedTransactions, } =\n await generateProofTransactions(\n ProofType.Decrypt,\n networkName,\n dopWalletID,\n txidVersion,\n encryptionKey,\n false, // showSenderAddressToRecipient\n undefined, // memoText\n erc20AmountRecipients,\n nftAmountRecipients,\n undefined, // broadcasterFeeERC20AmountRecipient\n true, // sendWithPublicWallet\n undefined, // relayAdaptID\n false, // useDummyProof\n undefined, // overallBatchMinGasPrice\n progressCallback,\n originalEncryptTxid,\n );\n const transaction = await generateTransact(\n txidVersion,\n provedTransactions,\n networkName,\n value,\n );\n\n const nullifiers = nullifiersForTransactions(provedTransactions);\n\n setCachedProvedTransaction({\n proofType: ProofType.Decrypt,\n txidVersion,\n dopWalletID,\n showSenderAddressToRecipient: false,\n memoText: undefined,\n erc20AmountRecipients,\n nftAmountRecipients,\n relayAdaptDecryptERC20Amounts: undefined,\n relayAdaptDecryptNFTAmounts: undefined,\n relayAdaptEncryptERC20Recipients: undefined,\n relayAdaptEncryptNFTRecipients: undefined,\n crossContractCalls: undefined,\n broadcasterFeeERC20AmountRecipient: undefined,\n transaction,\n sendWithPublicWallet: true,\n overallBatchMinGasPrice: undefined,\n nullifiers,\n });\n } catch (err) {\n throw reportAndSanitizeError(generateDecryptProof.name, err);\n }\n};\n\nexport const generateDecryptBaseTokenProof = async (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n publicWalletAddress: string,\n dopWalletID: string,\n encryptionKey: string,\n wrappedERC20Amount: DopERC20Amount,\n broadcasterFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>,\n sendWithPublicWallet: boolean,\n overallBatchMinGasPrice: Optional<bigint>,\n progressCallback: GenerateTransactionsProgressCallback,\n): Promise<void> => {\n try {\n assertNotBlockedAddress(publicWalletAddress);\n assertValidEthAddress(publicWalletAddress);\n\n setCachedProvedTransaction(undefined);\n\n const erc20AmountRecipients: DopERC20AmountRecipient[] = [\n {\n ...wrappedERC20Amount,\n recipientAddress: publicWalletAddress,\n },\n ];\n\n const relayAdaptDecryptERC20Amounts: DopERC20Amount[] = [\n wrappedERC20Amount,\n ];\n\n const relayAdaptDecryptERC20AmountRecipients: DopERC20AmountRecipient[] =\n createRelayAdaptDecryptERC20AmountRecipients(txidVersion, networkName, [\n wrappedERC20Amount,\n ]);\n\n // Empty NFT recipients.\n const nftAmountRecipients: DopNFTAmountRecipient[] = [];\n const relayAdaptDecryptNFTAmountRecipients: DopNFTAmountRecipient[] =\n [];\n\n // Generate dummy txs for relay adapt params.\n const dummyTxs = await generateDummyProofTransactions(\n ProofType.DecryptBaseToken,\n networkName,\n dopWalletID,\n txidVersion,\n encryptionKey,\n false, // showSenderAddressToRecipient\n undefined, // memoText\n relayAdaptDecryptERC20AmountRecipients,\n relayAdaptDecryptNFTAmountRecipients,\n broadcasterFeeERC20AmountRecipient,\n sendWithPublicWallet,\n overallBatchMinGasPrice,\n );\n\n const { chain } = NETWORK_CONFIG[networkName];\n\n const relayAdaptParamsRandom = ByteUtils.randomHex(31);\n const relayAdaptParams =\n await RelayAdaptVersionedSmartContracts.getRelayAdaptParamsDecryptBaseToken(\n txidVersion,\n chain,\n dummyTxs,\n publicWalletAddress,\n relayAdaptParamsRandom,\n );\n const relayAdaptContract =\n RelayAdaptVersionedSmartContracts.getRelayAdaptContract(\n txidVersion,\n chain,\n );\n const relayAdaptID: AdaptID = {\n contract: relayAdaptContract.address,\n parameters: relayAdaptParams,\n };\n\n const showSenderAddressToRecipient = false;\n const memoText: Optional<string> = undefined;\n\n // Generate final txs with relay adapt ID.\n const { provedTransactions, } =\n await generateProofTransactions(\n ProofType.DecryptBaseToken,\n networkName,\n dopWalletID,\n txidVersion,\n encryptionKey,\n showSenderAddressToRecipient,\n memoText,\n relayAdaptDecryptERC20AmountRecipients,\n relayAdaptDecryptNFTAmountRecipients,\n broadcasterFeeERC20AmountRecipient,\n sendWithPublicWallet,\n relayAdaptID,\n false, // useDummyProof\n overallBatchMinGasPrice,\n progressCallback,\n );\n\n const transaction = await generateDecryptBaseToken(\n txidVersion,\n provedTransactions,\n networkName,\n publicWalletAddress,\n relayAdaptParamsRandom,\n false, // useDummyProof\n );\n\n const nullifiers = nullifiersForTransactions(provedTransactions);\n\n setCachedProvedTransaction({\n proofType: ProofType.DecryptBaseToken,\n txidVersion,\n dopWalletID,\n showSenderAddressToRecipient,\n memoText,\n erc20AmountRecipients,\n nftAmountRecipients,\n relayAdaptDecryptERC20Amounts,\n relayAdaptDecryptNFTAmounts: undefined,\n relayAdaptEncryptERC20Recipients: undefined,\n relayAdaptEncryptNFTRecipients: undefined,\n crossContractCalls: undefined,\n broadcasterFeeERC20AmountRecipient,\n sendWithPublicWallet,\n transaction,\n overallBatchMinGasPrice,\n nullifiers,\n });\n } catch (err) {\n throw reportAndSanitizeError(generateDecryptBaseTokenProof.name, err);\n }\n};\n"]}
1
+ {"version":3,"file":"tx-proof-decrypt.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-proof-decrypt.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DopERC20Amount,\n NetworkName,\n ProofType,\n DopERC20AmountRecipient,\n DopNFTAmountRecipient,\n TXIDVersion,\n NETWORK_CONFIG,\n} from 'dop-sharedmodels-v5';\nimport {\n GenerateTransactionsProgressCallback,\n generateDummyProofTransactions,\n generateProofTransactions,\n generateTransact,\n generateDecryptBaseToken,\n nullifiersForTransactions,\n} from './tx-generator';\nimport { assertValidEthAddress } from '../dop/wallets/wallets';\nimport { setCachedProvedTransaction } from './proof-cache';\nimport {\n AdaptID,\n RelayAdaptVersionedSmartContracts,\n ByteUtils,\n} from 'dop-engine-v5';\nimport { assertNotBlockedAddress } from '../../utils/blocked-address';\nimport { createRelayAdaptDecryptERC20AmountRecipients } from './tx-cross-contract-calls';\nimport { reportAndSanitizeError } from '../../utils/error';\n\nexport const generateDecryptProof = async (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n dopWalletID: string,\n encryptionKey: string,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n broadcasterFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>,\n sendWithPublicWallet: boolean,\n overallBatchMinGasPrice: Optional<bigint>,\n progressCallback: GenerateTransactionsProgressCallback,\n value:bigint,\n): Promise<void> => {\n try {\n setCachedProvedTransaction(undefined);\n\n console.log(\"pre provedTransactions\")\n\n const { provedTransactions, } =\n await generateProofTransactions(\n ProofType.Decrypt,\n networkName,\n dopWalletID,\n txidVersion,\n encryptionKey,\n false, // showSenderAddressToRecipient\n undefined, // memoText\n erc20AmountRecipients,\n nftAmountRecipients,\n broadcasterFeeERC20AmountRecipient,\n sendWithPublicWallet,\n undefined, // relayAdaptID\n false, // useDummyProof\n overallBatchMinGasPrice,\n progressCallback,\n );\n const transaction = await generateTransact(\n txidVersion,\n provedTransactions,\n networkName,\n value\n );\n\n const nullifiers = nullifiersForTransactions(provedTransactions);\n\n setCachedProvedTransaction({\n proofType: ProofType.Decrypt,\n txidVersion,\n dopWalletID,\n showSenderAddressToRecipient: false,\n memoText: undefined,\n erc20AmountRecipients,\n nftAmountRecipients,\n relayAdaptDecryptERC20Amounts: undefined,\n relayAdaptDecryptNFTAmounts: undefined,\n relayAdaptEncryptERC20Recipients: undefined,\n relayAdaptEncryptNFTRecipients: undefined,\n crossContractCalls: undefined,\n broadcasterFeeERC20AmountRecipient,\n transaction,\n sendWithPublicWallet,\n overallBatchMinGasPrice,\n nullifiers,\n });\n } catch (err) {\n throw reportAndSanitizeError(generateDecryptProof.name, err);\n }\n};\n\nexport const generateDecryptToOriginProof = async (\n originalEncryptTxid: string,\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n dopWalletID: string,\n encryptionKey: string,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n progressCallback: GenerateTransactionsProgressCallback,\n value:bigint,\n): Promise<void> => {\n try {\n setCachedProvedTransaction(undefined);\n\n const { provedTransactions, } =\n await generateProofTransactions(\n ProofType.Decrypt,\n networkName,\n dopWalletID,\n txidVersion,\n encryptionKey,\n false, // showSenderAddressToRecipient\n undefined, // memoText\n erc20AmountRecipients,\n nftAmountRecipients,\n undefined, // broadcasterFeeERC20AmountRecipient\n true, // sendWithPublicWallet\n undefined, // relayAdaptID\n false, // useDummyProof\n undefined, // overallBatchMinGasPrice\n progressCallback,\n originalEncryptTxid,\n );\n const transaction = await generateTransact(\n txidVersion,\n provedTransactions,\n networkName,\n value,\n );\n\n const nullifiers = nullifiersForTransactions(provedTransactions);\n\n setCachedProvedTransaction({\n proofType: ProofType.Decrypt,\n txidVersion,\n dopWalletID,\n showSenderAddressToRecipient: false,\n memoText: undefined,\n erc20AmountRecipients,\n nftAmountRecipients,\n relayAdaptDecryptERC20Amounts: undefined,\n relayAdaptDecryptNFTAmounts: undefined,\n relayAdaptEncryptERC20Recipients: undefined,\n relayAdaptEncryptNFTRecipients: undefined,\n crossContractCalls: undefined,\n broadcasterFeeERC20AmountRecipient: undefined,\n transaction,\n sendWithPublicWallet: true,\n overallBatchMinGasPrice: undefined,\n nullifiers,\n });\n } catch (err) {\n throw reportAndSanitizeError(generateDecryptProof.name, err);\n }\n};\n\nexport const generateDecryptBaseTokenProof = async (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n publicWalletAddress: string,\n dopWalletID: string,\n encryptionKey: string,\n wrappedERC20Amount: DopERC20Amount,\n broadcasterFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>,\n sendWithPublicWallet: boolean,\n overallBatchMinGasPrice: Optional<bigint>,\n progressCallback: GenerateTransactionsProgressCallback,\n): Promise<void> => {\n try {\n assertNotBlockedAddress(publicWalletAddress);\n assertValidEthAddress(publicWalletAddress);\n\n setCachedProvedTransaction(undefined);\n\n const erc20AmountRecipients: DopERC20AmountRecipient[] = [\n {\n ...wrappedERC20Amount,\n recipientAddress: publicWalletAddress,\n },\n ];\n\n const relayAdaptDecryptERC20Amounts: DopERC20Amount[] = [\n wrappedERC20Amount,\n ];\n\n const relayAdaptDecryptERC20AmountRecipients: DopERC20AmountRecipient[] =\n createRelayAdaptDecryptERC20AmountRecipients(txidVersion, networkName, [\n wrappedERC20Amount,\n ]);\n\n // Empty NFT recipients.\n const nftAmountRecipients: DopNFTAmountRecipient[] = [];\n const relayAdaptDecryptNFTAmountRecipients: DopNFTAmountRecipient[] =\n [];\n\n // Generate dummy txs for relay adapt params.\n const dummyTxs = await generateDummyProofTransactions(\n ProofType.DecryptBaseToken,\n networkName,\n dopWalletID,\n txidVersion,\n encryptionKey,\n false, // showSenderAddressToRecipient\n undefined, // memoText\n relayAdaptDecryptERC20AmountRecipients,\n relayAdaptDecryptNFTAmountRecipients,\n broadcasterFeeERC20AmountRecipient,\n sendWithPublicWallet,\n overallBatchMinGasPrice,\n );\n\n const { chain } = NETWORK_CONFIG[networkName];\n\n const relayAdaptParamsRandom = ByteUtils.randomHex(31);\n const relayAdaptParams =\n await RelayAdaptVersionedSmartContracts.getRelayAdaptParamsDecryptBaseToken(\n txidVersion,\n chain,\n dummyTxs,\n publicWalletAddress,\n relayAdaptParamsRandom,\n );\n const relayAdaptContract =\n RelayAdaptVersionedSmartContracts.getRelayAdaptContract(\n txidVersion,\n chain,\n );\n const relayAdaptID: AdaptID = {\n contract: relayAdaptContract.address,\n parameters: relayAdaptParams,\n };\n\n const showSenderAddressToRecipient = false;\n const memoText: Optional<string> = undefined;\n\n // Generate final txs with relay adapt ID.\n const { provedTransactions, } =\n await generateProofTransactions(\n ProofType.DecryptBaseToken,\n networkName,\n dopWalletID,\n txidVersion,\n encryptionKey,\n showSenderAddressToRecipient,\n memoText,\n relayAdaptDecryptERC20AmountRecipients,\n relayAdaptDecryptNFTAmountRecipients,\n broadcasterFeeERC20AmountRecipient,\n sendWithPublicWallet,\n relayAdaptID,\n false, // useDummyProof\n overallBatchMinGasPrice,\n progressCallback,\n );\n\n const transaction = await generateDecryptBaseToken(\n txidVersion,\n provedTransactions,\n networkName,\n publicWalletAddress,\n relayAdaptParamsRandom,\n false, // useDummyProof\n );\n\n const nullifiers = nullifiersForTransactions(provedTransactions);\n\n setCachedProvedTransaction({\n proofType: ProofType.DecryptBaseToken,\n txidVersion,\n dopWalletID,\n showSenderAddressToRecipient,\n memoText,\n erc20AmountRecipients,\n nftAmountRecipients,\n relayAdaptDecryptERC20Amounts,\n relayAdaptDecryptNFTAmounts: undefined,\n relayAdaptEncryptERC20Recipients: undefined,\n relayAdaptEncryptNFTRecipients: undefined,\n crossContractCalls: undefined,\n broadcasterFeeERC20AmountRecipient,\n sendWithPublicWallet,\n transaction,\n overallBatchMinGasPrice,\n nullifiers,\n });\n } catch (err) {\n throw reportAndSanitizeError(generateDecryptBaseTokenProof.name, err);\n }\n};\n"]}
@@ -1,3 +1,3 @@
1
- import { NetworkName, DopERC20AmountRecipient, DopNFTAmountRecipient, TXIDVersion } from 'dop-sharedmodels-v3';
1
+ import { NetworkName, DopERC20AmountRecipient, DopNFTAmountRecipient, TXIDVersion } from 'dop-sharedmodels-v5';
2
2
  import { GenerateTransactionsProgressCallback } from './tx-generator';
3
3
  export declare const generateTransferProof: (txidVersion: TXIDVersion, networkName: NetworkName, dopWalletID: string, encryptionKey: string, showSenderAddressToRecipient: boolean, memoText: Optional<string>, erc20AmountRecipients: DopERC20AmountRecipient[], nftAmountRecipients: DopNFTAmountRecipient[], broadcasterFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>, sendWithPublicWallet: boolean, overallBatchMinGasPrice: Optional<bigint>, progressCallback: GenerateTransactionsProgressCallback) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"tx-proof-transfer.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-proof-transfer.ts"],"names":[],"mappings":";;;AAAA,6DAM6B;AAC7B,iDAKwB;AACxB,+CAA2D;AAC3D,6CAA2D;AAEpD,MAAM,qBAAqB,GAAG,KAAK,EACxC,WAAwB,EACxB,WAAwB,EACxB,WAAmB,EACnB,aAAqB,EACrB,4BAAqC,EACrC,QAA0B,EAC1B,qBAAgD,EAChD,mBAA4C,EAC5C,kCAAqE,EACrE,oBAA6B,EAC7B,uBAAyC,EACzC,gBAAsD,EACvC,EAAE;IACjB,IAAI;QACF,IAAA,wCAA0B,EAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,EAAE,kBAAkB,EAAE,GAC1B,MAAM,IAAA,wCAAyB,EAC7B,+BAAS,CAAC,QAAQ,EAClB,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACb,4BAA4B,EAC5B,QAAQ,EACR,qBAAqB,EACrB,mBAAmB,EACnB,kCAAkC,EAClC,oBAAoB,EACpB,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,gBAAgB;QACvB,uBAAuB,EACvB,gBAAgB,CACjB,CAAC;QACJ,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAgB,EACxC,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,EAAE,CACH,CAAC;QAEF,MAAM,UAAU,GAAG,IAAA,wCAAyB,EAAC,kBAAkB,CAAC,CAAC;QAEjE,IAAA,wCAA0B,EAAC;YACzB,SAAS,EAAE,+BAAS,CAAC,QAAQ;YAC7B,WAAW;YACX,WAAW;YACX,4BAA4B;YAC5B,QAAQ;YACR,qBAAqB;YACrB,mBAAmB;YACnB,6BAA6B,EAAE,SAAS;YACxC,2BAA2B,EAAE,SAAS;YACtC,gCAAgC,EAAE,SAAS;YAC3C,8BAA8B,EAAE,SAAS;YACzC,kBAAkB,EAAE,SAAS;YAC7B,kCAAkC;YAClC,oBAAoB;YACpB,WAAW;YACX,uBAAuB;YACvB,UAAU;SACX,CAAC,CAAC;KACJ;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAA,8BAAsB,EAAC,6BAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KAC/D;AACH,CAAC,CAAC;AAlEW,QAAA,qBAAqB,yBAkEhC","sourcesContent":["import {\n NetworkName,\n ProofType,\n DopERC20AmountRecipient,\n DopNFTAmountRecipient,\n TXIDVersion,\n} from 'dop-sharedmodels-v3';\nimport {\n GenerateTransactionsProgressCallback,\n generateProofTransactions,\n generateTransact,\n nullifiersForTransactions,\n} from './tx-generator';\nimport { setCachedProvedTransaction } from './proof-cache';\nimport { reportAndSanitizeError } from '../../utils/error';\n\nexport const generateTransferProof = async (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n dopWalletID: string,\n encryptionKey: string,\n showSenderAddressToRecipient: boolean,\n memoText: Optional<string>,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n broadcasterFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>,\n sendWithPublicWallet: boolean,\n overallBatchMinGasPrice: Optional<bigint>,\n progressCallback: GenerateTransactionsProgressCallback,\n): Promise<void> => {\n try {\n setCachedProvedTransaction(undefined);\n\n const { provedTransactions } =\n await generateProofTransactions(\n ProofType.Transfer,\n networkName,\n dopWalletID,\n txidVersion,\n encryptionKey,\n showSenderAddressToRecipient,\n memoText,\n erc20AmountRecipients,\n nftAmountRecipients,\n broadcasterFeeERC20AmountRecipient,\n sendWithPublicWallet,\n undefined, // relayAdaptID\n false, // useDummyProof\n overallBatchMinGasPrice,\n progressCallback,\n );\n const transaction = await generateTransact(\n txidVersion,\n provedTransactions,\n networkName,\n 0n\n );\n\n const nullifiers = nullifiersForTransactions(provedTransactions);\n\n setCachedProvedTransaction({\n proofType: ProofType.Transfer,\n txidVersion,\n dopWalletID,\n showSenderAddressToRecipient,\n memoText,\n erc20AmountRecipients,\n nftAmountRecipients,\n relayAdaptDecryptERC20Amounts: undefined,\n relayAdaptDecryptNFTAmounts: undefined,\n relayAdaptEncryptERC20Recipients: undefined,\n relayAdaptEncryptNFTRecipients: undefined,\n crossContractCalls: undefined,\n broadcasterFeeERC20AmountRecipient,\n sendWithPublicWallet,\n transaction,\n overallBatchMinGasPrice,\n nullifiers,\n });\n } catch (err) {\n throw reportAndSanitizeError(generateTransferProof.name, err);\n }\n};\n"]}
1
+ {"version":3,"file":"tx-proof-transfer.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-proof-transfer.ts"],"names":[],"mappings":";;;AAAA,6DAM6B;AAC7B,iDAKwB;AACxB,+CAA2D;AAC3D,6CAA2D;AAEpD,MAAM,qBAAqB,GAAG,KAAK,EACxC,WAAwB,EACxB,WAAwB,EACxB,WAAmB,EACnB,aAAqB,EACrB,4BAAqC,EACrC,QAA0B,EAC1B,qBAAgD,EAChD,mBAA4C,EAC5C,kCAAqE,EACrE,oBAA6B,EAC7B,uBAAyC,EACzC,gBAAsD,EACvC,EAAE;IACjB,IAAI;QACF,IAAA,wCAA0B,EAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,EAAE,kBAAkB,EAAE,GAC1B,MAAM,IAAA,wCAAyB,EAC7B,+BAAS,CAAC,QAAQ,EAClB,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACb,4BAA4B,EAC5B,QAAQ,EACR,qBAAqB,EACrB,mBAAmB,EACnB,kCAAkC,EAClC,oBAAoB,EACpB,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,gBAAgB;QACvB,uBAAuB,EACvB,gBAAgB,CACjB,CAAC;QACJ,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAgB,EACxC,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,EAAE,CACH,CAAC;QAEF,MAAM,UAAU,GAAG,IAAA,wCAAyB,EAAC,kBAAkB,CAAC,CAAC;QAEjE,IAAA,wCAA0B,EAAC;YACzB,SAAS,EAAE,+BAAS,CAAC,QAAQ;YAC7B,WAAW;YACX,WAAW;YACX,4BAA4B;YAC5B,QAAQ;YACR,qBAAqB;YACrB,mBAAmB;YACnB,6BAA6B,EAAE,SAAS;YACxC,2BAA2B,EAAE,SAAS;YACtC,gCAAgC,EAAE,SAAS;YAC3C,8BAA8B,EAAE,SAAS;YACzC,kBAAkB,EAAE,SAAS;YAC7B,kCAAkC;YAClC,oBAAoB;YACpB,WAAW;YACX,uBAAuB;YACvB,UAAU;SACX,CAAC,CAAC;KACJ;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAA,8BAAsB,EAAC,6BAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KAC/D;AACH,CAAC,CAAC;AAlEW,QAAA,qBAAqB,yBAkEhC","sourcesContent":["import {\n NetworkName,\n ProofType,\n DopERC20AmountRecipient,\n DopNFTAmountRecipient,\n TXIDVersion,\n} from 'dop-sharedmodels-v5';\nimport {\n GenerateTransactionsProgressCallback,\n generateProofTransactions,\n generateTransact,\n nullifiersForTransactions,\n} from './tx-generator';\nimport { setCachedProvedTransaction } from './proof-cache';\nimport { reportAndSanitizeError } from '../../utils/error';\n\nexport const generateTransferProof = async (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n dopWalletID: string,\n encryptionKey: string,\n showSenderAddressToRecipient: boolean,\n memoText: Optional<string>,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n broadcasterFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>,\n sendWithPublicWallet: boolean,\n overallBatchMinGasPrice: Optional<bigint>,\n progressCallback: GenerateTransactionsProgressCallback,\n): Promise<void> => {\n try {\n setCachedProvedTransaction(undefined);\n\n const { provedTransactions } =\n await generateProofTransactions(\n ProofType.Transfer,\n networkName,\n dopWalletID,\n txidVersion,\n encryptionKey,\n showSenderAddressToRecipient,\n memoText,\n erc20AmountRecipients,\n nftAmountRecipients,\n broadcasterFeeERC20AmountRecipient,\n sendWithPublicWallet,\n undefined, // relayAdaptID\n false, // useDummyProof\n overallBatchMinGasPrice,\n progressCallback,\n );\n const transaction = await generateTransact(\n txidVersion,\n provedTransactions,\n networkName,\n 0n\n );\n\n const nullifiers = nullifiersForTransactions(provedTransactions);\n\n setCachedProvedTransaction({\n proofType: ProofType.Transfer,\n txidVersion,\n dopWalletID,\n showSenderAddressToRecipient,\n memoText,\n erc20AmountRecipients,\n nftAmountRecipients,\n relayAdaptDecryptERC20Amounts: undefined,\n relayAdaptDecryptNFTAmounts: undefined,\n relayAdaptEncryptERC20Recipients: undefined,\n relayAdaptEncryptNFTRecipients: undefined,\n crossContractCalls: undefined,\n broadcasterFeeERC20AmountRecipient,\n sendWithPublicWallet,\n transaction,\n overallBatchMinGasPrice,\n nullifiers,\n });\n } catch (err) {\n throw reportAndSanitizeError(generateTransferProof.name, err);\n }\n};\n"]}
@@ -1,3 +1,3 @@
1
- import { DopPopulateTransactionResponse, DopTransactionGasEstimateResponse, NetworkName, FeeTokenDetails, DopERC20AmountRecipient, DopNFTAmountRecipient, TransactionGasDetails, TXIDVersion } from 'dop-sharedmodels-v3';
1
+ import { DopPopulateTransactionResponse, DopTransactionGasEstimateResponse, NetworkName, FeeTokenDetails, DopERC20AmountRecipient, DopNFTAmountRecipient, TransactionGasDetails, TXIDVersion } from 'dop-sharedmodels-v5';
2
2
  export declare const populateProvedTransfer: (txidVersion: TXIDVersion, networkName: NetworkName, dopWalletID: string, showSenderAddressToRecipient: boolean, memoText: Optional<string>, erc20AmountRecipients: DopERC20AmountRecipient[], nftAmountRecipients: DopNFTAmountRecipient[], broadcasterFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>, sendWithPublicWallet: boolean, overallBatchMinGasPrice: Optional<bigint>, gasDetails: TransactionGasDetails) => Promise<DopPopulateTransactionResponse>;
3
3
  export declare const gasEstimateForUnprovenTransfer: (txidVersion: TXIDVersion, networkName: NetworkName, dopWalletID: string, encryptionKey: string, memoText: Optional<string>, erc20AmountRecipients: DopERC20AmountRecipient[], nftAmountRecipients: DopNFTAmountRecipient[], originalGasDetails: TransactionGasDetails, feeTokenDetails: Optional<FeeTokenDetails>, sendWithPublicWallet: boolean) => Promise<DopTransactionGasEstimateResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"tx-transfer.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-transfer.ts"],"names":[],"mappings":";;;AAAA,6DAW6B;AAC7B,iDAGwB;AACxB,+CAA0D;AAK1D,yFAA0G;AAC1G,6CAA2D;AAEpD,MAAM,sBAAsB,GAAG,KAAK,EACzC,WAAwB,EACxB,WAAwB,EACxB,WAAmB,EACnB,4BAAqC,EACrC,QAA0B,EAC1B,qBAAgD,EAChD,mBAA4C,EAC5C,kCAAqE,EACrE,oBAA6B,EAC7B,uBAAyC,EACzC,UAAiC,EACQ,EAAE;IAC3C,IAAI;QACF,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAC/B,MAAM,IAAA,uCAAyB,EAC7B,WAAW,EACX,WAAW,EACX,+BAAS,CAAC,QAAQ,EAClB,WAAW,EACX,4BAA4B,EAC5B,QAAQ,EACR,qBAAqB,EACrB,mBAAmB,EACnB,SAAS,EAAE,yCAAyC;QACpD,SAAS,EAAE,8BAA8B;QACzC,SAAS,EAAE,mCAAmC;QAC9C,SAAS,EAAE,iCAAiC;QAC5C,SAAS,EAAE,qBAAqB;QAChC,kCAAkC,EAClC,oBAAoB,EACpB,uBAAuB,EACvB,UAAU,CACX,CAAC;QACJ,OAAO;YACL,UAAU;YACV,WAAW;SACZ,CAAC;KACH;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAA,8BAAsB,EAAC,8BAAsB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KAChE;AACH,CAAC,CAAC;AAzCW,QAAA,sBAAsB,0BAyCjC;AAEK,MAAM,8BAA8B,GAAG,KAAK,EACjD,WAAwB,EACxB,WAAwB,EACxB,WAAmB,EACnB,aAAqB,EACrB,QAA0B,EAC1B,qBAAgD,EAChD,mBAA4C,EAC5C,kBAAyC,EACzC,eAA0C,EAC1C,oBAA6B,EACe,EAAE;IAC9C,IAAI;QACF,MAAM,uBAAuB,GAAG,EAAE,CAAC;QAEnC,MAAM,QAAQ,GAAG,MAAM,IAAA,uFAAoD,EACzE,CAAC,yBAAmD,EAAE,EAAE,CACtD,IAAA,6CAA8B,EAC5B,+BAAS,CAAC,QAAQ,EAClB,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACb,KAAK,EAAE,kEAAkE;QACzE,QAAQ,EACR,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,CACxB,EACH,CAAC,GAAkD,EAAE,EAAE,CACrD,IAAA,+BAAgB,EACd,WAAW,EACX,GAAG,EACH,WAAW,EACX,EAAE,EACF,IAAI,CACL,EACH,WAAW,EACX,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,KAAK,CACN,CAAC;QACF,OAAO,QAAQ,CAAC;KACjB;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAA,8BAAsB,EAAC,sCAA8B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KACxE;AACH,CAAC,CAAC;AApDW,QAAA,8BAA8B,kCAoDzC","sourcesContent":["import {\n DopPopulateTransactionResponse,\n DopTransactionGasEstimateResponse,\n DopERC20Amount,\n NetworkName,\n ProofType,\n FeeTokenDetails,\n DopERC20AmountRecipient,\n DopNFTAmountRecipient,\n TransactionGasDetails,\n TXIDVersion,\n} from 'dop-sharedmodels-v3';\nimport {\n generateDummyProofTransactions,\n generateTransact,\n} from './tx-generator';\nimport { populateProvedTransaction } from './proof-cache';\nimport {\n TransactionStructV2,\n TransactionStructV3,\n} from 'dop-engine-v3';\nimport { gasEstimateResponseDummyProofIterativeBroadcasterFee } from './tx-gas-broadcaster-fee-estimator';\nimport { reportAndSanitizeError } from '../../utils/error';\n\nexport const populateProvedTransfer = async (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n dopWalletID: string,\n showSenderAddressToRecipient: boolean,\n memoText: Optional<string>,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n broadcasterFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>,\n sendWithPublicWallet: boolean,\n overallBatchMinGasPrice: Optional<bigint>,\n gasDetails: TransactionGasDetails,\n): Promise<DopPopulateTransactionResponse> => {\n try {\n const { transaction, nullifiers } =\n await populateProvedTransaction(\n txidVersion,\n networkName,\n ProofType.Transfer,\n dopWalletID,\n showSenderAddressToRecipient,\n memoText,\n erc20AmountRecipients,\n nftAmountRecipients,\n undefined, // relayAdaptDecryptERC20AmountRecipients\n undefined, // relayAdaptDecryptNFTAmounts\n undefined, // relayAdaptEncryptERC20Recipients\n undefined, // relayAdaptEncryptNFTRecipients\n undefined, // crossContractCalls\n broadcasterFeeERC20AmountRecipient,\n sendWithPublicWallet,\n overallBatchMinGasPrice,\n gasDetails,\n );\n return {\n nullifiers,\n transaction\n };\n } catch (err) {\n throw reportAndSanitizeError(populateProvedTransfer.name, err);\n }\n};\n\nexport const gasEstimateForUnprovenTransfer = async (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n dopWalletID: string,\n encryptionKey: string,\n memoText: Optional<string>,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n originalGasDetails: TransactionGasDetails,\n feeTokenDetails: Optional<FeeTokenDetails>,\n sendWithPublicWallet: boolean,\n): Promise<DopTransactionGasEstimateResponse> => {\n try {\n const overallBatchMinGasPrice = 0n;\n\n const response = await gasEstimateResponseDummyProofIterativeBroadcasterFee(\n (broadcasterFeeERC20Amount: Optional<DopERC20Amount>) =>\n generateDummyProofTransactions(\n ProofType.Transfer,\n networkName,\n dopWalletID,\n txidVersion,\n encryptionKey,\n false, // showSenderAddressToRecipient - doesn't matter for gas estimate.\n memoText,\n erc20AmountRecipients,\n nftAmountRecipients,\n broadcasterFeeERC20Amount,\n sendWithPublicWallet,\n overallBatchMinGasPrice,\n ),\n (txs: (TransactionStructV2 | TransactionStructV3)[]) =>\n generateTransact(\n txidVersion,\n txs,\n networkName,\n 0n,\n true, // useDummyProof\n ),\n txidVersion,\n networkName,\n dopWalletID,\n erc20AmountRecipients,\n originalGasDetails,\n feeTokenDetails,\n sendWithPublicWallet,\n false, // isCrossContractCall\n );\n return response;\n } catch (err) {\n throw reportAndSanitizeError(gasEstimateForUnprovenTransfer.name, err);\n }\n};\n"]}
1
+ {"version":3,"file":"tx-transfer.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-transfer.ts"],"names":[],"mappings":";;;AAAA,6DAW6B;AAC7B,iDAGwB;AACxB,+CAA0D;AAK1D,yFAA0G;AAC1G,6CAA2D;AAEpD,MAAM,sBAAsB,GAAG,KAAK,EACzC,WAAwB,EACxB,WAAwB,EACxB,WAAmB,EACnB,4BAAqC,EACrC,QAA0B,EAC1B,qBAAgD,EAChD,mBAA4C,EAC5C,kCAAqE,EACrE,oBAA6B,EAC7B,uBAAyC,EACzC,UAAiC,EACQ,EAAE;IAC3C,IAAI;QACF,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAC/B,MAAM,IAAA,uCAAyB,EAC7B,WAAW,EACX,WAAW,EACX,+BAAS,CAAC,QAAQ,EAClB,WAAW,EACX,4BAA4B,EAC5B,QAAQ,EACR,qBAAqB,EACrB,mBAAmB,EACnB,SAAS,EAAE,yCAAyC;QACpD,SAAS,EAAE,8BAA8B;QACzC,SAAS,EAAE,mCAAmC;QAC9C,SAAS,EAAE,iCAAiC;QAC5C,SAAS,EAAE,qBAAqB;QAChC,kCAAkC,EAClC,oBAAoB,EACpB,uBAAuB,EACvB,UAAU,CACX,CAAC;QACJ,OAAO;YACL,UAAU;YACV,WAAW;SACZ,CAAC;KACH;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAA,8BAAsB,EAAC,8BAAsB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KAChE;AACH,CAAC,CAAC;AAzCW,QAAA,sBAAsB,0BAyCjC;AAEK,MAAM,8BAA8B,GAAG,KAAK,EACjD,WAAwB,EACxB,WAAwB,EACxB,WAAmB,EACnB,aAAqB,EACrB,QAA0B,EAC1B,qBAAgD,EAChD,mBAA4C,EAC5C,kBAAyC,EACzC,eAA0C,EAC1C,oBAA6B,EACe,EAAE;IAC9C,IAAI;QACF,MAAM,uBAAuB,GAAG,EAAE,CAAC;QAEnC,MAAM,QAAQ,GAAG,MAAM,IAAA,uFAAoD,EACzE,CAAC,yBAAmD,EAAE,EAAE,CACtD,IAAA,6CAA8B,EAC5B,+BAAS,CAAC,QAAQ,EAClB,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACb,KAAK,EAAE,kEAAkE;QACzE,QAAQ,EACR,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,CACxB,EACH,CAAC,GAAkD,EAAE,EAAE,CACrD,IAAA,+BAAgB,EACd,WAAW,EACX,GAAG,EACH,WAAW,EACX,EAAE,EACF,IAAI,CACL,EACH,WAAW,EACX,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,KAAK,CACN,CAAC;QACF,OAAO,QAAQ,CAAC;KACjB;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAA,8BAAsB,EAAC,sCAA8B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KACxE;AACH,CAAC,CAAC;AApDW,QAAA,8BAA8B,kCAoDzC","sourcesContent":["import {\n DopPopulateTransactionResponse,\n DopTransactionGasEstimateResponse,\n DopERC20Amount,\n NetworkName,\n ProofType,\n FeeTokenDetails,\n DopERC20AmountRecipient,\n DopNFTAmountRecipient,\n TransactionGasDetails,\n TXIDVersion,\n} from 'dop-sharedmodels-v5';\nimport {\n generateDummyProofTransactions,\n generateTransact,\n} from './tx-generator';\nimport { populateProvedTransaction } from './proof-cache';\nimport {\n TransactionStructV2,\n TransactionStructV3,\n} from 'dop-engine-v5';\nimport { gasEstimateResponseDummyProofIterativeBroadcasterFee } from './tx-gas-broadcaster-fee-estimator';\nimport { reportAndSanitizeError } from '../../utils/error';\n\nexport const populateProvedTransfer = async (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n dopWalletID: string,\n showSenderAddressToRecipient: boolean,\n memoText: Optional<string>,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n broadcasterFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>,\n sendWithPublicWallet: boolean,\n overallBatchMinGasPrice: Optional<bigint>,\n gasDetails: TransactionGasDetails,\n): Promise<DopPopulateTransactionResponse> => {\n try {\n const { transaction, nullifiers } =\n await populateProvedTransaction(\n txidVersion,\n networkName,\n ProofType.Transfer,\n dopWalletID,\n showSenderAddressToRecipient,\n memoText,\n erc20AmountRecipients,\n nftAmountRecipients,\n undefined, // relayAdaptDecryptERC20AmountRecipients\n undefined, // relayAdaptDecryptNFTAmounts\n undefined, // relayAdaptEncryptERC20Recipients\n undefined, // relayAdaptEncryptNFTRecipients\n undefined, // crossContractCalls\n broadcasterFeeERC20AmountRecipient,\n sendWithPublicWallet,\n overallBatchMinGasPrice,\n gasDetails,\n );\n return {\n nullifiers,\n transaction\n };\n } catch (err) {\n throw reportAndSanitizeError(populateProvedTransfer.name, err);\n }\n};\n\nexport const gasEstimateForUnprovenTransfer = async (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n dopWalletID: string,\n encryptionKey: string,\n memoText: Optional<string>,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n originalGasDetails: TransactionGasDetails,\n feeTokenDetails: Optional<FeeTokenDetails>,\n sendWithPublicWallet: boolean,\n): Promise<DopTransactionGasEstimateResponse> => {\n try {\n const overallBatchMinGasPrice = 0n;\n\n const response = await gasEstimateResponseDummyProofIterativeBroadcasterFee(\n (broadcasterFeeERC20Amount: Optional<DopERC20Amount>) =>\n generateDummyProofTransactions(\n ProofType.Transfer,\n networkName,\n dopWalletID,\n txidVersion,\n encryptionKey,\n false, // showSenderAddressToRecipient - doesn't matter for gas estimate.\n memoText,\n erc20AmountRecipients,\n nftAmountRecipients,\n broadcasterFeeERC20Amount,\n sendWithPublicWallet,\n overallBatchMinGasPrice,\n ),\n (txs: (TransactionStructV2 | TransactionStructV3)[]) =>\n generateTransact(\n txidVersion,\n txs,\n networkName,\n 0n,\n true, // useDummyProof\n ),\n txidVersion,\n networkName,\n dopWalletID,\n erc20AmountRecipients,\n originalGasDetails,\n feeTokenDetails,\n sendWithPublicWallet,\n false, // isCrossContractCall\n );\n return response;\n } catch (err) {\n throw reportAndSanitizeError(gasEstimateForUnprovenTransfer.name, err);\n }\n};\n"]}
@@ -1,3 +1,3 @@
1
- import { TXIDVersion } from 'dop-engine-v3';
1
+ import { TXIDVersion } from 'dop-engine-v5';
2
2
  export declare const isV2Test: () => boolean;
3
3
  export declare const getTestTXIDVersion: () => TXIDVersion;
@@ -1 +1 @@
1
- {"version":3,"file":"helper.test.js","sourceRoot":"","sources":["../../src/tests/helper.test.ts"],"names":[],"mappings":";;;AAAA,iDAA4C;AAErC,MAAM,QAAQ,GAAG,GAAY,EAAE;IACpC,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC;AACrC,CAAC,CAAC;AAFW,QAAA,QAAQ,YAEnB;AAEK,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,IAAI,IAAA,gBAAQ,GAAE,EAAE;QACd,OAAO,2BAAW,CAAC,iBAAiB,CAAC;KACtC;IACD,OAAO,2BAAW,CAAC,iBAAiB,CAAC;AACvC,CAAC,CAAC;AALW,QAAA,kBAAkB,sBAK7B","sourcesContent":["import { TXIDVersion } from 'dop-engine-v3';\n\nexport const isV2Test = (): boolean => {\n return process.env.V2_TEST === '1';\n};\n\nexport const getTestTXIDVersion = () => {\n if (isV2Test()) {\n return TXIDVersion.V2_PoseidonMerkle;\n }\n return TXIDVersion.V3_PoseidonMerkle;\n};\n"]}
1
+ {"version":3,"file":"helper.test.js","sourceRoot":"","sources":["../../src/tests/helper.test.ts"],"names":[],"mappings":";;;AAAA,iDAA4C;AAErC,MAAM,QAAQ,GAAG,GAAY,EAAE;IACpC,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC;AACrC,CAAC,CAAC;AAFW,QAAA,QAAQ,YAEnB;AAEK,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,IAAI,IAAA,gBAAQ,GAAE,EAAE;QACd,OAAO,2BAAW,CAAC,iBAAiB,CAAC;KACtC;IACD,OAAO,2BAAW,CAAC,iBAAiB,CAAC;AACvC,CAAC,CAAC;AALW,QAAA,kBAAkB,sBAK7B","sourcesContent":["import { TXIDVersion } from 'dop-engine-v5';\n\nexport const isV2Test = (): boolean => {\n return process.env.V2_TEST === '1';\n};\n\nexport const getTestTXIDVersion = () => {\n if (isV2Test()) {\n return TXIDVersion.V2_PoseidonMerkle;\n }\n return TXIDVersion.V3_PoseidonMerkle;\n};\n"]}
@@ -1,6 +1,6 @@
1
- import { FallbackProviderJsonConfig, FeeTokenDetails, DopERC20Amount, DopNFTAmountRecipient, DopNFTAmount, TransactionGasDetails, DopERC20Recipient } from 'dop-sharedmodels-v3';
1
+ import { FallbackProviderJsonConfig, FeeTokenDetails, DopERC20Amount, DopNFTAmountRecipient, DopNFTAmount, TransactionGasDetails, DopERC20Recipient } from 'dop-sharedmodels-v5';
2
2
  import { BalancesUpdatedCallback } from '../services/dop/wallets/balance-update';
3
- import { CommitmentCiphertextV2, CommitmentCiphertextV3 } from 'dop-engine-v3';
3
+ import { CommitmentCiphertextV2, CommitmentCiphertextV3 } from 'dop-engine-v5';
4
4
  export declare const MOCK_MNEMONIC = "test test test test test test test test test test test junk";
5
5
  export declare const MOCK_MNEMONIC_2 = "pause crystal tornado alcohol genre cement fade large song like bag where";
6
6
  export declare const MOCK_DB_ENCRYPTION_KEY = "0101010101010101010101010101010101010101010101010101010101010101";
@@ -1 +1 @@
1
- {"version":3,"file":"mocks.test.js","sourceRoot":"","sources":["../../src/tests/mocks.test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n FallbackProviderJsonConfig,\n FeeTokenDetails,\n EVMGasType,\n DopERC20Amount,\n DopNFTAmountRecipient,\n NFTTokenType,\n DopNFTAmount,\n TransactionGasDetails,\n DopERC20Recipient,\n XChaChaEncryptionAlgorithm,\n} from 'dop-sharedmodels-v3';\nimport {\n BalancesUpdatedCallback,\n} from '../services/dop/wallets/balance-update';\nimport {\n CommitmentCiphertextV2,\n CommitmentCiphertextV3,\n} from 'dop-engine-v3';\n\nexport const MOCK_MNEMONIC =\n 'test test test test test test test test test test test junk';\n\nexport const MOCK_MNEMONIC_2 =\n 'pause crystal tornado alcohol genre cement fade large song like bag where';\n\nexport const MOCK_DB_ENCRYPTION_KEY =\n '0101010101010101010101010101010101010101010101010101010101010101';\n\nexport const MOCK_MEMO =\n 'A nice little mock memo, and how bout a little more for ya? 🤩';\n\nexport const MOCK_DOP_WALLET_ADDRESS =\n '0zk1q8hxknrs97q8pjxaagwthzc0df99rzmhl2xnlxmgv9akv32sua0kfrv7j6fe3z53llhxknrs97q8pjxaagwthzc0df99rzmhl2xnlxmgv9akv32sua0kg0zpzts';\n\nexport const MOCK_ETH_WALLET_ADDRESS =\n '0x9E9F988356f46744Ee0374A17a5Fa1a3A3cC3777';\n\nexport const MOCK_TOKEN_ADDRESS = '0x5FbDB2315678afecb367f032d93F642f64180aa3';\nexport const MOCK_TOKEN_ADDRESS_2 =\n '0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D';\n\nexport const MOCK_NFT_ADDRESS = '0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d';\n\nexport const TEST_POLYGON_RPC = 'https://polygon-rpc.com';\n\nexport const TEST_WALLET_SOURCE = 'test engine';\n\nexport const MOCK_TOKEN_AMOUNTS_TOKEN_1_ONLY: DopERC20Amount[] = [\n {\n tokenAddress: MOCK_TOKEN_ADDRESS,\n amount: BigInt(0x100),\n },\n];\n\nexport const MOCK_TOKEN_AMOUNTS: DopERC20Amount[] = [\n {\n tokenAddress: MOCK_TOKEN_ADDRESS,\n amount: BigInt(0x100),\n },\n {\n tokenAddress: MOCK_TOKEN_ADDRESS_2,\n amount: BigInt(0x200),\n },\n];\n\nexport const MOCK_ERC20_RECIPIENTS: DopERC20Recipient[] = [\n {\n tokenAddress: MOCK_TOKEN_ADDRESS,\n recipientAddress: MOCK_DOP_WALLET_ADDRESS,\n },\n {\n tokenAddress: MOCK_TOKEN_ADDRESS_2,\n recipientAddress: MOCK_DOP_WALLET_ADDRESS,\n },\n];\n\nexport const MOCK_NFT_AMOUNTS: DopNFTAmount[] = [\n {\n nftAddress: MOCK_NFT_ADDRESS,\n nftTokenType: NFTTokenType.ERC721,\n tokenSubID: '0x01',\n amount: BigInt(0x01),\n },\n {\n nftAddress: MOCK_NFT_ADDRESS,\n nftTokenType: NFTTokenType.ERC1155,\n tokenSubID: '0x02',\n amount: BigInt(0x02),\n },\n];\n\nexport const MOCK_COMMITMENTS: string[] = [\n '0x0000000000000000000000000000000000000000000000000000000000000003',\n];\n\nexport const MOCK_NULLIFIERS: string[] = [\n '0x0000000000000000000000000000000000000000000000000000000000000001',\n '0x0000000000000000000000000000000000000000000000000000000000000002',\n];\n\nexport const MOCK_BOUND_PARAMS_V2 = {\n commitmentCiphertext: [\n {\n ciphertext: [\n '0x7d6854cd1fc49f0602ccd933422ed2e2ee070a9f1806843d5c81c08253134950',\n '0x8f54329134103720a7dac44d6f2a632ff18e7599b9bc1bf39d639e998a223b80',\n '0xed1ec36daf72e389fc567b2b5507fb6bff80b601bd3c0c441e4e97f28551f2f2',\n '0xede74ef3a06347178de5e4204f6bf8c475be62bcdb9911bd31be952f2e8af096',\n ],\n blindedSenderViewingKey:\n '0x898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n blindedReceiverViewingKey:\n '0x898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n memo: '0x',\n annotationData:\n '0xfaeb57df19481f9ad59b8619a5687b2623aa2280d0df93aa77258326df9e6657bbdb72d305e1373906a47c6e684c34c2553c7e061baac1f744e8ece042c6',\n },\n ],\n};\n\nexport const MOCK_BOUND_PARAMS_V3 = {\n local: {\n commitmentCiphertext: [\n {\n ciphertext:\n '0x7d6854cd1fc49f0602ccd933422ed2e2ee070a9f1806843d5c81c082531349508f54329134103720a7dac44d6f2a632ff18e7599b9bc1bf39d639e998a223b80ed1ec36daf72e389fc567b2b5507fb6bff80b601bd3c0c441e4e97f28551f2f2ede74ef3a06347178de5e4204f6bf8c475be62bcdb9911bd31be952f2e8af096',\n blindedSenderViewingKey:\n '0x898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n blindedReceiverViewingKey:\n '0x898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n },\n ],\n },\n};\n\nexport const MOCK_COMMITMENT_HASH =\n '0x2b13bccd4974c797df42a89221ed6e19e50c32055058cdcc5a8ea836233e4cab';\n\nexport const MOCK_FORMATTED_BROADCASTER_FEE_COMMITMENT_CIPHERTEXT_V2: CommitmentCiphertextV2 =\n {\n annotationData:\n '0xfaeb57df19481f9ad59b8619a5687b2623aa2280d0df93aa77258326df9e6657bbdb72d305e1373906a47c6e684c34c2553c7e061baac1f744e8ece042c6',\n blindedReceiverViewingKey:\n '898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n blindedSenderViewingKey:\n '898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n ciphertext: {\n data: [\n '8f54329134103720a7dac44d6f2a632ff18e7599b9bc1bf39d639e998a223b80',\n 'ed1ec36daf72e389fc567b2b5507fb6bff80b601bd3c0c441e4e97f28551f2f2',\n 'ede74ef3a06347178de5e4204f6bf8c475be62bcdb9911bd31be952f2e8af096',\n ],\n iv: '7d6854cd1fc49f0602ccd933422ed2e2',\n tag: 'ee070a9f1806843d5c81c08253134950',\n },\n memo: '0x',\n };\n\nexport const MOCK_FORMATTED_BROADCASTER_FEE_COMMITMENT_CIPHERTEXT_V3: CommitmentCiphertextV3 =\n {\n blindedReceiverViewingKey:\n '898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n blindedSenderViewingKey:\n '898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n ciphertext: {\n algorithm: XChaChaEncryptionAlgorithm.XChaChaPoly1305,\n nonce: '7d6854cd1fc49f0602ccd933422ed2e2',\n bundle:\n 'ee070a9f1806843d5c81c082531349508f54329134103720a7dac44d6f2a632ff18e7599b9bc1bf39d639e998a223b80ed1ec36daf72e389fc567b2b5507fb6bff80b601bd3c0c441e4e97f28551f2f2ede74ef3a06347178de5e4204f6bf8c475be62bcdb9911bd31be952f2e8af096',\n },\n };\n\nexport const MOCK_NFT_AMOUNT_RECIPIENTS: DopNFTAmountRecipient[] =\n MOCK_NFT_AMOUNTS.map(nftAmount => ({\n ...nftAmount,\n recipientAddress: MOCK_DOP_WALLET_ADDRESS,\n }));\n\nexport const MOCK_NFT_AMOUNT_RECIPIENTS_DECRYPT: DopNFTAmountRecipient[] =\n MOCK_NFT_AMOUNT_RECIPIENTS.map(nftAmountRecipient => ({\n ...nftAmountRecipient,\n recipientAddress: MOCK_ETH_WALLET_ADDRESS,\n }));\n\nexport const MOCK_TOKEN_FEE: DopERC20Amount = {\n tokenAddress: MOCK_TOKEN_ADDRESS,\n amount: BigInt(0x0300),\n};\n\nexport const MOCK_FEE_TOKEN_DETAILS: FeeTokenDetails = {\n tokenAddress: MOCK_TOKEN_ADDRESS,\n feePerUnitGas: BigInt('0x2000000000000000000'), // 2x\n};\n\nexport const MOCK_TRANSACTION_GAS_DETAILS_SERIALIZED_TYPE_2: TransactionGasDetails =\n {\n evmGasType: EVMGasType.Type2,\n gasEstimate: 0n,\n maxFeePerGas: BigInt('0x1234567890'),\n maxPriorityFeePerGas: BigInt('0x123456'),\n };\n\nexport const MOCK_BALANCES_UPDATE_CALLBACK: BalancesUpdatedCallback = () => {\n // noop\n};\n\n\nexport const MOCK_FALLBACK_PROVIDER_JSON_CONFIG_POLYGON: FallbackProviderJsonConfig =\n {\n chainId: 137,\n providers: [\n {\n provider: 'https://rpc-mainnet.matic.quiknode.pro',\n priority: 3,\n weight: 3,\n maxLogsPerBatch: 2,\n stallTimeout: 2500,\n },\n {\n provider: 'https://polygon-bor-rpc.publicnode.com',\n priority: 3,\n weight: 2,\n maxLogsPerBatch: 5,\n stallTimeout: 2500,\n },\n {\n provider: 'https://rpc.ankr.com/polygon',\n priority: 3,\n weight: 2,\n maxLogsPerBatch: 5,\n },\n ],\n };\n\nexport const MOCK_FALLBACK_PROVIDER_JSON_CONFIG_SEPOLIA: FallbackProviderJsonConfig =\n {\n chainId: 11155111,\n providers: [\n {\n provider: 'https://sepolia.drpc.org',\n priority: 3,\n weight: 3,\n maxLogsPerBatch: 2,\n stallTimeout: 2500,\n },\n {\n provider: 'https://ethereum-sepolia-rpc.publicnode.com',\n priority: 3,\n weight: 2,\n maxLogsPerBatch: 5,\n },\n ],\n };\n\nexport const MOCK_FALLBACK_PROVIDER_JSON_CONFIG_ETHEREUM: FallbackProviderJsonConfig =\n {\n chainId: 1,\n providers: [\n {\n provider: 'https://eth.llamarpc.com',\n priority: 3,\n weight: 3,\n maxLogsPerBatch: 2,\n stallTimeout: 2500,\n },\n {\n provider: 'https://rpc.ankr.com/eth',\n priority: 3,\n weight: 2,\n maxLogsPerBatch: 5,\n },\n ],\n };\n"]}
1
+ {"version":3,"file":"mocks.test.js","sourceRoot":"","sources":["../../src/tests/mocks.test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n FallbackProviderJsonConfig,\n FeeTokenDetails,\n EVMGasType,\n DopERC20Amount,\n DopNFTAmountRecipient,\n NFTTokenType,\n DopNFTAmount,\n TransactionGasDetails,\n DopERC20Recipient,\n XChaChaEncryptionAlgorithm,\n} from 'dop-sharedmodels-v5';\nimport {\n BalancesUpdatedCallback,\n} from '../services/dop/wallets/balance-update';\nimport {\n CommitmentCiphertextV2,\n CommitmentCiphertextV3,\n} from 'dop-engine-v5';\n\nexport const MOCK_MNEMONIC =\n 'test test test test test test test test test test test junk';\n\nexport const MOCK_MNEMONIC_2 =\n 'pause crystal tornado alcohol genre cement fade large song like bag where';\n\nexport const MOCK_DB_ENCRYPTION_KEY =\n '0101010101010101010101010101010101010101010101010101010101010101';\n\nexport const MOCK_MEMO =\n 'A nice little mock memo, and how bout a little more for ya? 🤩';\n\nexport const MOCK_DOP_WALLET_ADDRESS =\n '0zk1q8hxknrs97q8pjxaagwthzc0df99rzmhl2xnlxmgv9akv32sua0kfrv7j6fe3z53llhxknrs97q8pjxaagwthzc0df99rzmhl2xnlxmgv9akv32sua0kg0zpzts';\n\nexport const MOCK_ETH_WALLET_ADDRESS =\n '0x9E9F988356f46744Ee0374A17a5Fa1a3A3cC3777';\n\nexport const MOCK_TOKEN_ADDRESS = '0x5FbDB2315678afecb367f032d93F642f64180aa3';\nexport const MOCK_TOKEN_ADDRESS_2 =\n '0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D';\n\nexport const MOCK_NFT_ADDRESS = '0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d';\n\nexport const TEST_POLYGON_RPC = 'https://polygon-rpc.com';\n\nexport const TEST_WALLET_SOURCE = 'test engine';\n\nexport const MOCK_TOKEN_AMOUNTS_TOKEN_1_ONLY: DopERC20Amount[] = [\n {\n tokenAddress: MOCK_TOKEN_ADDRESS,\n amount: BigInt(0x100),\n },\n];\n\nexport const MOCK_TOKEN_AMOUNTS: DopERC20Amount[] = [\n {\n tokenAddress: MOCK_TOKEN_ADDRESS,\n amount: BigInt(0x100),\n },\n {\n tokenAddress: MOCK_TOKEN_ADDRESS_2,\n amount: BigInt(0x200),\n },\n];\n\nexport const MOCK_ERC20_RECIPIENTS: DopERC20Recipient[] = [\n {\n tokenAddress: MOCK_TOKEN_ADDRESS,\n recipientAddress: MOCK_DOP_WALLET_ADDRESS,\n },\n {\n tokenAddress: MOCK_TOKEN_ADDRESS_2,\n recipientAddress: MOCK_DOP_WALLET_ADDRESS,\n },\n];\n\nexport const MOCK_NFT_AMOUNTS: DopNFTAmount[] = [\n {\n nftAddress: MOCK_NFT_ADDRESS,\n nftTokenType: NFTTokenType.ERC721,\n tokenSubID: '0x01',\n amount: BigInt(0x01),\n },\n {\n nftAddress: MOCK_NFT_ADDRESS,\n nftTokenType: NFTTokenType.ERC1155,\n tokenSubID: '0x02',\n amount: BigInt(0x02),\n },\n];\n\nexport const MOCK_COMMITMENTS: string[] = [\n '0x0000000000000000000000000000000000000000000000000000000000000003',\n];\n\nexport const MOCK_NULLIFIERS: string[] = [\n '0x0000000000000000000000000000000000000000000000000000000000000001',\n '0x0000000000000000000000000000000000000000000000000000000000000002',\n];\n\nexport const MOCK_BOUND_PARAMS_V2 = {\n commitmentCiphertext: [\n {\n ciphertext: [\n '0x7d6854cd1fc49f0602ccd933422ed2e2ee070a9f1806843d5c81c08253134950',\n '0x8f54329134103720a7dac44d6f2a632ff18e7599b9bc1bf39d639e998a223b80',\n '0xed1ec36daf72e389fc567b2b5507fb6bff80b601bd3c0c441e4e97f28551f2f2',\n '0xede74ef3a06347178de5e4204f6bf8c475be62bcdb9911bd31be952f2e8af096',\n ],\n blindedSenderViewingKey:\n '0x898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n blindedReceiverViewingKey:\n '0x898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n memo: '0x',\n annotationData:\n '0xfaeb57df19481f9ad59b8619a5687b2623aa2280d0df93aa77258326df9e6657bbdb72d305e1373906a47c6e684c34c2553c7e061baac1f744e8ece042c6',\n },\n ],\n};\n\nexport const MOCK_BOUND_PARAMS_V3 = {\n local: {\n commitmentCiphertext: [\n {\n ciphertext:\n '0x7d6854cd1fc49f0602ccd933422ed2e2ee070a9f1806843d5c81c082531349508f54329134103720a7dac44d6f2a632ff18e7599b9bc1bf39d639e998a223b80ed1ec36daf72e389fc567b2b5507fb6bff80b601bd3c0c441e4e97f28551f2f2ede74ef3a06347178de5e4204f6bf8c475be62bcdb9911bd31be952f2e8af096',\n blindedSenderViewingKey:\n '0x898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n blindedReceiverViewingKey:\n '0x898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n },\n ],\n },\n};\n\nexport const MOCK_COMMITMENT_HASH =\n '0x2b13bccd4974c797df42a89221ed6e19e50c32055058cdcc5a8ea836233e4cab';\n\nexport const MOCK_FORMATTED_BROADCASTER_FEE_COMMITMENT_CIPHERTEXT_V2: CommitmentCiphertextV2 =\n {\n annotationData:\n '0xfaeb57df19481f9ad59b8619a5687b2623aa2280d0df93aa77258326df9e6657bbdb72d305e1373906a47c6e684c34c2553c7e061baac1f744e8ece042c6',\n blindedReceiverViewingKey:\n '898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n blindedSenderViewingKey:\n '898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n ciphertext: {\n data: [\n '8f54329134103720a7dac44d6f2a632ff18e7599b9bc1bf39d639e998a223b80',\n 'ed1ec36daf72e389fc567b2b5507fb6bff80b601bd3c0c441e4e97f28551f2f2',\n 'ede74ef3a06347178de5e4204f6bf8c475be62bcdb9911bd31be952f2e8af096',\n ],\n iv: '7d6854cd1fc49f0602ccd933422ed2e2',\n tag: 'ee070a9f1806843d5c81c08253134950',\n },\n memo: '0x',\n };\n\nexport const MOCK_FORMATTED_BROADCASTER_FEE_COMMITMENT_CIPHERTEXT_V3: CommitmentCiphertextV3 =\n {\n blindedReceiverViewingKey:\n '898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n blindedSenderViewingKey:\n '898bc07d416014a2854f756b9f8873bde925b043e9e01ea6d97183b91217b5b6',\n ciphertext: {\n algorithm: XChaChaEncryptionAlgorithm.XChaChaPoly1305,\n nonce: '7d6854cd1fc49f0602ccd933422ed2e2',\n bundle:\n 'ee070a9f1806843d5c81c082531349508f54329134103720a7dac44d6f2a632ff18e7599b9bc1bf39d639e998a223b80ed1ec36daf72e389fc567b2b5507fb6bff80b601bd3c0c441e4e97f28551f2f2ede74ef3a06347178de5e4204f6bf8c475be62bcdb9911bd31be952f2e8af096',\n },\n };\n\nexport const MOCK_NFT_AMOUNT_RECIPIENTS: DopNFTAmountRecipient[] =\n MOCK_NFT_AMOUNTS.map(nftAmount => ({\n ...nftAmount,\n recipientAddress: MOCK_DOP_WALLET_ADDRESS,\n }));\n\nexport const MOCK_NFT_AMOUNT_RECIPIENTS_DECRYPT: DopNFTAmountRecipient[] =\n MOCK_NFT_AMOUNT_RECIPIENTS.map(nftAmountRecipient => ({\n ...nftAmountRecipient,\n recipientAddress: MOCK_ETH_WALLET_ADDRESS,\n }));\n\nexport const MOCK_TOKEN_FEE: DopERC20Amount = {\n tokenAddress: MOCK_TOKEN_ADDRESS,\n amount: BigInt(0x0300),\n};\n\nexport const MOCK_FEE_TOKEN_DETAILS: FeeTokenDetails = {\n tokenAddress: MOCK_TOKEN_ADDRESS,\n feePerUnitGas: BigInt('0x2000000000000000000'), // 2x\n};\n\nexport const MOCK_TRANSACTION_GAS_DETAILS_SERIALIZED_TYPE_2: TransactionGasDetails =\n {\n evmGasType: EVMGasType.Type2,\n gasEstimate: 0n,\n maxFeePerGas: BigInt('0x1234567890'),\n maxPriorityFeePerGas: BigInt('0x123456'),\n };\n\nexport const MOCK_BALANCES_UPDATE_CALLBACK: BalancesUpdatedCallback = () => {\n // noop\n};\n\n\nexport const MOCK_FALLBACK_PROVIDER_JSON_CONFIG_POLYGON: FallbackProviderJsonConfig =\n {\n chainId: 137,\n providers: [\n {\n provider: 'https://rpc-mainnet.matic.quiknode.pro',\n priority: 3,\n weight: 3,\n maxLogsPerBatch: 2,\n stallTimeout: 2500,\n },\n {\n provider: 'https://polygon-bor-rpc.publicnode.com',\n priority: 3,\n weight: 2,\n maxLogsPerBatch: 5,\n stallTimeout: 2500,\n },\n {\n provider: 'https://rpc.ankr.com/polygon',\n priority: 3,\n weight: 2,\n maxLogsPerBatch: 5,\n },\n ],\n };\n\nexport const MOCK_FALLBACK_PROVIDER_JSON_CONFIG_SEPOLIA: FallbackProviderJsonConfig =\n {\n chainId: 11155111,\n providers: [\n {\n provider: 'https://sepolia.drpc.org',\n priority: 3,\n weight: 3,\n maxLogsPerBatch: 2,\n stallTimeout: 2500,\n },\n {\n provider: 'https://ethereum-sepolia-rpc.publicnode.com',\n priority: 3,\n weight: 2,\n maxLogsPerBatch: 5,\n },\n ],\n };\n\nexport const MOCK_FALLBACK_PROVIDER_JSON_CONFIG_ETHEREUM: FallbackProviderJsonConfig =\n {\n chainId: 1,\n providers: [\n {\n provider: 'https://eth.llamarpc.com',\n priority: 3,\n weight: 3,\n maxLogsPerBatch: 2,\n stallTimeout: 2500,\n },\n {\n provider: 'https://rpc.ankr.com/eth',\n priority: 3,\n weight: 2,\n maxLogsPerBatch: 5,\n },\n ],\n };\n"]}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="../types/global" />
2
- import { Chain } from 'dop-engine-v3';
3
- import { TXIDVersion } from 'dop-sharedmodels-v3';
2
+ import { Chain } from 'dop-engine-v5';
3
+ import { TXIDVersion } from 'dop-sharedmodels-v5';
4
4
  export declare class TestWalletPOIRequester {
5
5
  validateDopTxidMerkleroot(txidVersion: TXIDVersion, chain: Chain, tree: number, index: number, merkleroot: string): Promise<boolean>;
6
6
  getLatestValidatedDopTxid(txidVersion: TXIDVersion, chain: Chain): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"test-wallet-poi-requester.test.js","sourceRoot":"","sources":["../../../src/tests/poi/test-wallet-poi-requester.test.ts"],"names":[],"mappings":";;;AAIA,MAAa,sBAAsB;IACjC,kDAAkD;IAClD,KAAK,CAAC,yBAAyB,CAC7B,WAAwB,EACxB,KAAY,EACZ,IAAY,EACZ,KAAa,EACb,UAAkB;QAElB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,yBAAyB,CAC7B,WAAwB,EACxB,KAAY;QAEZ,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IACtD,CAAC;CACF;AAnBD,wDAmBC","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { Chain } from 'dop-engine-v3';\nimport { TXIDVersion } from 'dop-sharedmodels-v3';\n\nexport class TestWalletPOIRequester {\n // eslint-disable-next-line class-methods-use-this\n async validateDopTxidMerkleroot(\n txidVersion: TXIDVersion,\n chain: Chain,\n tree: number,\n index: number,\n merkleroot: string,\n ): Promise<boolean> {\n return true;\n }\n\n // eslint-disable-next-line class-methods-use-this\n async getLatestValidatedDopTxid(\n txidVersion: TXIDVersion,\n chain: Chain,\n ): Promise<{ txidIndex: Optional<number>; merkleroot: Optional<string> }> {\n return { txidIndex: 100000, merkleroot: undefined };\n }\n}\n"]}
1
+ {"version":3,"file":"test-wallet-poi-requester.test.js","sourceRoot":"","sources":["../../../src/tests/poi/test-wallet-poi-requester.test.ts"],"names":[],"mappings":";;;AAIA,MAAa,sBAAsB;IACjC,kDAAkD;IAClD,KAAK,CAAC,yBAAyB,CAC7B,WAAwB,EACxB,KAAY,EACZ,IAAY,EACZ,KAAa,EACb,UAAkB;QAElB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,yBAAyB,CAC7B,WAAwB,EACxB,KAAY;QAEZ,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IACtD,CAAC;CACF;AAnBD,wDAmBC","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { Chain } from 'dop-engine-v5';\nimport { TXIDVersion } from 'dop-sharedmodels-v5';\n\nexport class TestWalletPOIRequester {\n // eslint-disable-next-line class-methods-use-this\n async validateDopTxidMerkleroot(\n txidVersion: TXIDVersion,\n chain: Chain,\n tree: number,\n index: number,\n merkleroot: string,\n ): Promise<boolean> {\n return true;\n }\n\n // eslint-disable-next-line class-methods-use-this\n async getLatestValidatedDopTxid(\n txidVersion: TXIDVersion,\n chain: Chain,\n ): Promise<{ txidIndex: Optional<number>; merkleroot: Optional<string> }> {\n return { txidIndex: 100000, merkleroot: undefined };\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { MerkletreeScanUpdateEvent, NetworkName } from 'dop-sharedmodels-v3';
1
+ import { MerkletreeScanUpdateEvent, NetworkName } from 'dop-sharedmodels-v5';
2
2
  export declare const utxoMerkletreeHistoryScanCallback: (scanData: MerkletreeScanUpdateEvent) => void;
3
3
  export declare const txidMerkletreeHistoryScanCallback: (scanData: MerkletreeScanUpdateEvent) => void;
4
4
  export declare const clearAllMerkletreeScanStatus: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"setup.test.js","sourceRoot":"","sources":["../../src/tests/setup.test.ts"],"names":[],"mappings":"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","sourcesContent":["/// <reference types=\"../types/global\" />\n/* eslint-disable import/no-extraneous-dependencies */\n/* eslint-disable no-console */\nimport LevelDOWN from 'leveldown';\nimport fs from 'fs';\nimport {\n MerkletreeScanStatus,\n MerkletreeScanUpdateEvent,\n NETWORK_CONFIG,\n NetworkName,\n poll,\n} from 'dop-sharedmodels-v3';\nimport {\n MOCK_BALANCES_UPDATE_CALLBACK,\n MOCK_FALLBACK_PROVIDER_JSON_CONFIG_SEPOLIA,\n TEST_WALLET_SOURCE,\n} from './mocks.test';\nimport { ArtifactStore } from '../services/artifacts/artifact-store';\nimport {\n setOnBalanceUpdateCallback,\n} from '../services/dop/wallets/balance-update';\nimport { TestWalletPOIRequester } from './poi/test-wallet-poi-requester.test';\nimport {\n GetLatestValidatedDopTxid,\n MerklerootValidator,\n SnarkJSGroth16,\n} from 'dop-engine-v3';\nimport {\n getEngine,\n loadProvider,\n setOnTXIDMerkletreeScanCallback,\n setOnUTXOMerkletreeScanCallback,\n startDopEngine,\n stopDopEngine,\n} from '../services/dop/core';\nimport { groth16 } from 'snarkjs';\nimport { setLoggers } from '../utils';\n\nconst ENGINE_TEST_DB = 'test.db';\nconst db = new LevelDOWN(ENGINE_TEST_DB);\n\nconst setupTests = () => {\n // Uncomment to enable logger during tests (Do not commit).\n // setLoggers(console.log, console.error);\n};\n\nconst rmDirSafe = async (dir: string) => {\n if (await fileExists(dir)) {\n await fs.promises.rm(dir, { recursive: true });\n }\n};\n\nbefore(async () => {\n await rmDirSafe(ENGINE_TEST_DB);\n await rmDirSafe('artifacts-v2.1');\n setupTests();\n});\n\nconst fileExists = (path: string): Promise<boolean> => {\n return new Promise(resolve => {\n fs.promises\n .access(path)\n .then(() => resolve(true))\n .catch(() => resolve(false));\n });\n};\n\nconst testArtifactStore = new ArtifactStore(\n fs.promises.readFile,\n async (dir, path, data) => {\n await fs.promises.mkdir(dir, { recursive: true });\n await fs.promises.writeFile(path, data);\n },\n fileExists,\n);\n\nlet currentUTXOMerkletreeScanStatus: Optional<MerkletreeScanStatus>;\nlet currentTXIDMerkletreeScanStatus: Optional<MerkletreeScanStatus>;\n\nexport const utxoMerkletreeHistoryScanCallback = (\n scanData: MerkletreeScanUpdateEvent,\n): void => {\n currentUTXOMerkletreeScanStatus = scanData.scanStatus;\n};\n\nexport const txidMerkletreeHistoryScanCallback = (\n scanData: MerkletreeScanUpdateEvent,\n): void => {\n currentTXIDMerkletreeScanStatus = scanData.scanStatus;\n};\n\nexport const clearAllMerkletreeScanStatus = () => {\n currentUTXOMerkletreeScanStatus = undefined;\n currentTXIDMerkletreeScanStatus = undefined;\n};\n\nexport const initTestEngine = async (useNativeArtifacts = false) => {\n // SETUP TEST WALLET POI REQUESTER\n const testPOIRequester = new TestWalletPOIRequester();\n const txidMerklerootValidator: MerklerootValidator = (\n txidVersion,\n chain,\n tree,\n index,\n merkleroot,\n ) =>\n testPOIRequester.validateDopTxidMerkleroot(\n txidVersion,\n chain,\n tree,\n index,\n merkleroot,\n );\n // Set the environment variable \"VERBOSE\" to enable debug logs\n const shouldDebug = typeof process.env.VERBOSE !== 'undefined';\n\n if (shouldDebug) {\n setLoggers(console.log, console.error);\n }\n\n await startDopEngine(\n TEST_WALLET_SOURCE,\n db,\n shouldDebug,\n testArtifactStore,\n useNativeArtifacts,\n false, // skipMerkletreeScans\n false // verboseLogging\n );\n\n\n setOnUTXOMerkletreeScanCallback(utxoMerkletreeHistoryScanCallback);\n setOnTXIDMerkletreeScanCallback(txidMerkletreeHistoryScanCallback);\n};\n\nexport const initTestEngineNetworks = async (\n networkName = NetworkName.EthereumSepolia,\n mockConfig = MOCK_FALLBACK_PROVIDER_JSON_CONFIG_SEPOLIA,\n) => {\n // Don't wait for async. It will try to load historical events, which takes a while.\n await loadProvider(\n mockConfig,\n networkName,\n 10_000, // pollingInterval\n );\n const { chain } = NETWORK_CONFIG[networkName];\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n getEngine().scanContractHistory(\n chain,\n undefined, // walletIdFilter\n );\n};\n\nexport const closeTestEngine = async () => {\n await stopDopEngine();\n\n clearAllMerkletreeScanStatus();\n};\n\nexport const pollUntilUTXOMerkletreeScanned = async () => {\n const status = await poll(\n async () => currentUTXOMerkletreeScanStatus,\n status => status === MerkletreeScanStatus.Complete,\n 50,\n 360_000 / 50, // 360 sec.\n );\n if (status !== MerkletreeScanStatus.Complete) {\n throw new Error(`UTXO merkletree scan should be completed - timed out`);\n }\n};\n\nexport const pollUntilTXIDMerkletreeScanned = async () => {\n const status = await poll(\n async () => currentTXIDMerkletreeScanStatus,\n status => status === MerkletreeScanStatus.Complete,\n 50,\n 360_000 / 50, // 360 sec.\n );\n if (status !== MerkletreeScanStatus.Complete) {\n throw new Error(`TXID merkletree scan should be completed - timed out`);\n }\n};\n"]}
1
+ {"version":3,"file":"setup.test.js","sourceRoot":"","sources":["../../src/tests/setup.test.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAyC;AACzC,sDAAsD;AACtD,+BAA+B;AAC/B,0DAAkC;AAClC,4CAAoB;AACpB,6DAM6B;AAC7B,6CAIsB;AACtB,yEAAqE;AAIrE,yFAA8E;AAM9E,+CAO8B;AAE9B,oCAAsC;AAEtC,MAAM,cAAc,GAAG,SAAS,CAAC;AACjC,MAAM,EAAE,GAAG,IAAI,mBAAS,CAAC,cAAc,CAAC,CAAC;AAEzC,MAAM,UAAU,GAAG,GAAG,EAAE;IACtB,2DAA2D;IAC3D,0CAA0C;AAC5C,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;IACtC,IAAI,MAAM,UAAU,CAAC,GAAG,CAAC,EAAE;QACzB,MAAM,YAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KAChD;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,KAAK,IAAI,EAAE;IAChB,MAAM,SAAS,CAAC,cAAc,CAAC,CAAC;IAChC,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAClC,UAAU,EAAE,CAAC;AACf,CAAC,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,CAAC,IAAY,EAAoB,EAAE;IACpD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,YAAE,CAAC,QAAQ;aACR,MAAM,CAAC,IAAI,CAAC;aACZ,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACzB,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAI,8BAAa,CACzC,YAAE,CAAC,QAAQ,CAAC,QAAQ,EACpB,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;IACxB,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC,EACD,UAAU,CACX,CAAC;AAEF,IAAI,+BAA+D,CAAC;AACpE,IAAI,+BAA+D,CAAC;AAE7D,MAAM,iCAAiC,GAAG,CAC/C,QAAmC,EAC7B,EAAE;IACR,+BAA+B,GAAG,QAAQ,CAAC,UAAU,CAAC;AACxD,CAAC,CAAC;AAJW,QAAA,iCAAiC,qCAI5C;AAEK,MAAM,iCAAiC,GAAG,CAC/C,QAAmC,EAC7B,EAAE;IACR,+BAA+B,GAAG,QAAQ,CAAC,UAAU,CAAC;AACxD,CAAC,CAAC;AAJW,QAAA,iCAAiC,qCAI5C;AAEK,MAAM,4BAA4B,GAAG,GAAG,EAAE;IAC/C,+BAA+B,GAAG,SAAS,CAAC;IAC5C,+BAA+B,GAAG,SAAS,CAAC;AAC9C,CAAC,CAAC;AAHW,QAAA,4BAA4B,gCAGvC;AAEK,MAAM,cAAc,GAAG,KAAK,EAAE,kBAAkB,GAAG,KAAK,EAAE,EAAE;IACjE,kCAAkC;IAClC,MAAM,gBAAgB,GAAG,IAAI,uDAAsB,EAAE,CAAC;IACtD,MAAM,uBAAuB,GAAwB,CACnD,WAAW,EACX,KAAK,EACL,IAAI,EACJ,KAAK,EACL,UAAU,EACV,EAAE,CACF,gBAAgB,CAAC,yBAAyB,CACxC,WAAW,EACX,KAAK,EACL,IAAI,EACJ,KAAK,EACL,UAAU,CACX,CAAC;IACJ,8DAA8D;IAC9D,MAAM,WAAW,GAAG,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,WAAW,CAAC;IAE/D,IAAI,WAAW,EAAE;QACf,IAAA,kBAAU,EAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;KACxC;IAED,MAAM,IAAA,qBAAc,EAClB,+BAAkB,EAClB,EAAE,EACF,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,EAAE,sBAAsB;IAC7B,KAAK,CAAC,iBAAiB;KACxB,CAAC;IAGF,IAAA,sCAA+B,EAAC,yCAAiC,CAAC,CAAC;IACnE,IAAA,sCAA+B,EAAC,yCAAiC,CAAC,CAAC;AACrE,CAAC,CAAC;AArCW,QAAA,cAAc,kBAqCzB;AAEK,MAAM,sBAAsB,GAAG,KAAK,EACzC,WAAW,GAAG,iCAAW,CAAC,eAAe,EACzC,UAAU,GAAG,uDAA0C,EACvD,EAAE;IACF,oFAAoF;IACpF,MAAM,IAAA,mBAAY,EAChB,UAAU,EACV,WAAW,EACX,KAAM,CACP,CAAC;IACF,MAAM,EAAE,KAAK,EAAE,GAAG,oCAAc,CAAC,WAAW,CAAC,CAAC;IAC9C,mEAAmE;IACnE,IAAA,gBAAS,GAAE,CAAC,mBAAmB,CAC7B,KAAK,EACL,SAAS,CACV,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,sBAAsB,0BAgBjC;AAEK,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;IACxC,MAAM,IAAA,oBAAa,GAAE,CAAC;IAEtB,IAAA,oCAA4B,GAAE,CAAC;AACjC,CAAC,CAAC;AAJW,QAAA,eAAe,mBAI1B;AAEK,MAAM,8BAA8B,GAAG,KAAK,IAAI,EAAE;IACvD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAI,EACvB,KAAK,IAAI,EAAE,CAAC,+BAA+B,EAC3C,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,0CAAoB,CAAC,QAAQ,EAClD,EAAE,EACF,MAAO,GAAG,EAAE,CACb,CAAC;IACF,IAAI,MAAM,KAAK,0CAAoB,CAAC,QAAQ,EAAE;QAC5C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;KACzE;AACH,CAAC,CAAC;AAVW,QAAA,8BAA8B,kCAUzC;AAEK,MAAM,8BAA8B,GAAG,KAAK,IAAI,EAAE;IACvD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAI,EACvB,KAAK,IAAI,EAAE,CAAC,+BAA+B,EAC3C,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,0CAAoB,CAAC,QAAQ,EAClD,EAAE,EACF,MAAO,GAAG,EAAE,CACb,CAAC;IACF,IAAI,MAAM,KAAK,0CAAoB,CAAC,QAAQ,EAAE;QAC5C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;KACzE;AACH,CAAC,CAAC;AAVW,QAAA,8BAA8B,kCAUzC","sourcesContent":["/// <reference types=\"../types/global\" />\n/* eslint-disable import/no-extraneous-dependencies */\n/* eslint-disable no-console */\nimport LevelDOWN from 'leveldown';\nimport fs from 'fs';\nimport {\n MerkletreeScanStatus,\n MerkletreeScanUpdateEvent,\n NETWORK_CONFIG,\n NetworkName,\n poll,\n} from 'dop-sharedmodels-v5';\nimport {\n MOCK_BALANCES_UPDATE_CALLBACK,\n MOCK_FALLBACK_PROVIDER_JSON_CONFIG_SEPOLIA,\n TEST_WALLET_SOURCE,\n} from './mocks.test';\nimport { ArtifactStore } from '../services/artifacts/artifact-store';\nimport {\n setOnBalanceUpdateCallback,\n} from '../services/dop/wallets/balance-update';\nimport { TestWalletPOIRequester } from './poi/test-wallet-poi-requester.test';\nimport {\n GetLatestValidatedDopTxid,\n MerklerootValidator,\n SnarkJSGroth16,\n} from 'dop-engine-v5';\nimport {\n getEngine,\n loadProvider,\n setOnTXIDMerkletreeScanCallback,\n setOnUTXOMerkletreeScanCallback,\n startDopEngine,\n stopDopEngine,\n} from '../services/dop/core';\nimport { groth16 } from 'snarkjs';\nimport { setLoggers } from '../utils';\n\nconst ENGINE_TEST_DB = 'test.db';\nconst db = new LevelDOWN(ENGINE_TEST_DB);\n\nconst setupTests = () => {\n // Uncomment to enable logger during tests (Do not commit).\n // setLoggers(console.log, console.error);\n};\n\nconst rmDirSafe = async (dir: string) => {\n if (await fileExists(dir)) {\n await fs.promises.rm(dir, { recursive: true });\n }\n};\n\nbefore(async () => {\n await rmDirSafe(ENGINE_TEST_DB);\n await rmDirSafe('artifacts-v2.1');\n setupTests();\n});\n\nconst fileExists = (path: string): Promise<boolean> => {\n return new Promise(resolve => {\n fs.promises\n .access(path)\n .then(() => resolve(true))\n .catch(() => resolve(false));\n });\n};\n\nconst testArtifactStore = new ArtifactStore(\n fs.promises.readFile,\n async (dir, path, data) => {\n await fs.promises.mkdir(dir, { recursive: true });\n await fs.promises.writeFile(path, data);\n },\n fileExists,\n);\n\nlet currentUTXOMerkletreeScanStatus: Optional<MerkletreeScanStatus>;\nlet currentTXIDMerkletreeScanStatus: Optional<MerkletreeScanStatus>;\n\nexport const utxoMerkletreeHistoryScanCallback = (\n scanData: MerkletreeScanUpdateEvent,\n): void => {\n currentUTXOMerkletreeScanStatus = scanData.scanStatus;\n};\n\nexport const txidMerkletreeHistoryScanCallback = (\n scanData: MerkletreeScanUpdateEvent,\n): void => {\n currentTXIDMerkletreeScanStatus = scanData.scanStatus;\n};\n\nexport const clearAllMerkletreeScanStatus = () => {\n currentUTXOMerkletreeScanStatus = undefined;\n currentTXIDMerkletreeScanStatus = undefined;\n};\n\nexport const initTestEngine = async (useNativeArtifacts = false) => {\n // SETUP TEST WALLET POI REQUESTER\n const testPOIRequester = new TestWalletPOIRequester();\n const txidMerklerootValidator: MerklerootValidator = (\n txidVersion,\n chain,\n tree,\n index,\n merkleroot,\n ) =>\n testPOIRequester.validateDopTxidMerkleroot(\n txidVersion,\n chain,\n tree,\n index,\n merkleroot,\n );\n // Set the environment variable \"VERBOSE\" to enable debug logs\n const shouldDebug = typeof process.env.VERBOSE !== 'undefined';\n\n if (shouldDebug) {\n setLoggers(console.log, console.error);\n }\n\n await startDopEngine(\n TEST_WALLET_SOURCE,\n db,\n shouldDebug,\n testArtifactStore,\n useNativeArtifacts,\n false, // skipMerkletreeScans\n false // verboseLogging\n );\n\n\n setOnUTXOMerkletreeScanCallback(utxoMerkletreeHistoryScanCallback);\n setOnTXIDMerkletreeScanCallback(txidMerkletreeHistoryScanCallback);\n};\n\nexport const initTestEngineNetworks = async (\n networkName = NetworkName.EthereumSepolia,\n mockConfig = MOCK_FALLBACK_PROVIDER_JSON_CONFIG_SEPOLIA,\n) => {\n // Don't wait for async. It will try to load historical events, which takes a while.\n await loadProvider(\n mockConfig,\n networkName,\n 10_000, // pollingInterval\n );\n const { chain } = NETWORK_CONFIG[networkName];\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n getEngine().scanContractHistory(\n chain,\n undefined, // walletIdFilter\n );\n};\n\nexport const closeTestEngine = async () => {\n await stopDopEngine();\n\n clearAllMerkletreeScanStatus();\n};\n\nexport const pollUntilUTXOMerkletreeScanned = async () => {\n const status = await poll(\n async () => currentUTXOMerkletreeScanStatus,\n status => status === MerkletreeScanStatus.Complete,\n 50,\n 360_000 / 50, // 360 sec.\n );\n if (status !== MerkletreeScanStatus.Complete) {\n throw new Error(`UTXO merkletree scan should be completed - timed out`);\n }\n};\n\nexport const pollUntilTXIDMerkletreeScanned = async () => {\n const status = await poll(\n async () => currentTXIDMerkletreeScanStatus,\n status => status === MerkletreeScanStatus.Complete,\n 50,\n 360_000 / 50, // 360 sec.\n );\n if (status !== MerkletreeScanStatus.Complete) {\n throw new Error(`TXID merkletree scan should be completed - timed out`);\n }\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { AddressData } from 'dop-engine-v3';
1
+ import { AddressData } from 'dop-engine-v5';
2
2
  export declare const MOCK_ENCRYPT_TXID_FOR_BALANCES = "123";
3
3
  export declare const MOCK_TOKEN_BALANCE: bigint;
4
4
  export declare const createEngineWalletBalancesStub: (addressData: AddressData, tokenAddress: string, tree: number) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"engine-stubs.test.js","sourceRoot":"","sources":["../../../src/tests/stubs/engine-stubs.test.ts"],"names":[],"mappings":";;;;;;AAAA,iDAYuB;AACvB,6DAA6D;AAC7D,kDAAyC;AAEzC,IAAI,YAAuB,CAAC;AAC5B,IAAI,gBAA2B,CAAC;AAChC,IAAI,eAA0B,CAAC;AAElB,QAAA,8BAA8B,GAAG,KAAK,CAAC;AACvC,QAAA,kBAAkB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AACnE,MAAM,kBAAkB,GACtB,oEAAoE,CAAC;AAEvE,MAAM,kBAAkB,GAAG,KAAK,EAC9B,WAAwB,EACxB,YAAoB,EACpB,IAAY,EACU,EAAE;IACxB,MAAM,SAAS,GAAG,IAAA,iCAAiB,EAAC,YAAY,CAAC,CAAC;IAElD,OAAO;QACL,OAAO,EAAE,0BAAkB;QAC3B,SAAS;QACT,KAAK,EAAE;YACL;gBACE,IAAI;gBACJ,QAAQ,EAAE,CAAC;gBACX,WAAW,EAAE,GAAG;gBAChB,IAAI,EAAE,sCAA8B;gBACpC,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,KAAK;gBAChB,IAAI,EAAE,4BAAY,CAAC,cAAc,CAC/B,WAAW,EAAE,WAAW;gBACxB,WAAW,EAAE,SAAS;gBACtB,gDAAgD;gBAChD,MAAM,CAAC,wBAAwB,CAAC,EAAE,QAAQ;gBAC1C,SAAS,EAAE,YAAY;gBACvB,KAAK,EAAE,mBAAmB;gBAC1B,0BAAU,CAAC,QAAQ,EACnB,SAAS,CACV;gBACD,cAAc,EAAE,8BAAc,CAAC,iBAAiB;gBAChD,SAAS,EAAE,kBAAkB;gBAC7B,iBAAiB,EAAE,SAAS;gBAC5B,uBAAuB,EAAE,SAAS;aACnC;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,8BAA8B,GAAG,KAAK,EACjD,WAAwB,EACxB,YAAoB,EACpB,IAAY,EACZ,EAAE;IACF,YAAY,GAAG,eAAK;SACjB,IAAI,CAAC,8BAAc,EAAE,+BAA+B,CAAC;SACrD,QAAQ,CAAC;QACR,CAAC,YAAY,CAAC,EAAE,MAAM,kBAAkB,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC;KAC1E,CAAC,CAAC;AACP,CAAC,CAAC;AAVW,QAAA,8BAA8B,kCAUzC;AAEK,MAAM,kCAAkC,GAAG,KAAK,EACrD,WAAwB,EACxB,YAAoB,EACpB,IAAY,EACZ,EAAE;IACF,MAAM,qBAAqB,GAAG,yBAAS,CAAC,kBAAkB,CACxD,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAC9B,0BAAU,CAAC,QAAQ,CACpB,CAAC;IACF,gBAAgB,GAAG,eAAK;SACrB,IAAI,CAAC,yBAAS,CAAC,SAAS,EAAE,8BAA8B,CAAC;SACzD,QAAQ,CAAC;QACR,CAAC,qBAAqB,CAAC,EAAE;YACvB,MAAM,kBAAkB,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC;SAC1D;KACF,CAAC,CAAC;AACP,CAAC,CAAC;AAhBW,QAAA,kCAAkC,sCAgB7C;AAEK,MAAM,2BAA2B,GAAG,GAAG,EAAE;IAC9C,eAAe,GAAG,eAAK;SACpB,IAAI,CAAC,sBAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC;SACxC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC,CAAC;AAJW,QAAA,2BAA2B,+BAItC;AAEK,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC5B,eAAe,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC,CAAC;AAJW,QAAA,kBAAkB,sBAI7B","sourcesContent":["import {\n OutputType,\n TransactNote,\n Prover,\n AbstractWallet,\n DopWallet,\n ByteLength,\n getTokenDataERC20,\n TreeBalance,\n AddressData,\n CommitmentType,\n ByteUtils,\n} from 'dop-engine-v3';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport sinon, { SinonStub } from 'sinon';\n\nlet balancesStub: SinonStub;\nlet treeBalancesStub: SinonStub;\nlet verifyProofStub: SinonStub;\n\nexport const MOCK_ENCRYPT_TXID_FOR_BALANCES = '123';\nexport const MOCK_TOKEN_BALANCE = BigInt('1000000000000000000000');\nconst ZERO_32_BYTE_VALUE =\n '0x0000000000000000000000000000000000000000000000000000000000000000';\n\nconst getMockBalanceData = async (\n addressData: AddressData,\n tokenAddress: string,\n tree: number,\n): Promise<TreeBalance> => {\n const tokenData = getTokenDataERC20(tokenAddress);\n\n return {\n balance: MOCK_TOKEN_BALANCE,\n tokenData,\n utxos: [\n {\n tree,\n position: 0,\n blockNumber: 100,\n txid: MOCK_ENCRYPT_TXID_FOR_BALANCES,\n timestamp: undefined,\n spendtxid: false,\n note: TransactNote.createTransfer(\n addressData, // receiver\n addressData, // sender\n // '12345678901234561234567890123456', // random\n BigInt('1000000000000000000000'), // value\n tokenData, // tokenData\n false, // shouldShowSender\n OutputType.Transfer,\n undefined, // memoText\n ),\n commitmentType: CommitmentType.EncryptCommitment,\n nullifier: ZERO_32_BYTE_VALUE,\n blindedCommitment: undefined,\n transactCreationDopTxid: undefined,\n },\n ],\n };\n};\n\nexport const createEngineWalletBalancesStub = async (\n addressData: AddressData,\n tokenAddress: string,\n tree: number,\n) => {\n balancesStub = sinon\n .stub(AbstractWallet, 'getTokenBalancesByTxidVersion')\n .resolves({\n [tokenAddress]: await getMockBalanceData(addressData, tokenAddress, tree),\n });\n};\n\nexport const createEngineWalletTreeBalancesStub = async (\n addressData: AddressData,\n tokenAddress: string,\n tree: number,\n) => {\n const formattedTokenAddress = ByteUtils.formatToByteLength(\n tokenAddress.replace('0x', ''),\n ByteLength.UINT_256,\n );\n treeBalancesStub = sinon\n .stub(DopWallet.prototype, 'getTotalBalancesByTreeNumber')\n .resolves({\n [formattedTokenAddress]: [\n await getMockBalanceData(addressData, tokenAddress, tree),\n ],\n });\n};\n\nexport const createEngineVerifyProofStub = () => {\n verifyProofStub = sinon\n .stub(Prover.prototype, 'verifyDopProof')\n .resolves(true);\n};\n\nexport const restoreEngineStubs = () => {\n balancesStub?.restore();\n treeBalancesStub?.restore();\n verifyProofStub?.restore();\n};\n"]}
1
+ {"version":3,"file":"engine-stubs.test.js","sourceRoot":"","sources":["../../../src/tests/stubs/engine-stubs.test.ts"],"names":[],"mappings":";;;;;;AAAA,iDAYuB;AACvB,6DAA6D;AAC7D,kDAAyC;AAEzC,IAAI,YAAuB,CAAC;AAC5B,IAAI,gBAA2B,CAAC;AAChC,IAAI,eAA0B,CAAC;AAElB,QAAA,8BAA8B,GAAG,KAAK,CAAC;AACvC,QAAA,kBAAkB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AACnE,MAAM,kBAAkB,GACtB,oEAAoE,CAAC;AAEvE,MAAM,kBAAkB,GAAG,KAAK,EAC9B,WAAwB,EACxB,YAAoB,EACpB,IAAY,EACU,EAAE;IACxB,MAAM,SAAS,GAAG,IAAA,iCAAiB,EAAC,YAAY,CAAC,CAAC;IAElD,OAAO;QACL,OAAO,EAAE,0BAAkB;QAC3B,SAAS;QACT,KAAK,EAAE;YACL;gBACE,IAAI;gBACJ,QAAQ,EAAE,CAAC;gBACX,WAAW,EAAE,GAAG;gBAChB,IAAI,EAAE,sCAA8B;gBACpC,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,KAAK;gBAChB,IAAI,EAAE,4BAAY,CAAC,cAAc,CAC/B,WAAW,EAAE,WAAW;gBACxB,WAAW,EAAE,SAAS;gBACtB,gDAAgD;gBAChD,MAAM,CAAC,wBAAwB,CAAC,EAAE,QAAQ;gBAC1C,SAAS,EAAE,YAAY;gBACvB,KAAK,EAAE,mBAAmB;gBAC1B,0BAAU,CAAC,QAAQ,EACnB,SAAS,CACV;gBACD,cAAc,EAAE,8BAAc,CAAC,iBAAiB;gBAChD,SAAS,EAAE,kBAAkB;gBAC7B,iBAAiB,EAAE,SAAS;gBAC5B,uBAAuB,EAAE,SAAS;aACnC;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,8BAA8B,GAAG,KAAK,EACjD,WAAwB,EACxB,YAAoB,EACpB,IAAY,EACZ,EAAE;IACF,YAAY,GAAG,eAAK;SACjB,IAAI,CAAC,8BAAc,EAAE,+BAA+B,CAAC;SACrD,QAAQ,CAAC;QACR,CAAC,YAAY,CAAC,EAAE,MAAM,kBAAkB,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC;KAC1E,CAAC,CAAC;AACP,CAAC,CAAC;AAVW,QAAA,8BAA8B,kCAUzC;AAEK,MAAM,kCAAkC,GAAG,KAAK,EACrD,WAAwB,EACxB,YAAoB,EACpB,IAAY,EACZ,EAAE;IACF,MAAM,qBAAqB,GAAG,yBAAS,CAAC,kBAAkB,CACxD,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAC9B,0BAAU,CAAC,QAAQ,CACpB,CAAC;IACF,gBAAgB,GAAG,eAAK;SACrB,IAAI,CAAC,yBAAS,CAAC,SAAS,EAAE,8BAA8B,CAAC;SACzD,QAAQ,CAAC;QACR,CAAC,qBAAqB,CAAC,EAAE;YACvB,MAAM,kBAAkB,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC;SAC1D;KACF,CAAC,CAAC;AACP,CAAC,CAAC;AAhBW,QAAA,kCAAkC,sCAgB7C;AAEK,MAAM,2BAA2B,GAAG,GAAG,EAAE;IAC9C,eAAe,GAAG,eAAK;SACpB,IAAI,CAAC,sBAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC;SACxC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC,CAAC;AAJW,QAAA,2BAA2B,+BAItC;AAEK,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC5B,eAAe,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC,CAAC;AAJW,QAAA,kBAAkB,sBAI7B","sourcesContent":["import {\n OutputType,\n TransactNote,\n Prover,\n AbstractWallet,\n DopWallet,\n ByteLength,\n getTokenDataERC20,\n TreeBalance,\n AddressData,\n CommitmentType,\n ByteUtils,\n} from 'dop-engine-v5';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport sinon, { SinonStub } from 'sinon';\n\nlet balancesStub: SinonStub;\nlet treeBalancesStub: SinonStub;\nlet verifyProofStub: SinonStub;\n\nexport const MOCK_ENCRYPT_TXID_FOR_BALANCES = '123';\nexport const MOCK_TOKEN_BALANCE = BigInt('1000000000000000000000');\nconst ZERO_32_BYTE_VALUE =\n '0x0000000000000000000000000000000000000000000000000000000000000000';\n\nconst getMockBalanceData = async (\n addressData: AddressData,\n tokenAddress: string,\n tree: number,\n): Promise<TreeBalance> => {\n const tokenData = getTokenDataERC20(tokenAddress);\n\n return {\n balance: MOCK_TOKEN_BALANCE,\n tokenData,\n utxos: [\n {\n tree,\n position: 0,\n blockNumber: 100,\n txid: MOCK_ENCRYPT_TXID_FOR_BALANCES,\n timestamp: undefined,\n spendtxid: false,\n note: TransactNote.createTransfer(\n addressData, // receiver\n addressData, // sender\n // '12345678901234561234567890123456', // random\n BigInt('1000000000000000000000'), // value\n tokenData, // tokenData\n false, // shouldShowSender\n OutputType.Transfer,\n undefined, // memoText\n ),\n commitmentType: CommitmentType.EncryptCommitment,\n nullifier: ZERO_32_BYTE_VALUE,\n blindedCommitment: undefined,\n transactCreationDopTxid: undefined,\n },\n ],\n };\n};\n\nexport const createEngineWalletBalancesStub = async (\n addressData: AddressData,\n tokenAddress: string,\n tree: number,\n) => {\n balancesStub = sinon\n .stub(AbstractWallet, 'getTokenBalancesByTxidVersion')\n .resolves({\n [tokenAddress]: await getMockBalanceData(addressData, tokenAddress, tree),\n });\n};\n\nexport const createEngineWalletTreeBalancesStub = async (\n addressData: AddressData,\n tokenAddress: string,\n tree: number,\n) => {\n const formattedTokenAddress = ByteUtils.formatToByteLength(\n tokenAddress.replace('0x', ''),\n ByteLength.UINT_256,\n );\n treeBalancesStub = sinon\n .stub(DopWallet.prototype, 'getTotalBalancesByTreeNumber')\n .resolves({\n [formattedTokenAddress]: [\n await getMockBalanceData(addressData, tokenAddress, tree),\n ],\n });\n};\n\nexport const createEngineVerifyProofStub = () => {\n verifyProofStub = sinon\n .stub(Prover.prototype, 'verifyDopProof')\n .resolves(true);\n};\n\nexport const restoreEngineStubs = () => {\n balancesStub?.restore();\n treeBalancesStub?.restore();\n verifyProofStub?.restore();\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"blocked-address.js","sourceRoot":"","sources":["../../src/utils/blocked-address.ts"],"names":[],"mappings":";;;AAAA,6DAG6B;AAEtB,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAW,EAAE;IAC5D,IAAI,CAAC,IAAA,+BAAS,EAAC,OAAO,CAAC,EAAE;QACvB,OAAO,KAAK,CAAC;KACd;IACD,IAAI,mDAA6B,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE;QACjE,OAAO,IAAI,CAAC;KACb;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AARW,QAAA,gBAAgB,oBAQ3B;AAEK,MAAM,uBAAuB,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC1D,IAAI,IAAA,wBAAgB,EAAC,OAAO,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;KACpC;AACH,CAAC,CAAC;AAJW,QAAA,uBAAuB,2BAIlC","sourcesContent":["import {\n OFAC_SANCTIONS_LIST_ADDRESSES,\n isDefined,\n} from 'dop-sharedmodels-v3';\n\nexport const isBlockedAddress = (address?: string): boolean => {\n if (!isDefined(address)) {\n return false;\n }\n if (OFAC_SANCTIONS_LIST_ADDRESSES.includes(address.toLowerCase())) {\n return true;\n }\n return false;\n};\n\nexport const assertNotBlockedAddress = (address?: string) => {\n if (isBlockedAddress(address)) {\n throw new Error('Blocked address');\n }\n};\n"]}
1
+ {"version":3,"file":"blocked-address.js","sourceRoot":"","sources":["../../src/utils/blocked-address.ts"],"names":[],"mappings":";;;AAAA,6DAG6B;AAEtB,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAW,EAAE;IAC5D,IAAI,CAAC,IAAA,+BAAS,EAAC,OAAO,CAAC,EAAE;QACvB,OAAO,KAAK,CAAC;KACd;IACD,IAAI,mDAA6B,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE;QACjE,OAAO,IAAI,CAAC;KACb;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AARW,QAAA,gBAAgB,oBAQ3B;AAEK,MAAM,uBAAuB,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC1D,IAAI,IAAA,wBAAgB,EAAC,OAAO,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;KACpC;AACH,CAAC,CAAC;AAJW,QAAA,uBAAuB,2BAIlC","sourcesContent":["import {\n OFAC_SANCTIONS_LIST_ADDRESSES,\n isDefined,\n} from 'dop-sharedmodels-v5';\n\nexport const isBlockedAddress = (address?: string): boolean => {\n if (!isDefined(address)) {\n return false;\n }\n if (OFAC_SANCTIONS_LIST_ADDRESSES.includes(address.toLowerCase())) {\n return true;\n }\n return false;\n};\n\nexport const assertNotBlockedAddress = (address?: string) => {\n if (isBlockedAddress(address)) {\n throw new Error('Blocked address');\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/utils/error.ts"],"names":[],"mappings":";;;AAAA,6DAAoD;AACpD,qCAA4C;AAErC,MAAM,sBAAsB,GAAG,CACpC,IAAY;AACZ,8DAA8D;AAC9D,GAAgB,EACT,EAAE;IACT,IAAA,yBAAgB,EAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;IAE5D,IAAI,GAAG,YAAY,KAAK,EAAE;QACxB,MAAM,KAAK,GAAG,IAAA,mCAAa,EAAC,GAAG,CAAC,CAAC;QACjC,IAAA,yBAAgB,EAAC,KAAK,CAAC,CAAC;QACxB,OAAO,KAAK,CAAC;KACd;IAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1D,IAAA,yBAAgB,EAAC,KAAK,CAAC,CAAC;IACxB,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAhBW,QAAA,sBAAsB,0BAgBjC","sourcesContent":["import { sanitizeError } from 'dop-sharedmodels-v3';\nimport { sendErrorMessage } from './logger';\n\nexport const reportAndSanitizeError = (\n func: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n err: Error | any,\n): Error => {\n sendErrorMessage(`Caught error in DOP Wallet SDK: ${func}`);\n\n if (err instanceof Error) {\n const error = sanitizeError(err);\n sendErrorMessage(error);\n return error;\n }\n\n const error = new Error('Unknown error.', { cause: err });\n sendErrorMessage(error);\n return error;\n};\n"]}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/utils/error.ts"],"names":[],"mappings":";;;AAAA,6DAAoD;AACpD,qCAA4C;AAErC,MAAM,sBAAsB,GAAG,CACpC,IAAY;AACZ,8DAA8D;AAC9D,GAAgB,EACT,EAAE;IACT,IAAA,yBAAgB,EAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;IAE5D,IAAI,GAAG,YAAY,KAAK,EAAE;QACxB,MAAM,KAAK,GAAG,IAAA,mCAAa,EAAC,GAAG,CAAC,CAAC;QACjC,IAAA,yBAAgB,EAAC,KAAK,CAAC,CAAC;QACxB,OAAO,KAAK,CAAC;KACd;IAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1D,IAAA,yBAAgB,EAAC,KAAK,CAAC,CAAC;IACxB,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAhBW,QAAA,sBAAsB,0BAgBjC","sourcesContent":["import { sanitizeError } from 'dop-sharedmodels-v5';\nimport { sendErrorMessage } from './logger';\n\nexport const reportAndSanitizeError = (\n func: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n err: Error | any,\n): Error => {\n sendErrorMessage(`Caught error in DOP Wallet SDK: ${func}`);\n\n if (err instanceof Error) {\n const error = sanitizeError(err);\n sendErrorMessage(error);\n return error;\n }\n\n const error = new Error('Unknown error.', { cause: err });\n sendErrorMessage(error);\n return error;\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { NetworkName } from 'dop-sharedmodels-v3';
1
+ import { NetworkName } from 'dop-sharedmodels-v5';
2
2
  /**
3
3
  * L2s don't manage gas prices in the same way. tx.gasprice (contract) is not necessarily the same value as transactionRequest.gasPrice (ethers).
4
4
  * Since overallBatchMinGasPrice is an optional parameter, we simply remove it for L2s. This will skip validation on the contract side.
@@ -1 +1 @@
1
- {"version":3,"file":"gas-price.js","sourceRoot":"","sources":["../../src/utils/gas-price.ts"],"names":[],"mappings":";;;AAAA,6DAAkD;AAElD;;;GAGG;AACI,MAAM,0CAA0C,GAAG,CACxD,oBAA6B,EAC7B,WAAwB,EACxB,EAAE;IACF,IAAI,oBAAoB,EAAE;QACxB,iEAAiE;QACjE,OAAO,KAAK,CAAC;KACd;IACD,QAAQ,WAAW,EAAE;QACnB,KAAK,iCAAW,CAAC,QAAQ;YACvB,8CAA8C;YAC9C,OAAO,KAAK,CAAC;QACf,KAAK,iCAAW,CAAC,QAAQ,CAAC;QAC1B,KAAK,iCAAW,CAAC,QAAQ,CAAC;QAC1B,KAAK,iCAAW,CAAC,OAAO,CAAC;QACzB,KAAK,iCAAW,CAAC,MAAM,CAAC;QACxB,KAAK,iCAAW,CAAC,WAAW,CAAC;QAC7B,KAAK,iCAAW,CAAC,yBAAyB,CAAC;QAC3C,KAAK,iCAAW,CAAC,0BAA0B,CAAC;QAC5C,KAAK,iCAAW,CAAC,yBAAyB,CAAC;QAC3C,KAAK,iCAAW,CAAC,wBAAwB,CAAC;QAC1C,KAAK,iCAAW,CAAC,eAAe,CAAC;QACjC,KAAK,iCAAW,CAAC,OAAO;YACtB,OAAO,IAAI,CAAC;QACd;YACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;KAC5C;AACH,CAAC,CAAC;AA3BW,QAAA,0CAA0C,8CA2BrD","sourcesContent":["import { NetworkName } from 'dop-sharedmodels-v3';\n\n/**\n * L2s don't manage gas prices in the same way. tx.gasprice (contract) is not necessarily the same value as transactionRequest.gasPrice (ethers).\n * Since overallBatchMinGasPrice is an optional parameter, we simply remove it for L2s. This will skip validation on the contract side.\n */\nexport const shouldSetOverallBatchMinGasPriceForNetwork = (\n sendWithPublicWallet: boolean,\n networkName: NetworkName,\n) => {\n if (sendWithPublicWallet) {\n // Only Broadcaster transactions require overallBatchMinGasPrice.\n return false;\n }\n switch (networkName) {\n case NetworkName.Arbitrum:\n // L2s should not set overallBatchMinGasPrice.\n return false;\n case NetworkName.Ethereum:\n case NetworkName.BNBChain:\n case NetworkName.Polygon:\n case NetworkName.Xlayer:\n case NetworkName.PolygonAmoy:\n case NetworkName.ArbitrumGoerli_DEPRECATED:\n case NetworkName.EthereumRopsten_DEPRECATED:\n case NetworkName.EthereumGoerli_DEPRECATED:\n case NetworkName.PolygonMumbai_DEPRECATED:\n case NetworkName.EthereumSepolia:\n case NetworkName.Hardhat:\n return true;\n default:\n throw new Error('Undefined networkName');\n }\n};\n"]}
1
+ {"version":3,"file":"gas-price.js","sourceRoot":"","sources":["../../src/utils/gas-price.ts"],"names":[],"mappings":";;;AAAA,6DAAkD;AAElD;;;GAGG;AACI,MAAM,0CAA0C,GAAG,CACxD,oBAA6B,EAC7B,WAAwB,EACxB,EAAE;IACF,IAAI,oBAAoB,EAAE;QACxB,iEAAiE;QACjE,OAAO,KAAK,CAAC;KACd;IACD,QAAQ,WAAW,EAAE;QACnB,KAAK,iCAAW,CAAC,QAAQ;YACvB,8CAA8C;YAC9C,OAAO,KAAK,CAAC;QACf,KAAK,iCAAW,CAAC,QAAQ,CAAC;QAC1B,KAAK,iCAAW,CAAC,QAAQ,CAAC;QAC1B,KAAK,iCAAW,CAAC,OAAO,CAAC;QACzB,KAAK,iCAAW,CAAC,MAAM,CAAC;QACxB,KAAK,iCAAW,CAAC,WAAW,CAAC;QAC7B,KAAK,iCAAW,CAAC,yBAAyB,CAAC;QAC3C,KAAK,iCAAW,CAAC,0BAA0B,CAAC;QAC5C,KAAK,iCAAW,CAAC,yBAAyB,CAAC;QAC3C,KAAK,iCAAW,CAAC,wBAAwB,CAAC;QAC1C,KAAK,iCAAW,CAAC,eAAe,CAAC;QACjC,KAAK,iCAAW,CAAC,OAAO;YACtB,OAAO,IAAI,CAAC;QACd;YACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;KAC5C;AACH,CAAC,CAAC;AA3BW,QAAA,0CAA0C,8CA2BrD","sourcesContent":["import { NetworkName } from 'dop-sharedmodels-v5';\n\n/**\n * L2s don't manage gas prices in the same way. tx.gasprice (contract) is not necessarily the same value as transactionRequest.gasPrice (ethers).\n * Since overallBatchMinGasPrice is an optional parameter, we simply remove it for L2s. This will skip validation on the contract side.\n */\nexport const shouldSetOverallBatchMinGasPriceForNetwork = (\n sendWithPublicWallet: boolean,\n networkName: NetworkName,\n) => {\n if (sendWithPublicWallet) {\n // Only Broadcaster transactions require overallBatchMinGasPrice.\n return false;\n }\n switch (networkName) {\n case NetworkName.Arbitrum:\n // L2s should not set overallBatchMinGasPrice.\n return false;\n case NetworkName.Ethereum:\n case NetworkName.BNBChain:\n case NetworkName.Polygon:\n case NetworkName.Xlayer:\n case NetworkName.PolygonAmoy:\n case NetworkName.ArbitrumGoerli_DEPRECATED:\n case NetworkName.EthereumRopsten_DEPRECATED:\n case NetworkName.EthereumGoerli_DEPRECATED:\n case NetworkName.PolygonMumbai_DEPRECATED:\n case NetworkName.EthereumSepolia:\n case NetworkName.Hardhat:\n return true;\n default:\n throw new Error('Undefined networkName');\n }\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dop-wallet-v6",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "description": "DOP Wallet SDK, compatible with mobile, browser and nodejs environments.",
5
5
  "main": "dist/index.js",
6
6
  "license": "MIT",