dop-wallet-v6 1.2.1 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) 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 +1 -1
  4. package/dist/services/artifacts/artifact-downloader.js.map +1 -1
  5. package/dist/services/artifacts/artifact-hash.d.ts +1 -1
  6. package/dist/services/artifacts/artifact-hash.js +2 -2
  7. package/dist/services/artifacts/artifact-hash.js.map +1 -1
  8. package/dist/services/artifacts/artifact-util.d.ts +1 -1
  9. package/dist/services/artifacts/artifact-util.js +1 -1
  10. package/dist/services/artifacts/artifact-util.js.map +1 -1
  11. package/dist/services/dop/core/__tests__/providers.test.js +2 -2
  12. package/dist/services/dop/core/__tests__/providers.test.js.map +1 -1
  13. package/dist/services/dop/core/artifacts.d.ts +2 -2
  14. package/dist/services/dop/core/artifacts.js +1 -1
  15. package/dist/services/dop/core/artifacts.js.map +1 -1
  16. package/dist/services/dop/core/encrypts.d.ts +1 -1
  17. package/dist/services/dop/core/encrypts.js +2 -2
  18. package/dist/services/dop/core/encrypts.js.map +1 -1
  19. package/dist/services/dop/core/engine.d.ts +1 -1
  20. package/dist/services/dop/core/engine.js +1 -1
  21. package/dist/services/dop/core/engine.js.map +1 -1
  22. package/dist/services/dop/core/init.d.ts +2 -2
  23. package/dist/services/dop/core/init.js +2 -2
  24. package/dist/services/dop/core/init.js.map +1 -1
  25. package/dist/services/dop/core/load-provider.d.ts +1 -1
  26. package/dist/services/dop/core/load-provider.js +2 -2
  27. package/dist/services/dop/core/load-provider.js.map +1 -1
  28. package/dist/services/dop/core/merkletree.d.ts +3 -3
  29. package/dist/services/dop/core/merkletree.js +2 -2
  30. package/dist/services/dop/core/merkletree.js.map +1 -1
  31. package/dist/services/dop/core/prover.d.ts +1 -1
  32. package/dist/services/dop/core/prover.js +1 -1
  33. package/dist/services/dop/core/prover.js.map +1 -1
  34. package/dist/services/dop/core/providers.d.ts +2 -2
  35. package/dist/services/dop/core/providers.js +1 -1
  36. package/dist/services/dop/core/providers.js.map +1 -1
  37. package/dist/services/dop/dop-txids/__tests__/dop-txid-sync-graph-v2.test.js +1 -1
  38. package/dist/services/dop/dop-txids/__tests__/dop-txid-sync-graph-v2.test.js.map +1 -1
  39. package/dist/services/dop/dop-txids/blinded-commitments.d.ts +1 -1
  40. package/dist/services/dop/dop-txids/blinded-commitments.js +1 -1
  41. package/dist/services/dop/dop-txids/blinded-commitments.js.map +1 -1
  42. package/dist/services/dop/dop-txids/dop-txid-graph-type-formatters.d.ts +1 -1
  43. package/dist/services/dop/dop-txids/dop-txid-graph-type-formatters.js +1 -1
  44. package/dist/services/dop/dop-txids/dop-txid-graph-type-formatters.js.map +1 -1
  45. package/dist/services/dop/dop-txids/dop-txid-merkletrees.d.ts +1 -1
  46. package/dist/services/dop/dop-txids/dop-txid-merkletrees.js +1 -1
  47. package/dist/services/dop/dop-txids/dop-txid-merkletrees.js.map +1 -1
  48. package/dist/services/dop/dop-txids/dop-txid-sync-graph-v2.d.ts +1 -1
  49. package/dist/services/dop/dop-txids/dop-txid-sync-graph-v2.js +2 -2
  50. package/dist/services/dop/dop-txids/dop-txid-sync-graph-v2.js.map +1 -1
  51. package/dist/services/dop/history/transaction-history.d.ts +2 -2
  52. package/dist/services/dop/history/transaction-history.js +2 -2
  53. package/dist/services/dop/history/transaction-history.js.map +1 -1
  54. package/dist/services/dop/process/extract-transaction-data.d.ts +1 -1
  55. package/dist/services/dop/process/extract-transaction-data.js +1 -1
  56. package/dist/services/dop/process/extract-transaction-data.js.map +1 -1
  57. package/dist/services/dop/quick-sync/V2/__tests__/quick-sync-events-graph-v2.test.js +2 -2
  58. package/dist/services/dop/quick-sync/V2/__tests__/quick-sync-events-graph-v2.test.js.map +1 -1
  59. package/dist/services/dop/quick-sync/V2/graph-type-formatters-v2.d.ts +1 -1
  60. package/dist/services/dop/quick-sync/V2/graph-type-formatters-v2.js +2 -2
  61. package/dist/services/dop/quick-sync/V2/graph-type-formatters-v2.js.map +1 -1
  62. package/dist/services/dop/quick-sync/V2/quick-sync-events-graph-v2.d.ts +1 -1
  63. package/dist/services/dop/quick-sync/V2/quick-sync-events-graph-v2.js +1 -1
  64. package/dist/services/dop/quick-sync/V2/quick-sync-events-graph-v2.js.map +1 -1
  65. package/dist/services/dop/quick-sync/V3/__tests__/quick-sync-events-graph-v3.test.js +2 -2
  66. package/dist/services/dop/quick-sync/V3/__tests__/quick-sync-events-graph-v3.test.js.map +1 -1
  67. package/dist/services/dop/quick-sync/V3/graph-type-formatters-v3.d.ts +2 -2
  68. package/dist/services/dop/quick-sync/V3/graph-type-formatters-v3.js +1 -1
  69. package/dist/services/dop/quick-sync/V3/graph-type-formatters-v3.js.map +1 -1
  70. package/dist/services/dop/quick-sync/V3/quick-sync-events-graph-v3.d.ts +1 -1
  71. package/dist/services/dop/quick-sync/V3/quick-sync-events-graph-v3.js +2 -2
  72. package/dist/services/dop/quick-sync/V3/quick-sync-events-graph-v3.js.map +1 -1
  73. package/dist/services/dop/quick-sync/graph-query.d.ts +1 -1
  74. package/dist/services/dop/quick-sync/graph-query.js +1 -1
  75. package/dist/services/dop/quick-sync/graph-query.js.map +1 -1
  76. package/dist/services/dop/quick-sync/quick-sync-events.d.ts +2 -2
  77. package/dist/services/dop/quick-sync/quick-sync-events.js.map +1 -1
  78. package/dist/services/dop/quick-sync/shared-formatters.d.ts +1 -1
  79. package/dist/services/dop/quick-sync/shared-formatters.js +1 -1
  80. package/dist/services/dop/quick-sync/shared-formatters.js.map +1 -1
  81. package/dist/services/dop/util/bytes.d.ts +1 -1
  82. package/dist/services/dop/util/bytes.js +1 -1
  83. package/dist/services/dop/util/bytes.js.map +1 -1
  84. package/dist/services/dop/util/crypto.d.ts +2 -2
  85. package/dist/services/dop/util/crypto.js +1 -1
  86. package/dist/services/dop/util/crypto.js.map +1 -1
  87. package/dist/services/dop/wallets/__tests__/balances-live.test.js +1 -1
  88. package/dist/services/dop/wallets/__tests__/balances-live.test.js.map +1 -1
  89. package/dist/services/dop/wallets/__tests__/balances-update.test.js +2 -2
  90. package/dist/services/dop/wallets/__tests__/balances-update.test.js.map +1 -1
  91. package/dist/services/dop/wallets/__tests__/balances.test.js +2 -2
  92. package/dist/services/dop/wallets/__tests__/balances.test.js.map +1 -1
  93. package/dist/services/dop/wallets/__tests__/wallets.test.js +1 -1
  94. package/dist/services/dop/wallets/__tests__/wallets.test.js.map +1 -1
  95. package/dist/services/dop/wallets/balance-update.d.ts +2 -2
  96. package/dist/services/dop/wallets/balance-update.js +2 -2
  97. package/dist/services/dop/wallets/balance-update.js.map +1 -1
  98. package/dist/services/dop/wallets/balances.d.ts +1 -1
  99. package/dist/services/dop/wallets/balances.js.map +1 -1
  100. package/dist/services/dop/wallets/wallets.d.ts +2 -2
  101. package/dist/services/dop/wallets/wallets.js +2 -2
  102. package/dist/services/dop/wallets/wallets.js.map +1 -1
  103. package/dist/services/ethers/ethers-util.js +1 -1
  104. package/dist/services/ethers/ethers-util.js.map +1 -1
  105. package/dist/services/transactions/__tests__/proof-cache.test.js +1 -1
  106. package/dist/services/transactions/__tests__/proof-cache.test.js.map +1 -1
  107. package/dist/services/transactions/__tests__/tx-cross-contract-calls.test.js +2 -2
  108. package/dist/services/transactions/__tests__/tx-cross-contract-calls.test.js.map +1 -1
  109. package/dist/services/transactions/__tests__/tx-encrypt-base-token.test.js +2 -2
  110. package/dist/services/transactions/__tests__/tx-encrypt-base-token.test.js.map +1 -1
  111. package/dist/services/transactions/__tests__/tx-gas-details.test.js +1 -1
  112. package/dist/services/transactions/__tests__/tx-gas-details.test.js.map +1 -1
  113. package/dist/services/transactions/__tests__/tx-notes.test.js +1 -1
  114. package/dist/services/transactions/__tests__/tx-notes.test.js.map +1 -1
  115. package/dist/services/transactions/__tests__/tx-transfer.test.js +2 -2
  116. package/dist/services/transactions/__tests__/tx-transfer.test.js.map +1 -1
  117. package/dist/services/transactions/proof-cache.d.ts +1 -1
  118. package/dist/services/transactions/proof-cache.js +1 -1
  119. package/dist/services/transactions/proof-cache.js.map +1 -1
  120. package/dist/services/transactions/tx-cross-contract-calls.d.ts +2 -2
  121. package/dist/services/transactions/tx-cross-contract-calls.js +2 -2
  122. package/dist/services/transactions/tx-cross-contract-calls.js.map +1 -1
  123. package/dist/services/transactions/tx-decrypt.d.ts +1 -1
  124. package/dist/services/transactions/tx-decrypt.js +2 -2
  125. package/dist/services/transactions/tx-decrypt.js.map +1 -1
  126. package/dist/services/transactions/tx-encrypt-base-token.d.ts +1 -1
  127. package/dist/services/transactions/tx-encrypt-base-token.js +2 -2
  128. package/dist/services/transactions/tx-encrypt-base-token.js.map +1 -1
  129. package/dist/services/transactions/tx-encrypt.d.ts +1 -1
  130. package/dist/services/transactions/tx-encrypt.js +2 -2
  131. package/dist/services/transactions/tx-encrypt.js.map +1 -1
  132. package/dist/services/transactions/tx-gas-broadcaster-fee-estimator.d.ts +2 -2
  133. package/dist/services/transactions/tx-gas-broadcaster-fee-estimator.js +2 -2
  134. package/dist/services/transactions/tx-gas-broadcaster-fee-estimator.js.map +1 -1
  135. package/dist/services/transactions/tx-gas-details.d.ts +1 -1
  136. package/dist/services/transactions/tx-gas-details.js +2 -2
  137. package/dist/services/transactions/tx-gas-details.js.map +1 -1
  138. package/dist/services/transactions/tx-generator.d.ts +2 -2
  139. package/dist/services/transactions/tx-generator.js +2 -2
  140. package/dist/services/transactions/tx-generator.js.map +1 -1
  141. package/dist/services/transactions/tx-notes.d.ts +2 -2
  142. package/dist/services/transactions/tx-notes.js +2 -2
  143. package/dist/services/transactions/tx-notes.js.map +1 -1
  144. package/dist/services/transactions/tx-nullifiers.d.ts +1 -1
  145. package/dist/services/transactions/tx-nullifiers.js.map +1 -1
  146. package/dist/services/transactions/tx-proof-decrypt.d.ts +1 -1
  147. package/dist/services/transactions/tx-proof-decrypt.js +2 -2
  148. package/dist/services/transactions/tx-proof-decrypt.js.map +1 -1
  149. package/dist/services/transactions/tx-proof-transfer.d.ts +1 -1
  150. package/dist/services/transactions/tx-proof-transfer.js +1 -1
  151. package/dist/services/transactions/tx-proof-transfer.js.map +1 -1
  152. package/dist/services/transactions/tx-transfer.d.ts +1 -1
  153. package/dist/services/transactions/tx-transfer.js +1 -1
  154. package/dist/services/transactions/tx-transfer.js.map +1 -1
  155. package/dist/tests/helper.test.d.ts +1 -1
  156. package/dist/tests/helper.test.js +1 -1
  157. package/dist/tests/helper.test.js.map +1 -1
  158. package/dist/tests/mocks.test.d.ts +2 -2
  159. package/dist/tests/mocks.test.js +1 -1
  160. package/dist/tests/mocks.test.js.map +1 -1
  161. package/dist/tests/poi/test-wallet-poi-requester.test.d.ts +2 -2
  162. package/dist/tests/poi/test-wallet-poi-requester.test.js.map +1 -1
  163. package/dist/tests/setup.test.d.ts +2 -2
  164. package/dist/tests/setup.test.js +1 -1
  165. package/dist/tests/setup.test.js.map +1 -1
  166. package/dist/tests/stubs/engine-stubs.test.d.ts +1 -1
  167. package/dist/tests/stubs/engine-stubs.test.js +1 -1
  168. package/dist/tests/stubs/engine-stubs.test.js.map +1 -1
  169. package/dist/utils/blocked-address.js +1 -1
  170. package/dist/utils/blocked-address.js.map +1 -1
  171. package/dist/utils/error.js +1 -1
  172. package/dist/utils/error.js.map +1 -1
  173. package/dist/utils/gas-price.d.ts +1 -1
  174. package/dist/utils/gas-price.js +1 -1
  175. package/dist/utils/gas-price.js.map +1 -1
  176. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tx-gas-details.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-gas-details.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DopTransactionGasEstimateResponse,\n EVMGasType,\n calculateGasLimit,\n NetworkName,\n getEVMGasTypeForTransaction,\n CommitmentSummary,\n TransactionGasDetails,\n TXIDVersion,\n} from 'dop-sharedmodels-v3';\nimport { getFallbackProviderForNetwork } from '../dop';\nimport { reportAndSanitizeError } from '../../utils/error';\nimport {\n GAS_ESTIMATE_VARIANCE_DUMMY_TO_ACTUAL_TRANSACTION,\n RelayAdaptVersionedSmartContracts,\n} from 'dop-engine-v3';\nimport { ContractTransaction } from 'ethers';\n\nexport const getGasEstimate = async (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n transaction: ContractTransaction,\n fromWalletAddress: string,\n sendWithPublicWallet: boolean,\n isCrossContractCall: boolean,\n): Promise<bigint> => {\n const evmGasType = getEVMGasTypeForTransaction(\n networkName,\n sendWithPublicWallet,\n );\n\n // Add 'from' field, which is required, as a mock address.\n // Note that DEPOSIT needs a real address, as it checks the balance for transfer.\n const estimateGasTransactionRequest: ContractTransaction = {\n ...transaction,\n from: fromWalletAddress,\n type: evmGasType,\n };\n if (shouldRemoveGasLimitForL2GasEstimate(networkName)) {\n delete estimateGasTransactionRequest.gasLimit;\n }\n\n try {\n return estimateGas(\n txidVersion,\n networkName,\n estimateGasTransactionRequest,\n isCrossContractCall,\n );\n } catch (err) {\n throw reportAndSanitizeError(getGasEstimate.name, err);\n }\n};\n\nconst estimateGas = (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n transaction: ContractTransaction,\n isCrossContractCall: boolean,\n): Promise<bigint> => {\n const provider = getFallbackProviderForNetwork(networkName);\n if (isCrossContractCall) {\n // Includes custom error handler for relay-adapt transactions.\n return RelayAdaptVersionedSmartContracts.estimateGasWithErrorHandler(\n txidVersion,\n provider,\n transaction,\n );\n }\n return provider.estimateGas(transaction);\n};\n\n/**\n * Gas estimates can fail for relay-adapt transactions on L2s like Arbitrum.\n * This occurs on cross-contract calls (relay-adapt) which have a manual minimum gas limit set by Dop Engine.\n */\nconst shouldRemoveGasLimitForL2GasEstimate = (networkName: NetworkName) => {\n switch (networkName) {\n case NetworkName.Arbitrum:\n return true;\n case NetworkName.Ethereum:\n case NetworkName.BNBChain:\n case NetworkName.Polygon:\n case NetworkName.Xlayer:\n case NetworkName.PolygonAmoy:\n case NetworkName.EthereumRopsten_DEPRECATED:\n case NetworkName.EthereumGoerli_DEPRECATED:\n case NetworkName.ArbitrumGoerli_DEPRECATED:\n case NetworkName.PolygonMumbai_DEPRECATED:\n case NetworkName.EthereumSepolia:\n case NetworkName.Hardhat:\n default:\n return false;\n }\n};\n\nexport const gasEstimateResponse = (\n gasEstimate: bigint,\n broadcasterFeeCommitment: Optional<CommitmentSummary>,\n isGasEstimateWithDummyProof: boolean,\n): DopTransactionGasEstimateResponse => {\n // TODO: This variance will be different on L2s.\n // However, it's small enough that it shouldn't matter very much.\n const gasEstimateWithDummyProofVariance = isGasEstimateWithDummyProof\n ? gasEstimate + BigInt(GAS_ESTIMATE_VARIANCE_DUMMY_TO_ACTUAL_TRANSACTION)\n : gasEstimate;\n\n const response: DopTransactionGasEstimateResponse = {\n gasEstimate: gasEstimateWithDummyProofVariance,\n broadcasterFeeCommitment,\n };\n return response;\n};\n\nexport const setGasDetailsForTransaction = (\n networkName: NetworkName,\n transaction: ContractTransaction,\n gasDetails: TransactionGasDetails,\n sendWithPublicWallet: boolean,\n) => {\n const { gasEstimate } = gasDetails;\n\n // eslint-disable-next-line no-param-reassign\n transaction.gasLimit = calculateGasLimit(gasEstimate);\n\n const evmGasType = getEVMGasTypeForTransaction(\n networkName,\n sendWithPublicWallet,\n );\n\n if (gasDetails.evmGasType !== evmGasType) {\n const transactionType = sendWithPublicWallet\n ? 'self-signed'\n : 'Broadcaster';\n throw new Error(\n `Invalid evmGasType for ${networkName} (${transactionType}): expected Type${evmGasType}, received Type${gasDetails.evmGasType} in gasDetails. Retrieve appropriate gas type with getEVMGasTypeForTransaction (dop-sharedmodels-v3).`,\n );\n }\n\n // eslint-disable-next-line no-param-reassign\n transaction.type = gasDetails.evmGasType;\n\n switch (gasDetails.evmGasType) {\n case EVMGasType.Type0: {\n // eslint-disable-next-line no-param-reassign\n transaction.gasPrice = gasDetails.gasPrice;\n // eslint-disable-next-line no-param-reassign\n delete transaction.accessList;\n break;\n }\n case EVMGasType.Type1: {\n // eslint-disable-next-line no-param-reassign\n transaction.gasPrice = gasDetails.gasPrice;\n break;\n }\n case EVMGasType.Type2: {\n // eslint-disable-next-line no-param-reassign\n transaction.maxFeePerGas = gasDetails.maxFeePerGas;\n // eslint-disable-next-line no-param-reassign\n transaction.maxPriorityFeePerGas = gasDetails.maxPriorityFeePerGas;\n break;\n }\n }\n};\n"]}
1
+ {"version":3,"file":"tx-gas-details.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-gas-details.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DopTransactionGasEstimateResponse,\n EVMGasType,\n calculateGasLimit,\n NetworkName,\n getEVMGasTypeForTransaction,\n CommitmentSummary,\n TransactionGasDetails,\n TXIDVersion,\n} from 'dop-sharedmodels-v5';\nimport { getFallbackProviderForNetwork } from '../dop';\nimport { reportAndSanitizeError } from '../../utils/error';\nimport {\n GAS_ESTIMATE_VARIANCE_DUMMY_TO_ACTUAL_TRANSACTION,\n RelayAdaptVersionedSmartContracts,\n} from 'dop-engine-v5';\nimport { ContractTransaction } from 'ethers';\n\nexport const getGasEstimate = async (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n transaction: ContractTransaction,\n fromWalletAddress: string,\n sendWithPublicWallet: boolean,\n isCrossContractCall: boolean,\n): Promise<bigint> => {\n const evmGasType = getEVMGasTypeForTransaction(\n networkName,\n sendWithPublicWallet,\n );\n\n // Add 'from' field, which is required, as a mock address.\n // Note that DEPOSIT needs a real address, as it checks the balance for transfer.\n const estimateGasTransactionRequest: ContractTransaction = {\n ...transaction,\n from: fromWalletAddress,\n type: evmGasType,\n };\n if (shouldRemoveGasLimitForL2GasEstimate(networkName)) {\n delete estimateGasTransactionRequest.gasLimit;\n }\n\n try {\n return estimateGas(\n txidVersion,\n networkName,\n estimateGasTransactionRequest,\n isCrossContractCall,\n );\n } catch (err) {\n throw reportAndSanitizeError(getGasEstimate.name, err);\n }\n};\n\nconst estimateGas = (\n txidVersion: TXIDVersion,\n networkName: NetworkName,\n transaction: ContractTransaction,\n isCrossContractCall: boolean,\n): Promise<bigint> => {\n const provider = getFallbackProviderForNetwork(networkName);\n if (isCrossContractCall) {\n // Includes custom error handler for relay-adapt transactions.\n return RelayAdaptVersionedSmartContracts.estimateGasWithErrorHandler(\n txidVersion,\n provider,\n transaction,\n );\n }\n return provider.estimateGas(transaction);\n};\n\n/**\n * Gas estimates can fail for relay-adapt transactions on L2s like Arbitrum.\n * This occurs on cross-contract calls (relay-adapt) which have a manual minimum gas limit set by Dop Engine.\n */\nconst shouldRemoveGasLimitForL2GasEstimate = (networkName: NetworkName) => {\n switch (networkName) {\n case NetworkName.Arbitrum:\n return true;\n case NetworkName.Ethereum:\n case NetworkName.BNBChain:\n case NetworkName.Polygon:\n case NetworkName.Xlayer:\n case NetworkName.PolygonAmoy:\n case NetworkName.EthereumRopsten_DEPRECATED:\n case NetworkName.EthereumGoerli_DEPRECATED:\n case NetworkName.ArbitrumGoerli_DEPRECATED:\n case NetworkName.PolygonMumbai_DEPRECATED:\n case NetworkName.EthereumSepolia:\n case NetworkName.Hardhat:\n default:\n return false;\n }\n};\n\nexport const gasEstimateResponse = (\n gasEstimate: bigint,\n broadcasterFeeCommitment: Optional<CommitmentSummary>,\n isGasEstimateWithDummyProof: boolean,\n): DopTransactionGasEstimateResponse => {\n // TODO: This variance will be different on L2s.\n // However, it's small enough that it shouldn't matter very much.\n const gasEstimateWithDummyProofVariance = isGasEstimateWithDummyProof\n ? gasEstimate + BigInt(GAS_ESTIMATE_VARIANCE_DUMMY_TO_ACTUAL_TRANSACTION)\n : gasEstimate;\n\n const response: DopTransactionGasEstimateResponse = {\n gasEstimate: gasEstimateWithDummyProofVariance,\n broadcasterFeeCommitment,\n };\n return response;\n};\n\nexport const setGasDetailsForTransaction = (\n networkName: NetworkName,\n transaction: ContractTransaction,\n gasDetails: TransactionGasDetails,\n sendWithPublicWallet: boolean,\n) => {\n const { gasEstimate } = gasDetails;\n\n // eslint-disable-next-line no-param-reassign\n transaction.gasLimit = calculateGasLimit(gasEstimate);\n\n const evmGasType = getEVMGasTypeForTransaction(\n networkName,\n sendWithPublicWallet,\n );\n\n if (gasDetails.evmGasType !== evmGasType) {\n const transactionType = sendWithPublicWallet\n ? 'self-signed'\n : 'Broadcaster';\n throw new Error(\n `Invalid evmGasType for ${networkName} (${transactionType}): expected Type${evmGasType}, received Type${gasDetails.evmGasType} in gasDetails. Retrieve appropriate gas type with getEVMGasTypeForTransaction (dop-sharedmodels-v3).`,\n );\n }\n\n // eslint-disable-next-line no-param-reassign\n transaction.type = gasDetails.evmGasType;\n\n switch (gasDetails.evmGasType) {\n case EVMGasType.Type0: {\n // eslint-disable-next-line no-param-reassign\n transaction.gasPrice = gasDetails.gasPrice;\n // eslint-disable-next-line no-param-reassign\n delete transaction.accessList;\n break;\n }\n case EVMGasType.Type1: {\n // eslint-disable-next-line no-param-reassign\n transaction.gasPrice = gasDetails.gasPrice;\n break;\n }\n case EVMGasType.Type2: {\n // eslint-disable-next-line no-param-reassign\n transaction.maxFeePerGas = gasDetails.maxFeePerGas;\n // eslint-disable-next-line no-param-reassign\n transaction.maxPriorityFeePerGas = gasDetails.maxPriorityFeePerGas;\n break;\n }\n }\n};\n"]}
@@ -1,5 +1,5 @@
1
- import { AdaptID, TransactionStructV2, TransactionStructV3 } from 'dop-engine-v3';
2
- import { DopERC20Amount, DopERC20AmountRecipient, NetworkName, ProofType, DopNFTAmountRecipient, TXIDVersion } from 'dop-sharedmodels-v3';
1
+ import { AdaptID, TransactionStructV2, TransactionStructV3 } from 'dop-engine-v5';
2
+ import { DopERC20Amount, DopERC20AmountRecipient, NetworkName, ProofType, DopNFTAmountRecipient, TXIDVersion } from 'dop-sharedmodels-v5';
3
3
  import { ContractTransaction } from 'ethers';
4
4
  export declare const DUMMY_FROM_ADDRESS = "0x000000000000000000000000000000000000dEaD";
5
5
  export type GenerateTransactionsProgressCallback = (progress: number, status: string) => void;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateDecryptBaseToken = exports.generateTransact = exports.generateDummyProofTransactions = exports.createDummyBroadcasterFeeERC20Amount = exports.nullifiersForTransactions = exports.generateProofTransactions = exports.DUMMY_FROM_ADDRESS = void 0;
4
- const dop_engine_v3_1 = require("dop-engine-v3");
5
- const dop_sharedmodels_v3_1 = require("dop-sharedmodels-v3");
4
+ const dop_engine_v3_1 = require("dop-engine-v5");
5
+ const dop_sharedmodels_v3_1 = require("dop-sharedmodels-v5");
6
6
  const tx_notes_1 = require("./tx-notes");
7
7
  const prover_1 = require("../dop/core/prover");
8
8
  const wallets_1 = require("../dop/wallets/wallets");
@@ -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,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TransactNote = exports.compareNFTAmountRecipientArrays = exports.compareNFTAmountArrays = exports.compareERC20RecipientArrays = exports.compareERC20AmountRecipientArrays = exports.compareERC20AmountArrays = exports.compareERC20AmountRecipients = exports.nftNoteFromNFTAmountRecipient = exports.erc20NoteFromERC20AmountRecipient = void 0;
4
- const dop_engine_v3_1 = require("dop-engine-v3");
4
+ const dop_engine_v3_1 = require("dop-engine-v5");
5
5
  Object.defineProperty(exports, "TransactNote", { enumerable: true, get: function () { return dop_engine_v3_1.TransactNote; } });
6
- const dop_sharedmodels_v3_1 = require("dop-sharedmodels-v3");
6
+ const dop_sharedmodels_v3_1 = require("dop-sharedmodels-v5");
7
7
  const erc20NoteFromERC20AmountRecipient = (erc20AmountRecipient, dopWallet, outputType, showSenderAddressToRecipient, memoText) => {
8
8
  const { amount, recipientAddress } = erc20AmountRecipient;
9
9
  const receiverAddressData = dop_engine_v3_1.DopEngine.decodeAddress(recipientAddress);
@@ -1 +1 @@
1
- {"version":3,"file":"tx-notes.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-notes.ts"],"names":[],"mappings":";;;AAAA,iDAOuB;AA4Od,6FAjPP,4BAAY,OAiPO;AA3OrB,6DAO6B;AAEtB,MAAM,iCAAiC,GAAG,CAC/C,oBAA6C,EAC7C,SAAoB,EACpB,UAAsB,EACtB,4BAAqC,EACrC,QAA0B,EACZ,EAAE;IAChB,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,oBAAoB,CAAC;IAE1D,MAAM,mBAAmB,GAAG,yBAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAEtE,MAAM,SAAS,GAAG,IAAA,iCAAiB,EAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAEvE,OAAO,4BAAY,CAAC,cAAc,CAChC,mBAAmB,EACnB,SAAS,CAAC,WAAW,EACrB,MAAM,EACN,SAAS,EACT,4BAA4B,EAC5B,UAAU,EACV,QAAQ,CACT,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,iCAAiC,qCAsB5C;AAEK,MAAM,6BAA6B,GAAG,CAC3C,kBAAyC,EACzC,SAAoB,EACpB,4BAAqC,EACrC,QAA0B,EACZ,EAAE;IAChB,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,GACtE,kBAAkB,CAAC;IAErB,MAAM,mBAAmB,GAAG,yBAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAEtE,MAAM,SAAS,GAAG,IAAA,+BAAe,EAC/B,UAAU,EACV,YAAqB,EACrB,UAAU,CACX,CAAC;IAEF,QAAQ,YAAY,EAAE;QACpB,KAAK,kCAAY,CAAC,MAAM;YACtB,OAAO,4BAAY,CAAC,oBAAoB,CACtC,mBAAmB,EACnB,SAAS,CAAC,WAAW,EACrB,SAAS,EACT,4BAA4B,EAC5B,QAAQ,CACT,CAAC;QACJ,KAAK,kCAAY,CAAC,OAAO;YACvB,OAAO,4BAAY,CAAC,qBAAqB,CACvC,mBAAmB,EACnB,SAAS,CAAC,WAAW,EACrB,SAAS,EACT,MAAM,CAAC,MAAM,CAAC,EACd,4BAA4B,EAC5B,QAAQ,CACT,CAAC;KACL;AACH,CAAC,CAAC;AApCW,QAAA,6BAA6B,iCAoCxC;AAEF,MAAM,mBAAmB,GAAG,CAC1B,CAA2B,EAC3B,CAA2B,EAC3B,EAAE;IACF,OAAO,CAAC,EAAE,YAAY,KAAK,CAAC,EAAE,YAAY,IAAI,CAAC,EAAE,MAAM,KAAK,CAAC,EAAE,MAAM,CAAC;AACxE,CAAC,CAAC;AAEK,MAAM,4BAA4B,GAAG,CAC1C,CAAoC,EACpC,CAAoC,EACpC,EAAE;IACF,OAAO,CACL,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,gBAAgB,KAAK,CAAC,EAAE,gBAAgB,CACzE,CAAC;AACJ,CAAC,CAAC;AAPW,QAAA,4BAA4B,gCAOvC;AAEK,MAAM,wBAAwB,GAAG,CACtC,CAA6B,EAC7B,CAA6B,EAC7B,EAAE;IACF,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;QACZ,OAAO,IAAI,CAAC;KACb;IACD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;QACZ,OAAO,KAAK,CAAC;KACd;IACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE;QACzB,OAAO,KAAK,CAAC;KACd;IACD,KAAK,MAAM,WAAW,IAAI,CAAC,EAAE;QAC3B,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,KAAK,WAAW,CAAC,YAAY,CAAC,CAAC;QACzE,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,KAAK,CAAC;SACd;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE;YACvC,OAAO,KAAK,CAAC;SACd;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAvBW,QAAA,wBAAwB,4BAuBnC;AAEK,MAAM,iCAAiC,GAAG,CAC/C,CAAsC,EACtC,CAAsC,EACtC,EAAE;IACF,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;QACZ,OAAO,IAAI,CAAC;KACb;IACD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;QACZ,OAAO,KAAK,CAAC;KACd;IACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE;QACzB,OAAO,KAAK,CAAC;KACd;IACD,KAAK,MAAM,WAAW,IAAI,CAAC,EAAE;QAC3B,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAClB,EAAE,CAAC,EAAE,CACH,EAAE,CAAC,YAAY,KAAK,WAAW,CAAC,YAAY;YAC5C,EAAE,CAAC,gBAAgB,KAAK,WAAW,CAAC,gBAAgB,CACvD,CAAC;QACF,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,KAAK,CAAC;SACd;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE;YACvC,OAAO,KAAK,CAAC;SACd;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA3BW,QAAA,iCAAiC,qCA2B5C;AAEK,MAAM,2BAA2B,GAAG,CACzC,CAAgC,EAChC,CAAgC,EAChC,EAAE;IACF,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;QACZ,OAAO,IAAI,CAAC;KACb;IACD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;QACZ,OAAO,KAAK,CAAC;KACd;IACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE;QACzB,OAAO,KAAK,CAAC;KACd;IACD,KAAK,MAAM,cAAc,IAAI,CAAC,EAAE;QAC9B,MAAM,KAAK,GACT,CAAC,CAAC,IAAI,CACJ,EAAE,CAAC,EAAE,CACH,EAAE,CAAC,YAAY,KAAK,cAAc,CAAC,YAAY;YAC/C,EAAE,CAAC,gBAAgB,KAAK,cAAc,CAAC,gBAAgB,CAC1D,IAAI,IAAI,CAAC;QACZ,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,KAAK,CAAC;SACd;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAzBW,QAAA,2BAA2B,+BAyBtC;AAEK,MAAM,sBAAsB,GAAG,CACpC,CAA2B,EAC3B,CAA2B,EAC3B,EAAE;IACF,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;QACZ,OAAO,IAAI,CAAC;KACb;IACD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;QACZ,OAAO,KAAK,CAAC;KACd;IACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE;QACzB,OAAO,KAAK,CAAC;KACd;IACD,KAAK,MAAM,kBAAkB,IAAI,CAAC,EAAE;QAClC,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAClB,EAAE,CAAC,EAAE,CACH,EAAE,CAAC,UAAU,KAAK,kBAAkB,CAAC,UAAU;YAC/C,EAAE,CAAC,UAAU,KAAK,kBAAkB,CAAC,UAAU,CAClD,CAAC;QACF,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,KAAK,CAAC;SACd;QACD,IAAI,KAAK,CAAC,YAAY,KAAK,kBAAkB,CAAC,YAAY,EAAE;YAC1D,OAAO,KAAK,CAAC;SACd;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,kBAAkB,CAAC,MAAM,EAAE;YAC9C,OAAO,KAAK,CAAC;SACd;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA9BW,QAAA,sBAAsB,0BA8BjC;AAEK,MAAM,+BAA+B,GAAG,CAC7C,CAAoC,EACpC,CAAoC,EACpC,EAAE;IACF,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;QACZ,OAAO,IAAI,CAAC;KACb;IACD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;QACZ,OAAO,KAAK,CAAC;KACd;IACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE;QACzB,OAAO,KAAK,CAAC;KACd;IACD,KAAK,MAAM,kBAAkB,IAAI,CAAC,EAAE;QAClC,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAClB,EAAE,CAAC,EAAE,CACH,EAAE,CAAC,UAAU,KAAK,kBAAkB,CAAC,UAAU;YAC/C,EAAE,CAAC,UAAU,KAAK,kBAAkB,CAAC,UAAU,CAClD,CAAC;QACF,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,KAAK,CAAC;SACd;QACD,IAAI,KAAK,CAAC,YAAY,KAAK,kBAAkB,CAAC,YAAY,EAAE;YAC1D,OAAO,KAAK,CAAC;SACd;QACD,IAAI,KAAK,CAAC,gBAAgB,KAAK,kBAAkB,CAAC,gBAAgB,EAAE;YAClE,OAAO,KAAK,CAAC;SACd;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,kBAAkB,CAAC,MAAM,EAAE;YAC9C,OAAO,KAAK,CAAC;SACd;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAjCW,QAAA,+BAA+B,mCAiC1C","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,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateDecryptBaseTokenProof = exports.generateDecryptToOriginProof = exports.generateDecryptProof = void 0;
4
- const dop_sharedmodels_v3_1 = require("dop-sharedmodels-v3");
4
+ const dop_sharedmodels_v3_1 = require("dop-sharedmodels-v5");
5
5
  const tx_generator_1 = require("./tx-generator");
6
6
  const wallets_1 = require("../dop/wallets/wallets");
7
7
  const proof_cache_1 = require("./proof-cache");
8
- const dop_engine_v3_1 = require("dop-engine-v3");
8
+ const dop_engine_v3_1 = require("dop-engine-v5");
9
9
  const blocked_address_1 = require("../../utils/blocked-address");
10
10
  const tx_cross_contract_calls_1 = require("./tx-cross-contract-calls");
11
11
  const error_1 = require("../../utils/error");
@@ -1 +1 @@
1
- {"version":3,"file":"tx-proof-decrypt.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-proof-decrypt.ts"],"names":[],"mappings":";;;AAAA,6DAQ6B;AAC7B,iDAOwB;AACxB,oDAA+D;AAC/D,+CAA2D;AAC3D,iDAIuB;AACvB,iEAAsE;AACtE,uEAAyF;AACzF,6CAA2D;AAEpD,MAAM,oBAAoB,GAAG,KAAK,EACvC,WAAwB,EACxB,WAAwB,EACxB,WAAmB,EACnB,aAAqB,EACrB,qBAAgD,EAChD,mBAA4C,EAC5C,kCAAqE,EACrE,oBAA6B,EAC7B,uBAAyC,EACzC,gBAAsD,EACtD,KAAY,EACG,EAAE;IACjB,IAAI;QACF,IAAA,wCAA0B,EAAC,SAAS,CAAC,CAAC;QAEtC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;QAErC,MAAM,EAAE,kBAAkB,GAAG,GAC3B,MAAM,IAAA,wCAAyB,EAC7B,+BAAS,CAAC,OAAO,EACjB,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACb,KAAK,EAAE,+BAA+B;QACtC,SAAS,EAAE,WAAW;QACtB,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,KAAK,CACN,CAAC;QAEF,MAAM,UAAU,GAAG,IAAA,wCAAyB,EAAC,kBAAkB,CAAC,CAAC;QAEjE,IAAA,wCAA0B,EAAC;YACzB,SAAS,EAAE,+BAAS,CAAC,OAAO;YAC5B,WAAW;YACX,WAAW;YACX,4BAA4B,EAAE,KAAK;YACnC,QAAQ,EAAE,SAAS;YACnB,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,WAAW;YACX,oBAAoB;YACpB,uBAAuB;YACvB,UAAU;SACX,CAAC,CAAC;KACJ;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAA,8BAAsB,EAAC,4BAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KAC9D;AACH,CAAC,CAAC;AAnEW,QAAA,oBAAoB,wBAmE/B;AAEK,MAAM,4BAA4B,GAAG,KAAK,EAC/C,mBAA2B,EAC3B,WAAwB,EACxB,WAAwB,EACxB,WAAmB,EACnB,aAAqB,EACrB,qBAAgD,EAChD,mBAA4C,EAC5C,gBAAsD,EACtD,KAAY,EACG,EAAE;IACjB,IAAI;QACF,IAAA,wCAA0B,EAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,EAAE,kBAAkB,GAAG,GAC3B,MAAM,IAAA,wCAAyB,EAC7B,+BAAS,CAAC,OAAO,EACjB,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACb,KAAK,EAAE,+BAA+B;QACtC,SAAS,EAAE,WAAW;QACtB,qBAAqB,EACrB,mBAAmB,EACnB,SAAS,EAAE,qCAAqC;QAChD,IAAI,EAAE,uBAAuB;QAC7B,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,gBAAgB;QACvB,SAAS,EAAE,0BAA0B;QACrC,gBAAgB,EAChB,mBAAmB,CACpB,CAAC;QACJ,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAgB,EACxC,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,KAAK,CACN,CAAC;QAEF,MAAM,UAAU,GAAG,IAAA,wCAAyB,EAAC,kBAAkB,CAAC,CAAC;QAEjE,IAAA,wCAA0B,EAAC;YACzB,SAAS,EAAE,+BAAS,CAAC,OAAO;YAC5B,WAAW;YACX,WAAW;YACX,4BAA4B,EAAE,KAAK;YACnC,QAAQ,EAAE,SAAS;YACnB,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,EAAE,SAAS;YAC7C,WAAW;YACX,oBAAoB,EAAE,IAAI;YAC1B,uBAAuB,EAAE,SAAS;YAClC,UAAU;SACX,CAAC,CAAC;KACJ;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAA,8BAAsB,EAAC,4BAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KAC9D;AACH,CAAC,CAAC;AAhEW,QAAA,4BAA4B,gCAgEvC;AAEK,MAAM,6BAA6B,GAAG,KAAK,EAChD,WAAwB,EACxB,WAAwB,EACxB,mBAA2B,EAC3B,WAAmB,EACnB,aAAqB,EACrB,kBAAkC,EAClC,kCAAqE,EACrE,oBAA6B,EAC7B,uBAAyC,EACzC,gBAAsD,EACvC,EAAE;IACjB,IAAI;QACF,IAAA,yCAAuB,EAAC,mBAAmB,CAAC,CAAC;QAC7C,IAAA,+BAAqB,EAAC,mBAAmB,CAAC,CAAC;QAE3C,IAAA,wCAA0B,EAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,qBAAqB,GAA8B;YACvD;gBACE,GAAG,kBAAkB;gBACrB,gBAAgB,EAAE,mBAAmB;aACtC;SACF,CAAC;QAEF,MAAM,6BAA6B,GAAqB;YACtD,kBAAkB;SACnB,CAAC;QAEF,MAAM,sCAAsC,GAC1C,IAAA,sEAA4C,EAAC,WAAW,EAAE,WAAW,EAAE;YACrE,kBAAkB;SACnB,CAAC,CAAC;QAEL,wBAAwB;QACxB,MAAM,mBAAmB,GAA4B,EAAE,CAAC;QACxD,MAAM,oCAAoC,GACxC,EAAE,CAAC;QAEL,6CAA6C;QAC7C,MAAM,QAAQ,GAAG,MAAM,IAAA,6CAA8B,EACnD,+BAAS,CAAC,gBAAgB,EAC1B,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACb,KAAK,EAAE,+BAA+B;QACtC,SAAS,EAAE,WAAW;QACtB,sCAAsC,EACtC,oCAAoC,EACpC,kCAAkC,EAClC,oBAAoB,EACpB,uBAAuB,CACxB,CAAC;QAEF,MAAM,EAAE,KAAK,EAAE,GAAG,oCAAc,CAAC,WAAW,CAAC,CAAC;QAE9C,MAAM,sBAAsB,GAAG,yBAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACvD,MAAM,gBAAgB,GACpB,MAAM,iDAAiC,CAAC,mCAAmC,CACzE,WAAW,EACX,KAAK,EACL,QAAQ,EACR,mBAAmB,EACnB,sBAAsB,CACvB,CAAC;QACJ,MAAM,kBAAkB,GACtB,iDAAiC,CAAC,qBAAqB,CACrD,WAAW,EACX,KAAK,CACN,CAAC;QACJ,MAAM,YAAY,GAAY;YAC5B,QAAQ,EAAE,kBAAkB,CAAC,OAAO;YACpC,UAAU,EAAE,gBAAgB;SAC7B,CAAC;QAEF,MAAM,4BAA4B,GAAG,KAAK,CAAC;QAC3C,MAAM,QAAQ,GAAqB,SAAS,CAAC;QAE7C,0CAA0C;QAC1C,MAAM,EAAE,kBAAkB,GAAG,GAC3B,MAAM,IAAA,wCAAyB,EAC7B,+BAAS,CAAC,gBAAgB,EAC1B,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACb,4BAA4B,EAC5B,QAAQ,EACR,sCAAsC,EACtC,oCAAoC,EACpC,kCAAkC,EAClC,oBAAoB,EACpB,YAAY,EACZ,KAAK,EAAE,gBAAgB;QACvB,uBAAuB,EACvB,gBAAgB,CACjB,CAAC;QAEJ,MAAM,WAAW,GAAG,MAAM,IAAA,uCAAwB,EAChD,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,CACN,CAAC;QAEF,MAAM,UAAU,GAAG,IAAA,wCAAyB,EAAC,kBAAkB,CAAC,CAAC;QAEjE,IAAA,wCAA0B,EAAC;YACzB,SAAS,EAAE,+BAAS,CAAC,gBAAgB;YACrC,WAAW;YACX,WAAW;YACX,4BAA4B;YAC5B,QAAQ;YACR,qBAAqB;YACrB,mBAAmB;YACnB,6BAA6B;YAC7B,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,qCAA6B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KACvE;AACH,CAAC,CAAC;AApIW,QAAA,6BAA6B,iCAoIxC","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,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateTransferProof = void 0;
4
- const dop_sharedmodels_v3_1 = require("dop-sharedmodels-v3");
4
+ const dop_sharedmodels_v3_1 = require("dop-sharedmodels-v5");
5
5
  const tx_generator_1 = require("./tx-generator");
6
6
  const proof_cache_1 = require("./proof-cache");
7
7
  const error_1 = require("../../utils/error");
@@ -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,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.gasEstimateForUnprovenTransfer = exports.populateProvedTransfer = void 0;
4
- const dop_sharedmodels_v3_1 = require("dop-sharedmodels-v3");
4
+ const dop_sharedmodels_v3_1 = require("dop-sharedmodels-v5");
5
5
  const tx_generator_1 = require("./tx-generator");
6
6
  const proof_cache_1 = require("./proof-cache");
7
7
  const tx_gas_broadcaster_fee_estimator_1 = require("./tx-gas-broadcaster-fee-estimator");
@@ -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,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getTestTXIDVersion = exports.isV2Test = void 0;
4
- const dop_engine_v3_1 = require("dop-engine-v3");
4
+ const dop_engine_v3_1 = require("dop-engine-v5");
5
5
  const isV2Test = () => {
6
6
  return process.env.V2_TEST === '1';
7
7
  };
@@ -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,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MOCK_FALLBACK_PROVIDER_JSON_CONFIG_ETHEREUM = exports.MOCK_FALLBACK_PROVIDER_JSON_CONFIG_SEPOLIA = exports.MOCK_FALLBACK_PROVIDER_JSON_CONFIG_POLYGON = exports.MOCK_BALANCES_UPDATE_CALLBACK = exports.MOCK_TRANSACTION_GAS_DETAILS_SERIALIZED_TYPE_2 = exports.MOCK_FEE_TOKEN_DETAILS = exports.MOCK_TOKEN_FEE = exports.MOCK_NFT_AMOUNT_RECIPIENTS_DECRYPT = exports.MOCK_NFT_AMOUNT_RECIPIENTS = exports.MOCK_FORMATTED_BROADCASTER_FEE_COMMITMENT_CIPHERTEXT_V3 = exports.MOCK_FORMATTED_BROADCASTER_FEE_COMMITMENT_CIPHERTEXT_V2 = exports.MOCK_COMMITMENT_HASH = exports.MOCK_BOUND_PARAMS_V3 = exports.MOCK_BOUND_PARAMS_V2 = exports.MOCK_NULLIFIERS = exports.MOCK_COMMITMENTS = exports.MOCK_NFT_AMOUNTS = exports.MOCK_ERC20_RECIPIENTS = exports.MOCK_TOKEN_AMOUNTS = exports.MOCK_TOKEN_AMOUNTS_TOKEN_1_ONLY = exports.TEST_WALLET_SOURCE = exports.TEST_POLYGON_RPC = exports.MOCK_NFT_ADDRESS = exports.MOCK_TOKEN_ADDRESS_2 = exports.MOCK_TOKEN_ADDRESS = exports.MOCK_ETH_WALLET_ADDRESS = exports.MOCK_DOP_WALLET_ADDRESS = exports.MOCK_MEMO = exports.MOCK_DB_ENCRYPTION_KEY = exports.MOCK_MNEMONIC_2 = exports.MOCK_MNEMONIC = void 0;
4
- const dop_sharedmodels_v3_1 = require("dop-sharedmodels-v3");
4
+ const dop_sharedmodels_v3_1 = require("dop-sharedmodels-v5");
5
5
  exports.MOCK_MNEMONIC = 'test test test test test test test test test test test junk';
6
6
  exports.MOCK_MNEMONIC_2 = 'pause crystal tornado alcohol genre cement fade large song like bag where';
7
7
  exports.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"]}