dop-wallet-v6 1.1.9 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/services/artifacts/artifact-hash.d.ts +1 -0
- package/dist/services/artifacts/artifact-store.d.ts +1 -0
- package/dist/services/artifacts/artifact-util.js +5 -10
- package/dist/services/artifacts/artifact-util.js.map +1 -1
- package/dist/services/artifacts/json/artifact-v2-hashes.json +0 -65
- package/dist/services/dop/core/artifacts.d.ts +2 -2
- package/dist/services/dop/core/artifacts.js +1 -3
- package/dist/services/dop/core/artifacts.js.map +1 -1
- package/dist/services/dop/quick-sync/graphql/index.js +3 -3
- package/dist/services/dop/quick-sync/graphql/index.js.map +1 -1
- package/dist/services/dop/util/commitment.d.ts +2 -1
- package/dist/services/dop/util/commitment.js +2 -3
- package/dist/services/dop/util/commitment.js.map +1 -1
- package/dist/services/dop/wallets/wallets.js +1 -1
- package/dist/services/dop/wallets/wallets.js.map +1 -1
- package/dist/services/transactions/tx-cross-contract-calls.d.ts +4 -2
- package/dist/services/transactions/tx-cross-contract-calls.js +108 -260
- package/dist/services/transactions/tx-cross-contract-calls.js.map +1 -1
- package/dist/services/transactions/tx-gas-details.js +1 -1
- package/dist/services/transactions/tx-gas-details.js.map +1 -1
- package/dist/services/transactions/tx-gas-relayer-fee-estimator.d.ts +4 -1
- package/dist/services/transactions/tx-gas-relayer-fee-estimator.js +86 -185
- package/dist/services/transactions/tx-gas-relayer-fee-estimator.js.map +1 -1
- package/dist/services/transactions/tx-generator.d.ts +3 -2
- package/dist/services/transactions/tx-generator.js +25 -54
- package/dist/services/transactions/tx-generator.js.map +1 -1
- package/dist/services/transactions/tx-proof-transfer.d.ts +1 -2
- package/dist/services/transactions/tx-proof-transfer.js +17 -11
- package/dist/services/transactions/tx-proof-transfer.js.map +1 -1
- package/dist/services/transactions/tx-proof-unshield.d.ts +3 -2
- package/dist/services/transactions/tx-proof-unshield.js +84 -143
- package/dist/services/transactions/tx-proof-unshield.js.map +1 -1
- package/dist/services/transactions/tx-shield.js.map +1 -1
- package/dist/services/transactions/tx-transfer.d.ts +2 -1
- package/dist/services/transactions/tx-transfer.js +14 -53
- package/dist/services/transactions/tx-transfer.js.map +1 -1
- package/dist/services/transactions/tx-unshield.d.ts +3 -1
- package/dist/services/transactions/tx-unshield.js +37 -116
- package/dist/services/transactions/tx-unshield.js.map +1 -1
- package/package.json +7 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx-proof-unshield.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-proof-unshield.ts"],"names":[],"mappings":";;;AAAA,2DAM4B;AAC5B,iDAMwB;AAExB,+CAA2D;AAS3D,6CAA2D;AAEpD,MAAM,qBAAqB,GAAG,KAAK,EACxC,WAAwB,EACxB,WAAmB,EACnB,aAAqB,EACrB,qBAAgD,EAChD,mBAA4C,EAC5C,8BAAiE,EACjE,oBAA6B,EAC7B,uBAAyC,EACzC,gBAAwC,EACxC,UAAkB,EACH,EAAE;IACjB,IAAI;QACF,IAAA,wCAA0B,EAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,YAAY,GAAG,MAAM,IAAA,wCAAyB,EAClD,8BAAS,CAAC,QAAQ,EAClB,WAAW,EACX,WAAW,EACX,aAAa,EACb,KAAK,EAAE,+BAA+B;QACtC,SAAS,EAAE,WAAW;QACtB,qBAAqB,EACrB,mBAAmB,EACnB,8BAA8B,EAC9B,oBAAoB,EACpB,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,gBAAgB;QACvB,uBAAuB,EACvB,gBAAgB,EAChB,UAAU,CACX,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAgB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAEtE,MAAM,UAAU,GAAG,IAAA,wCAAyB,EAAC,YAAY,CAAC,CAAC;QAE3D,IAAA,wCAA0B,EAAC;YACzB,SAAS,EAAE,8BAAS,CAAC,QAAQ;YAC7B,WAAW;YACX,4BAA4B,EAAE,KAAK;YACnC,QAAQ,EAAE,SAAS;YACnB,qBAAqB;YACrB,mBAAmB;YACnB,8BAA8B,EAAE,SAAS;YACzC,4BAA4B,EAAE,SAAS;YACvC,+BAA+B,EAAE,SAAS;YAC1C,6BAA6B,EAAE,SAAS;YACxC,kBAAkB,EAAE,SAAS;YAC7B,8BAA8B;YAC9B,WAAW;YACX,oBAAoB;YACpB,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;AAzDW,QAAA,qBAAqB,yBAyDhC;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4IE","sourcesContent":["import {\n DopERC20Amount,\n NetworkName,\n ProofType,\n DopERC20AmountRecipient,\n DopNFTAmountRecipient,\n} from 'dop-sharedmodel-v5';\nimport {\n generateDummyProofTransactions,\n generateProofTransactions,\n generateTransact,\n // generateUnshieldBaseToken,\n nullifiersForTransactions,\n} from './tx-generator';\nimport { assertValidEthAddress } from '../dop/wallets/wallets';\nimport { setCachedProvedTransaction } from './proof-cache';\nimport { getRelayAdaptContractForNetwork } from '../dop/core/providers';\nimport {\n AdaptID,\n ProverProgressCallback,\n randomHex,\n} from 'dop-engine-v5';\nimport { assertNotBlockedAddress } from '../../utils/blocked-address';\nimport { createRelayAdaptUnshieldERC20AmountRecipients } from './tx-cross-contract-calls';\nimport { reportAndSanitizeError } from '../../utils/error';\n\nexport const generateUnshieldProof = async (\n networkName: NetworkName,\n dopWalletID: string,\n encryptionKey: string,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n relayerFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>,\n sendWithPublicWallet: boolean,\n overallBatchMinGasPrice: Optional<bigint>,\n progressCallback: ProverProgressCallback,\n valueCheck: bigint,\n): Promise<void> => {\n try {\n setCachedProvedTransaction(undefined);\n\n const transactions = await generateProofTransactions(\n ProofType.Unshield,\n networkName,\n dopWalletID,\n encryptionKey,\n false, // showSenderAddressToRecipient\n undefined, // memoText\n erc20AmountRecipients,\n nftAmountRecipients,\n relayerFeeERC20AmountRecipient,\n sendWithPublicWallet,\n undefined, // relayAdaptID\n false, // useDummyProof\n overallBatchMinGasPrice,\n progressCallback,\n valueCheck,\n );\n const transaction = await generateTransact(transactions, networkName);\n\n const nullifiers = nullifiersForTransactions(transactions);\n\n setCachedProvedTransaction({\n proofType: ProofType.Unshield,\n dopWalletID,\n showSenderAddressToRecipient: false,\n memoText: undefined,\n erc20AmountRecipients,\n nftAmountRecipients,\n relayAdaptUnshieldERC20Amounts: undefined,\n relayAdaptUnshieldNFTAmounts: undefined,\n relayAdaptShieldERC20Recipients: undefined,\n relayAdaptShieldNFTRecipients: undefined,\n crossContractCalls: undefined,\n relayerFeeERC20AmountRecipient,\n transaction,\n sendWithPublicWallet,\n overallBatchMinGasPrice,\n nullifiers,\n });\n } catch (err) {\n throw reportAndSanitizeError(generateUnshieldProof.name, err);\n }\n};\n/*\nexport const generateUnshieldBaseTokenProof = async (\n networkName: NetworkName,\n publicWalletAddress: string,\n dopWalletID: string,\n encryptionKey: string,\n wrappedERC20Amount: DopERC20Amount,\n relayerFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>,\n sendWithPublicWallet: boolean,\n overallBatchMinGasPrice: Optional<bigint>,\n progressCallback: ProverProgressCallback,\n valueCheck: bigint,\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 relayAdaptUnshieldERC20Amounts: DopERC20Amount[] = [\n wrappedERC20Amount,\n ];\n\n const relayAdaptUnshieldERC20AmountRecipients: DopERC20AmountRecipient[] =\n createRelayAdaptUnshieldERC20AmountRecipients(networkName, [\n wrappedERC20Amount,\n ]);\n\n // Empty NFT recipients.\n const nftAmountRecipients: DopNFTAmountRecipient[] = [];\n const relayAdaptUnshieldNFTAmountRecipients: DopNFTAmountRecipient[] =\n [];\n\n const relayAdaptContract = getRelayAdaptContractForNetwork(networkName);\n\n // Generate dummy txs for relay adapt params.\n const dummyTxs = await generateDummyProofTransactions(\n ProofType.UnshieldBaseToken,\n networkName,\n dopWalletID,\n encryptionKey,\n false, // showSenderAddressToRecipient\n undefined, // memoText\n relayAdaptUnshieldERC20AmountRecipients,\n relayAdaptUnshieldNFTAmountRecipients,\n relayerFeeERC20AmountRecipient,\n sendWithPublicWallet,\n overallBatchMinGasPrice,\n valueCheck\n );\n\n const relayAdaptParamsRandom = randomHex(31);\n const relayAdaptParams =\n await relayAdaptContract.getRelayAdaptParamsUnshieldBaseToken(\n dummyTxs,\n publicWalletAddress,\n relayAdaptParamsRandom,\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\n // console.log(\"====== 1\",\n // ProofType.Unshield,\n // networkName,\n // dopWalletID,\n // encryptionKey,\n // false, // showSenderAddressToRecipient\n // undefined, // memoText\n // erc20AmountRecipients,\n // nftAmountRecipients,\n // relayerFeeERC20AmountRecipient,\n // sendWithPublicWallet,\n // undefined, // relayAdaptID\n // false, // useDummyProof\n // overallBatchMinGasPrice,\n // progressCallback);\n // Generate final txs with relay adapt ID.\n const transactions = await generateProofTransactions(\n ProofType.UnshieldBaseToken,\n networkName,\n dopWalletID,\n encryptionKey,\n showSenderAddressToRecipient,\n memoText,\n relayAdaptUnshieldERC20AmountRecipients,\n relayAdaptUnshieldNFTAmountRecipients,\n relayerFeeERC20AmountRecipient,\n sendWithPublicWallet,\n relayAdaptID,\n false, // useDummyProof\n overallBatchMinGasPrice,\n progressCallback,\n valueCheck\n );\n\n const transaction = await generateUnshieldBaseToken(\n transactions,\n networkName,\n publicWalletAddress,\n relayAdaptParamsRandom,\n false, // useDummyProof\n );\n\n const nullifiers = nullifiersForTransactions(transactions);\n\n setCachedProvedTransaction({\n proofType: ProofType.UnshieldBaseToken,\n dopWalletID,\n showSenderAddressToRecipient,\n memoText,\n erc20AmountRecipients,\n nftAmountRecipients,\n relayAdaptUnshieldERC20Amounts,\n relayAdaptUnshieldNFTAmounts: undefined,\n relayAdaptShieldERC20Recipients: undefined,\n relayAdaptShieldNFTRecipients: undefined,\n crossContractCalls: undefined,\n relayerFeeERC20AmountRecipient,\n sendWithPublicWallet,\n transaction,\n overallBatchMinGasPrice,\n nullifiers,\n });\n } catch (err) {\n throw reportAndSanitizeError(generateUnshieldBaseTokenProof.name, err);\n }\n};\n*/"]}
|
|
1
|
+
{"version":3,"file":"tx-proof-unshield.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-proof-unshield.ts"],"names":[],"mappings":";;;AAAA,2DAM4B;AAC5B,iDAMwB;AACxB,oDAA+D;AAC/D,+CAA2D;AAC3D,qDAAwE;AACxE,iDAIuB;AACvB,iEAAsE;AACtE,uEAA0F;AAC1F,6CAA2D;AAEpD,MAAM,qBAAqB,GAAG,KAAK,EACxC,WAAwB,EACxB,WAAmB,EACnB,aAAqB,EACrB,qBAAgD,EAChD,mBAA4C,EAC5C,8BAAiE,EACjE,oBAA6B,EAC7B,uBAAyC,EACzC,gBAAwC,EACzB,EAAE;IACjB,IAAI;QACF,IAAA,wCAA0B,EAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,YAAY,GAAG,MAAM,IAAA,wCAAyB,EAClD,8BAAS,CAAC,QAAQ,EAClB,WAAW,EACX,WAAW,EACX,aAAa,EACb,KAAK,EAAE,+BAA+B;QACtC,SAAS,EAAE,WAAW;QACtB,qBAAqB,EACrB,mBAAmB,EACnB,8BAA8B,EAC9B,oBAAoB,EACpB,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,gBAAgB;QACvB,uBAAuB,EACvB,gBAAgB,CACjB,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAgB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAEtE,MAAM,UAAU,GAAG,IAAA,wCAAyB,EAAC,YAAY,CAAC,CAAC;QAE3D,IAAA,wCAA0B,EAAC;YACzB,SAAS,EAAE,8BAAS,CAAC,QAAQ;YAC7B,WAAW;YACX,4BAA4B,EAAE,KAAK;YACnC,QAAQ,EAAE,SAAS;YACnB,qBAAqB;YACrB,mBAAmB;YACnB,8BAA8B,EAAE,SAAS;YACzC,4BAA4B,EAAE,SAAS;YACvC,+BAA+B,EAAE,SAAS;YAC1C,6BAA6B,EAAE,SAAS;YACxC,kBAAkB,EAAE,SAAS;YAC7B,8BAA8B;YAC9B,WAAW;YACX,oBAAoB;YACpB,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;AAvDW,QAAA,qBAAqB,yBAuDhC;AAEK,MAAM,8BAA8B,GAAG,KAAK,EACjD,WAAwB,EACxB,mBAA2B,EAC3B,WAAmB,EACnB,aAAqB,EACrB,kBAAkC,EAClC,8BAAiE,EACjE,oBAA6B,EAC7B,uBAAyC,EACzC,gBAAwC,EACzB,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,8BAA8B,GAAqB;YACvD,kBAAkB;SACnB,CAAC;QAEF,MAAM,uCAAuC,GAC3C,IAAA,uEAA6C,EAAC,WAAW,EAAE;YACzD,kBAAkB;SACnB,CAAC,CAAC;QAEL,wBAAwB;QACxB,MAAM,mBAAmB,GAA4B,EAAE,CAAC;QACxD,MAAM,qCAAqC,GACzC,EAAE,CAAC;QAEL,MAAM,kBAAkB,GAAG,IAAA,2CAA+B,EAAC,WAAW,CAAC,CAAC;QAExE,6CAA6C;QAC7C,MAAM,QAAQ,GAAG,MAAM,IAAA,6CAA8B,EACnD,8BAAS,CAAC,iBAAiB,EAC3B,WAAW,EACX,WAAW,EACX,aAAa,EACb,KAAK,EAAE,+BAA+B;QACtC,SAAS,EAAE,WAAW;QACtB,uCAAuC,EACvC,qCAAqC,EACrC,8BAA8B,EAC9B,oBAAoB,EACpB,uBAAuB,CACxB,CAAC;QAEF,MAAM,sBAAsB,GAAG,IAAA,yBAAS,EAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,gBAAgB,GACpB,MAAM,kBAAkB,CAAC,oCAAoC,CAC3D,QAAQ,EACR,mBAAmB,EACnB,sBAAsB,CACvB,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;QAG7C,0BAA0B;QAC1B,wBAAwB;QACxB,iBAAiB;QACjB,iBAAiB;QACjB,mBAAmB;QACnB,2CAA2C;QAC3C,2BAA2B;QAC3B,2BAA2B;QAC3B,yBAAyB;QACzB,oCAAoC;QACpC,0BAA0B;QAC1B,+BAA+B;QAC/B,4BAA4B;QAC5B,6BAA6B;QAC7B,uBAAuB;QACvB,0CAA0C;QAC1C,MAAM,YAAY,GAAG,MAAM,IAAA,wCAAyB,EAClD,8BAAS,CAAC,iBAAiB,EAC3B,WAAW,EACX,WAAW,EACX,aAAa,EACb,4BAA4B,EAC5B,QAAQ,EACR,uCAAuC,EACvC,qCAAqC,EACrC,8BAA8B,EAC9B,oBAAoB,EACpB,YAAY,EACZ,KAAK,EAAE,gBAAgB;QACvB,uBAAuB,EACvB,gBAAgB,CACjB,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,IAAA,wCAAyB,EACjD,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,CACN,CAAC;QAEF,MAAM,UAAU,GAAG,IAAA,wCAAyB,EAAC,YAAY,CAAC,CAAC;QAE3D,IAAA,wCAA0B,EAAC;YACzB,SAAS,EAAE,8BAAS,CAAC,iBAAiB;YACtC,WAAW;YACX,4BAA4B;YAC5B,QAAQ;YACR,qBAAqB;YACrB,mBAAmB;YACnB,8BAA8B;YAC9B,4BAA4B,EAAE,SAAS;YACvC,+BAA+B,EAAE,SAAS;YAC1C,6BAA6B,EAAE,SAAS;YACxC,kBAAkB,EAAE,SAAS;YAC7B,8BAA8B;YAC9B,oBAAoB;YACpB,WAAW;YACX,uBAAuB;YACvB,UAAU;SACX,CAAC,CAAC;KACJ;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAA,8BAAsB,EAAC,sCAA8B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KACxE;AACH,CAAC,CAAC;AAvIW,QAAA,8BAA8B,kCAuIzC","sourcesContent":["import {\n DopERC20Amount,\n NetworkName,\n ProofType,\n DopERC20AmountRecipient,\n DopNFTAmountRecipient,\n} from 'dop-sharedmodel-v5';\nimport {\n generateDummyProofTransactions,\n generateProofTransactions,\n generateTransact,\n generateUnshieldBaseToken,\n nullifiersForTransactions,\n} from './tx-generator';\nimport { assertValidEthAddress } from '../dop/wallets/wallets';\nimport { setCachedProvedTransaction } from './proof-cache';\nimport { getRelayAdaptContractForNetwork } from '../dop/core/providers';\nimport {\n AdaptID,\n ProverProgressCallback,\n randomHex,\n} from 'dop-engine-v5';\nimport { assertNotBlockedAddress } from '../../utils/blocked-address';\nimport { createRelayAdaptUnshieldERC20AmountRecipients } from './tx-cross-contract-calls';\nimport { reportAndSanitizeError } from '../../utils/error';\n\nexport const generateUnshieldProof = async (\n networkName: NetworkName,\n dopWalletID: string,\n encryptionKey: string,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n relayerFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>,\n sendWithPublicWallet: boolean,\n overallBatchMinGasPrice: Optional<bigint>,\n progressCallback: ProverProgressCallback,\n): Promise<void> => {\n try {\n setCachedProvedTransaction(undefined);\n\n const transactions = await generateProofTransactions(\n ProofType.Unshield,\n networkName,\n dopWalletID,\n encryptionKey,\n false, // showSenderAddressToRecipient\n undefined, // memoText\n erc20AmountRecipients,\n nftAmountRecipients,\n relayerFeeERC20AmountRecipient,\n sendWithPublicWallet,\n undefined, // relayAdaptID\n false, // useDummyProof\n overallBatchMinGasPrice,\n progressCallback,\n );\n const transaction = await generateTransact(transactions, networkName);\n\n const nullifiers = nullifiersForTransactions(transactions);\n\n setCachedProvedTransaction({\n proofType: ProofType.Unshield,\n dopWalletID,\n showSenderAddressToRecipient: false,\n memoText: undefined,\n erc20AmountRecipients,\n nftAmountRecipients,\n relayAdaptUnshieldERC20Amounts: undefined,\n relayAdaptUnshieldNFTAmounts: undefined,\n relayAdaptShieldERC20Recipients: undefined,\n relayAdaptShieldNFTRecipients: undefined,\n crossContractCalls: undefined,\n relayerFeeERC20AmountRecipient,\n transaction,\n sendWithPublicWallet,\n overallBatchMinGasPrice,\n nullifiers,\n });\n } catch (err) {\n throw reportAndSanitizeError(generateUnshieldProof.name, err);\n }\n};\n\nexport const generateUnshieldBaseTokenProof = async (\n networkName: NetworkName,\n publicWalletAddress: string,\n dopWalletID: string,\n encryptionKey: string,\n wrappedERC20Amount: DopERC20Amount,\n relayerFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>,\n sendWithPublicWallet: boolean,\n overallBatchMinGasPrice: Optional<bigint>,\n progressCallback: ProverProgressCallback,\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 relayAdaptUnshieldERC20Amounts: DopERC20Amount[] = [\n wrappedERC20Amount,\n ];\n\n const relayAdaptUnshieldERC20AmountRecipients: DopERC20AmountRecipient[] =\n createRelayAdaptUnshieldERC20AmountRecipients(networkName, [\n wrappedERC20Amount,\n ]);\n\n // Empty NFT recipients.\n const nftAmountRecipients: DopNFTAmountRecipient[] = [];\n const relayAdaptUnshieldNFTAmountRecipients: DopNFTAmountRecipient[] =\n [];\n\n const relayAdaptContract = getRelayAdaptContractForNetwork(networkName);\n\n // Generate dummy txs for relay adapt params.\n const dummyTxs = await generateDummyProofTransactions(\n ProofType.UnshieldBaseToken,\n networkName,\n dopWalletID,\n encryptionKey,\n false, // showSenderAddressToRecipient\n undefined, // memoText\n relayAdaptUnshieldERC20AmountRecipients,\n relayAdaptUnshieldNFTAmountRecipients,\n relayerFeeERC20AmountRecipient,\n sendWithPublicWallet,\n overallBatchMinGasPrice,\n );\n\n const relayAdaptParamsRandom = randomHex(31);\n const relayAdaptParams =\n await relayAdaptContract.getRelayAdaptParamsUnshieldBaseToken(\n dummyTxs,\n publicWalletAddress,\n relayAdaptParamsRandom,\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\n // console.log(\"====== 1\",\n // ProofType.Unshield,\n // networkName,\n // dopWalletID,\n // encryptionKey,\n // false, // showSenderAddressToRecipient\n // undefined, // memoText\n // erc20AmountRecipients,\n // nftAmountRecipients,\n // relayerFeeERC20AmountRecipient,\n // sendWithPublicWallet,\n // undefined, // relayAdaptID\n // false, // useDummyProof\n // overallBatchMinGasPrice,\n // progressCallback);\n // Generate final txs with relay adapt ID.\n const transactions = await generateProofTransactions(\n ProofType.UnshieldBaseToken,\n networkName,\n dopWalletID,\n encryptionKey,\n showSenderAddressToRecipient,\n memoText,\n relayAdaptUnshieldERC20AmountRecipients,\n relayAdaptUnshieldNFTAmountRecipients,\n relayerFeeERC20AmountRecipient,\n sendWithPublicWallet,\n relayAdaptID,\n false, // useDummyProof\n overallBatchMinGasPrice,\n progressCallback,\n );\n\n const transaction = await generateUnshieldBaseToken(\n transactions,\n networkName,\n publicWalletAddress,\n relayAdaptParamsRandom,\n false, // useDummyProof\n );\n\n const nullifiers = nullifiersForTransactions(transactions);\n\n setCachedProvedTransaction({\n proofType: ProofType.UnshieldBaseToken,\n dopWalletID,\n showSenderAddressToRecipient,\n memoText,\n erc20AmountRecipients,\n nftAmountRecipients,\n relayAdaptUnshieldERC20Amounts,\n relayAdaptUnshieldNFTAmounts: undefined,\n relayAdaptShieldERC20Recipients: undefined,\n relayAdaptShieldNFTRecipients: undefined,\n crossContractCalls: undefined,\n relayerFeeERC20AmountRecipient,\n sendWithPublicWallet,\n transaction,\n overallBatchMinGasPrice,\n nullifiers,\n });\n } catch (err) {\n throw reportAndSanitizeError(generateUnshieldBaseTokenProof.name, err);\n }\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx-shield.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-shield.ts"],"names":[],"mappings":";;;AAAA,2DAQ4B;AAC5B,iDASuB;AACvB,qDAI0B;AAC1B,iEAAsE;AACtE,gCAGgB;AAChB,uEAA+E;AAC/E,6CAA2D;AAGpD,MAAM,mCAAmC,GAAG,GAAG,EAAE;IACtD,OAAO,0BAAU,CAAC,mCAAmC,EAAE,CAAC;AAC1D,CAAC,CAAC;AAFW,QAAA,mCAAmC,uCAE9C;AAEF,MAAM,2BAA2B,GAAG,KAAK,EACvC,oBAA6C,EAC7C,MAAc,EACd,gBAAwB,EACM,EAAE;IAChC,MAAM,UAAU,GAAG,oBAAoB,CAAC,gBAAgB,CAAC;IAEzD,IAAA,2BAAqB,EAAC,UAAU,CAAC,CAAC;IAElC,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GACzC,yBAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,IAAI,+BAAe,CAChC,eAAe,EACf,MAAM,EACN,oBAAoB,CAAC,MAAM,EAC3B,oBAAoB,CAAC,YAAY,CAClC,CAAC;IACF,OAAO,MAAM,CAAC,SAAS,CAAC,IAAA,0BAAU,EAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAC1E,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,KAAK,EACrC,kBAAyC,EACzC,MAAc,EACd,gBAAwB,EACM,EAAE;IAChC,MAAM,UAAU,GAAG,kBAAkB,CAAC,gBAAgB,CAAC;IAEvD,IAAA,2BAAqB,EAAC,UAAU,CAAC,CAAC;IAElC,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GACzC,yBAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAEtC,MAAM,KAAK,GACT,kBAAkB,CAAC,YAAY,KAAK,iCAAY,CAAC,MAAM;QACrD,CAAC,CAAC,iCAAiB;QACnB,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC;IAGhC,MAAM,YAAY,GAChB,IAAA,4DAAkC,EAAC,kBAAkB,CAAC,CAAC;IAEzD,MAAM,MAAM,GAAG,IAAI,6BAAa,CAC9B,eAAe,EACf,MAAM,EACN,KAAK,EACL,YAAY,CACb,CAAC;IAEF,OAAO,MAAM,CAAC,SAAS,CAAC,IAAA,0BAAU,EAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAC1E,CAAC,CAAC;AAEK,MAAM,yBAAyB,GAAG,KAAK,EAC5C,WAAwB,EACxB,gBAAwB,EACxB,qBAAgD,EAChD,mBAA4C,EACd,EAAE;IAChC,IAAI;QACF,MAAM,sBAAsB,GAC1B,IAAA,yCAAmC,EAAC,WAAW,CAAC,CAAC;QAEnD,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,EAAE,CAAC,CAAC;QAE7B,MAAM,YAAY,GAA0B,MAAM,OAAO,CAAC,GAAG,CAAC;YAC5D,GAAG,qBAAqB,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAClD,2BAA2B,CACzB,oBAAoB,EACpB,MAAM,EACN,gBAAgB,CACjB,CACF;YACD,GAAG,mBAAmB,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAC9C,yBAAyB,CAAC,kBAAkB,EAAE,MAAM,EAAE,gBAAgB,CAAC,CACxE;SACF,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;QAE7C,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,cAAc,CAC7D,YAAY,CACb,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"tx-shield.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-shield.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DopPopulateTransactionResponse,\n DopTransactionGasEstimateResponse,\n NetworkName,\n DopERC20AmountRecipient,\n DopNFTAmountRecipient,\n NFTTokenType,\n TransactionGasDetails,\n} from 'dop-sharedmodel-v5';\nimport {\n ShieldNote,\n DopEngine,\n ShieldRequestStruct,\n randomHex,\n hexToBytes,\n ShieldNoteERC20,\n ShieldNoteNFT,\n ERC721_NOTE_VALUE,\n} from 'dop-engine-v5';\nimport {\n gasEstimateResponse,\n getGasEstimate,\n setGasDetailsForTransaction,\n} from './tx-gas-details';\nimport { assertNotBlockedAddress } from '../../utils/blocked-address';\nimport {\n assertValidDopAddress,\n getDopSmartWalletContractForNetwork,\n} from '../dop';\nimport { createNFTTokenDataFromDopNFTAmount } from './tx-cross-contract-calls';\nimport { reportAndSanitizeError } from '../../utils/error';\nimport { ContractTransaction } from 'ethers';\n\nexport const getShieldPrivateKeySignatureMessage = () => {\n return ShieldNote.getShieldPrivateKeySignatureMessage();\n};\n\nconst generateERC20ShieldRequests = async (\n erc20AmountRecipient: DopERC20AmountRecipient,\n random: string,\n shieldPrivateKey: string,\n): Promise<ShieldRequestStruct> => {\n const dopAddress = erc20AmountRecipient.recipientAddress;\n\n assertValidDopAddress(dopAddress);\n\n const { masterPublicKey, viewingPublicKey } =\n DopEngine.decodeAddress(dopAddress);\n\n const shield = new ShieldNoteERC20(\n masterPublicKey,\n random,\n erc20AmountRecipient.amount,\n erc20AmountRecipient.tokenAddress,\n );\n return shield.serialize(hexToBytes(shieldPrivateKey), viewingPublicKey);\n};\n\nconst generateNFTShieldRequests = async (\n nftAmountRecipient: DopNFTAmountRecipient,\n random: string,\n shieldPrivateKey: string,\n): Promise<ShieldRequestStruct> => {\n const dopAddress = nftAmountRecipient.recipientAddress;\n\n assertValidDopAddress(dopAddress);\n\n const { masterPublicKey, viewingPublicKey } =\n DopEngine.decodeAddress(dopAddress);\n\n const value =\n nftAmountRecipient.nftTokenType === NFTTokenType.ERC721\n ? ERC721_NOTE_VALUE\n : nftAmountRecipient.amount;\n\n\n const nftTokenData =\n createNFTTokenDataFromDopNFTAmount(nftAmountRecipient);\n\n const shield = new ShieldNoteNFT(\n masterPublicKey,\n random,\n value,\n nftTokenData,\n );\n\n return shield.serialize(hexToBytes(shieldPrivateKey), viewingPublicKey);\n};\n\nexport const generateShieldTransaction = async (\n networkName: NetworkName,\n shieldPrivateKey: string,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n): Promise<ContractTransaction> => {\n try {\n const dopSmartWalletContract =\n getDopSmartWalletContractForNetwork(networkName);\n\n const random = randomHex(16);\n\n const shieldInputs: ShieldRequestStruct[] = await Promise.all([\n ...erc20AmountRecipients.map(erc20AmountRecipient =>\n generateERC20ShieldRequests(\n erc20AmountRecipient,\n random,\n shieldPrivateKey,\n ),\n ),\n ...nftAmountRecipients.map(nftAmountRecipient =>\n generateNFTShieldRequests(nftAmountRecipient, random, shieldPrivateKey),\n ),\n ]);\n console.log(\"shieldInputs:::\", shieldInputs);\n\n const transaction = await dopSmartWalletContract.generateShield(\n shieldInputs,\n );\n console.log(\"transaction:::\", transaction);\n\n\n return transaction;\n } catch (err) {\n const sanitizedError = reportAndSanitizeError(\n generateShieldTransaction.name,\n err,\n );\n throw sanitizedError;\n }\n};\n\nexport const populateShield = async (\n networkName: NetworkName,\n shieldPrivateKey: string,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n gasDetails?: TransactionGasDetails,\n): Promise<DopPopulateTransactionResponse> => {\n try {\n const transaction = await generateShieldTransaction(\n networkName,\n shieldPrivateKey,\n erc20AmountRecipients,\n nftAmountRecipients,\n );\n console.log(\"transaction:::0\", transaction);\n\n\n if (gasDetails) {\n const sendWithPublicWallet = true;\n setGasDetailsForTransaction(\n networkName,\n transaction,\n gasDetails,\n sendWithPublicWallet,\n );\n }\n\n return {\n transaction,\n };\n } catch (err) {\n throw reportAndSanitizeError(populateShield.name, err);\n }\n};\n\nexport const gasEstimateForShield = async (\n networkName: NetworkName,\n shieldPrivateKey: string,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n fromWalletAddress: string,\n): Promise<DopTransactionGasEstimateResponse> => {\n try {\n assertNotBlockedAddress(fromWalletAddress);\n\n const transaction = await generateShieldTransaction(\n networkName,\n shieldPrivateKey,\n erc20AmountRecipients,\n nftAmountRecipients,\n );\n console.log(\"transaction:::1\", transaction);\n\n\n const sendWithPublicWallet = true;\n const isGasEstimateWithDummyProof = false;\n return gasEstimateResponse(\n await getGasEstimate(\n networkName,\n transaction,\n fromWalletAddress,\n sendWithPublicWallet,\n false, // isCrossContractCall\n ),\n undefined, // relayerFeeCommitment\n isGasEstimateWithDummyProof,\n );\n } catch (err) {\n throw reportAndSanitizeError(gasEstimateForShield.name, err);\n }\n};\n"]}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import { DopPopulateTransactionResponse, NetworkName, DopERC20AmountRecipient, DopNFTAmountRecipient, TransactionGasDetails } from 'dop-sharedmodel-v5';
|
|
1
|
+
import { DopPopulateTransactionResponse, DopTransactionGasEstimateResponse, NetworkName, FeeTokenDetails, DopERC20AmountRecipient, DopNFTAmountRecipient, TransactionGasDetails } from 'dop-sharedmodel-v5';
|
|
2
2
|
export declare const populateProvedTransfer: (networkName: NetworkName, dopWalletID: string, showSenderAddressToRecipient: boolean, memoText: Optional<string>, erc20AmountRecipients: DopERC20AmountRecipient[], nftAmountRecipients: DopNFTAmountRecipient[], relayerFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>, sendWithPublicWallet: boolean, overallBatchMinGasPrice: Optional<bigint>, gasDetails: TransactionGasDetails) => Promise<DopPopulateTransactionResponse>;
|
|
3
|
+
export declare const gasEstimateForUnprovenTransfer: (networkName: NetworkName, dopWalletID: string, encryptionKey: string, memoText: Optional<string>, erc20AmountRecipients: DopERC20AmountRecipient[], nftAmountRecipients: DopNFTAmountRecipient[], originalGasDetails: TransactionGasDetails, feeTokenDetails: Optional<FeeTokenDetails>, sendWithPublicWallet: boolean) => Promise<DopTransactionGasEstimateResponse>;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.populateProvedTransfer = void 0;
|
|
3
|
+
exports.gasEstimateForUnprovenTransfer = exports.populateProvedTransfer = void 0;
|
|
4
4
|
const dop_sharedmodel_v5_1 = require("dop-sharedmodel-v5");
|
|
5
|
+
const tx_generator_1 = require("./tx-generator");
|
|
5
6
|
const proof_cache_1 = require("./proof-cache");
|
|
6
|
-
|
|
7
|
+
const tx_gas_relayer_fee_estimator_1 = require("./tx-gas-relayer-fee-estimator");
|
|
7
8
|
const error_1 = require("../../utils/error");
|
|
8
9
|
const populateProvedTransfer = async (networkName, dopWalletID, showSenderAddressToRecipient, memoText, erc20AmountRecipients, nftAmountRecipients, relayerFeeERC20AmountRecipient, sendWithPublicWallet, overallBatchMinGasPrice, gasDetails) => {
|
|
9
10
|
try {
|
|
@@ -23,56 +24,16 @@ const populateProvedTransfer = async (networkName, dopWalletID, showSenderAddres
|
|
|
23
24
|
}
|
|
24
25
|
};
|
|
25
26
|
exports.populateProvedTransfer = populateProvedTransfer;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
sendWithPublicWallet: boolean,
|
|
37
|
-
valueCheck: bigint,
|
|
38
|
-
): Promise<DopTransactionGasEstimateResponse> => {
|
|
39
|
-
try {
|
|
40
|
-
const overallBatchMinGasPrice = 0n;
|
|
41
|
-
|
|
42
|
-
const response = await gasEstimateResponseDummyProofIterativeRelayerFee(
|
|
43
|
-
(relayerFeeERC20Amount: Optional<DopERC20Amount>) =>
|
|
44
|
-
generateDummyProofTransactions(
|
|
45
|
-
ProofType.Transfer,
|
|
46
|
-
networkName,
|
|
47
|
-
dopWalletID,
|
|
48
|
-
encryptionKey,
|
|
49
|
-
false, // showSenderAddressToRecipient - doesn't matter for gas estimate.
|
|
50
|
-
memoText,
|
|
51
|
-
erc20AmountRecipients,
|
|
52
|
-
nftAmountRecipients,
|
|
53
|
-
relayerFeeERC20Amount,
|
|
54
|
-
sendWithPublicWallet,
|
|
55
|
-
overallBatchMinGasPrice,
|
|
56
|
-
valueCheck,
|
|
57
|
-
),
|
|
58
|
-
(txs: TransactionStruct[]) =>
|
|
59
|
-
generateTransact(
|
|
60
|
-
txs,
|
|
61
|
-
networkName,
|
|
62
|
-
true, // useDummyProof
|
|
63
|
-
),
|
|
64
|
-
networkName,
|
|
65
|
-
dopWalletID,
|
|
66
|
-
erc20AmountRecipients,
|
|
67
|
-
originalGasDetails,
|
|
68
|
-
feeTokenDetails,
|
|
69
|
-
sendWithPublicWallet,
|
|
70
|
-
false, // isCrossContractCall
|
|
71
|
-
);
|
|
72
|
-
return response;
|
|
73
|
-
} catch (err) {
|
|
74
|
-
throw reportAndSanitizeError(gasEstimateForUnprovenTransfer.name, err);
|
|
75
|
-
}
|
|
27
|
+
const gasEstimateForUnprovenTransfer = async (networkName, dopWalletID, encryptionKey, memoText, erc20AmountRecipients, nftAmountRecipients, originalGasDetails, feeTokenDetails, sendWithPublicWallet) => {
|
|
28
|
+
try {
|
|
29
|
+
const overallBatchMinGasPrice = 0n;
|
|
30
|
+
const response = await (0, tx_gas_relayer_fee_estimator_1.gasEstimateResponseDummyProofIterativeRelayerFee)((relayerFeeERC20Amount) => (0, tx_generator_1.generateDummyProofTransactions)(dop_sharedmodel_v5_1.ProofType.Transfer, networkName, dopWalletID, encryptionKey, false, // showSenderAddressToRecipient - doesn't matter for gas estimate.
|
|
31
|
+
memoText, erc20AmountRecipients, nftAmountRecipients, relayerFeeERC20Amount, sendWithPublicWallet, overallBatchMinGasPrice), (txs) => (0, tx_generator_1.generateTransact)(txs, networkName, true), networkName, dopWalletID, erc20AmountRecipients, originalGasDetails, feeTokenDetails, sendWithPublicWallet, false);
|
|
32
|
+
return response;
|
|
33
|
+
}
|
|
34
|
+
catch (err) {
|
|
35
|
+
throw (0, error_1.reportAndSanitizeError)(exports.gasEstimateForUnprovenTransfer.name, err);
|
|
36
|
+
}
|
|
76
37
|
};
|
|
77
|
-
|
|
38
|
+
exports.gasEstimateForUnprovenTransfer = gasEstimateForUnprovenTransfer;
|
|
78
39
|
//# sourceMappingURL=tx-transfer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx-transfer.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-transfer.ts"],"names":[],"mappings":";;;AAAA,2DAU4B;
|
|
1
|
+
{"version":3,"file":"tx-transfer.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-transfer.ts"],"names":[],"mappings":";;;AAAA,2DAU4B;AAC5B,iDAGwB;AACxB,+CAA0D;AAE1D,iFAAkG;AAClG,6CAA2D;AAEpD,MAAM,sBAAsB,GAAG,KAAK,EACzC,WAAwB,EACxB,WAAmB,EACnB,4BAAqC,EACrC,QAA0B,EAC1B,qBAAgD,EAChD,mBAA4C,EAC5C,8BAAiE,EACjE,oBAA6B,EAC7B,uBAAyC,EACzC,UAAiC,EACQ,EAAE;IAC3C,IAAI;QACF,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,uCAAyB,EACjE,WAAW,EACX,8BAAS,CAAC,QAAQ,EAClB,WAAW,EACX,4BAA4B,EAC5B,QAAQ,EACR,qBAAqB,EACrB,mBAAmB,EACnB,SAAS,EAAE,0CAA0C;QACrD,SAAS,EAAE,+BAA+B;QAC1C,SAAS,EAAE,kCAAkC;QAC7C,SAAS,EAAE,gCAAgC;QAC3C,SAAS,EAAE,qBAAqB;QAChC,8BAA8B,EAC9B,oBAAoB,EACpB,uBAAuB,EACvB,UAAU,CACX,CAAC;QACF,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;AAtCW,QAAA,sBAAsB,0BAsCjC;AAEK,MAAM,8BAA8B,GAAG,KAAK,EACjD,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,+EAAgD,EACrE,CAAC,qBAA+C,EAAE,EAAE,CAClD,IAAA,6CAA8B,EAC5B,8BAAS,CAAC,QAAQ,EAClB,WAAW,EACX,WAAW,EACX,aAAa,EACb,KAAK,EAAE,kEAAkE;QACzE,QAAQ,EACR,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,CACxB,EACH,CAAC,GAAwB,EAAE,EAAE,CAC3B,IAAA,+BAAgB,EACd,GAAG,EACH,WAAW,EACX,IAAI,CACL,EACH,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;AA/CW,QAAA,8BAA8B,kCA+CzC","sourcesContent":["import {\n DopPopulateTransactionResponse,\n DopTransactionGasEstimateResponse,\n DopERC20Amount,\n NetworkName,\n ProofType,\n FeeTokenDetails,\n DopERC20AmountRecipient,\n DopNFTAmountRecipient,\n TransactionGasDetails,\n} from 'dop-sharedmodel-v5';\nimport {\n generateDummyProofTransactions,\n generateTransact,\n} from './tx-generator';\nimport { populateProvedTransaction } from './proof-cache';\nimport { TransactionStruct } from 'dop-engine-v5';\nimport { gasEstimateResponseDummyProofIterativeRelayerFee } from './tx-gas-relayer-fee-estimator';\nimport { reportAndSanitizeError } from '../../utils/error';\n\nexport const populateProvedTransfer = async (\n networkName: NetworkName,\n dopWalletID: string,\n showSenderAddressToRecipient: boolean,\n memoText: Optional<string>,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n relayerFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>,\n sendWithPublicWallet: boolean,\n overallBatchMinGasPrice: Optional<bigint>,\n gasDetails: TransactionGasDetails,\n): Promise<DopPopulateTransactionResponse> => {\n try {\n const { transaction, nullifiers } = await populateProvedTransaction(\n networkName,\n ProofType.Transfer,\n dopWalletID,\n showSenderAddressToRecipient,\n memoText,\n erc20AmountRecipients,\n nftAmountRecipients,\n undefined, // relayAdaptUnshieldERC20AmountRecipients\n undefined, // relayAdaptUnshieldNFTAmounts\n undefined, // relayAdaptShieldERC20Recipients\n undefined, // relayAdaptShieldNFTRecipients\n undefined, // crossContractCalls\n relayerFeeERC20AmountRecipient,\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 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 gasEstimateResponseDummyProofIterativeRelayerFee(\n (relayerFeeERC20Amount: Optional<DopERC20Amount>) =>\n generateDummyProofTransactions(\n ProofType.Transfer,\n networkName,\n dopWalletID,\n encryptionKey,\n false, // showSenderAddressToRecipient - doesn't matter for gas estimate.\n memoText,\n erc20AmountRecipients,\n nftAmountRecipients,\n relayerFeeERC20Amount,\n sendWithPublicWallet,\n overallBatchMinGasPrice,\n ),\n (txs: TransactionStruct[]) =>\n generateTransact(\n txs,\n networkName,\n true, // useDummyProof\n ),\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,5 @@
|
|
|
1
|
-
import { DopPopulateTransactionResponse, DopERC20Amount, NetworkName, DopERC20AmountRecipient, DopNFTAmountRecipient, TransactionGasDetails } from 'dop-sharedmodel-v5';
|
|
1
|
+
import { DopPopulateTransactionResponse, DopTransactionGasEstimateResponse, DopERC20Amount, NetworkName, FeeTokenDetails, DopERC20AmountRecipient, DopNFTAmountRecipient, TransactionGasDetails } from 'dop-sharedmodel-v5';
|
|
2
2
|
export declare const populateProvedUnshield: (networkName: NetworkName, dopWalletID: string, erc20AmountRecipients: DopERC20AmountRecipient[], nftAmountRecipients: DopNFTAmountRecipient[], relayerFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>, sendWithPublicWallet: boolean, overallBatchMinGasPrice: Optional<bigint>, gasDetails: TransactionGasDetails) => Promise<DopPopulateTransactionResponse>;
|
|
3
3
|
export declare const populateProvedUnshieldBaseToken: (networkName: NetworkName, publicWalletAddress: string, dopWalletID: string, wrappedERC20Amount: DopERC20Amount, relayerFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>, sendWithPublicWallet: boolean, overallBatchMinGasPrice: Optional<bigint>, gasDetails: TransactionGasDetails) => Promise<DopPopulateTransactionResponse>;
|
|
4
|
+
export declare const gasEstimateForUnprovenUnshield: (networkName: NetworkName, dopWalletID: string, encryptionKey: string, erc20AmountRecipients: DopERC20AmountRecipient[], nftAmountRecipients: DopNFTAmountRecipient[], originalGasDetails: TransactionGasDetails, feeTokenDetails: Optional<FeeTokenDetails>, sendWithPublicWallet: boolean) => Promise<DopTransactionGasEstimateResponse>;
|
|
5
|
+
export declare const gasEstimateForUnprovenUnshieldBaseToken: (networkName: NetworkName, publicWalletAddress: string, dopWalletID: string, encryptionKey: string, wrappedERC20Amount: DopERC20Amount, originalGasDetails: TransactionGasDetails, feeTokenDetails: Optional<FeeTokenDetails>, sendWithPublicWallet: boolean) => Promise<DopTransactionGasEstimateResponse>;
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.populateProvedUnshieldBaseToken = exports.populateProvedUnshield = void 0;
|
|
3
|
+
exports.gasEstimateForUnprovenUnshieldBaseToken = exports.gasEstimateForUnprovenUnshield = exports.populateProvedUnshieldBaseToken = exports.populateProvedUnshield = void 0;
|
|
4
4
|
const dop_sharedmodel_v5_1 = require("dop-sharedmodel-v5");
|
|
5
|
+
const tx_generator_1 = require("./tx-generator");
|
|
5
6
|
const proof_cache_1 = require("./proof-cache");
|
|
7
|
+
const dop_engine_v5_1 = require("dop-engine-v5");
|
|
8
|
+
const tx_gas_relayer_fee_estimator_1 = require("./tx-gas-relayer-fee-estimator");
|
|
9
|
+
const tx_cross_contract_calls_1 = require("./tx-cross-contract-calls");
|
|
6
10
|
const error_1 = require("../../utils/error");
|
|
7
11
|
const populateProvedUnshield = async (networkName, dopWalletID, erc20AmountRecipients, nftAmountRecipients, relayerFeeERC20AmountRecipient, sendWithPublicWallet, overallBatchMinGasPrice, gasDetails) => {
|
|
8
12
|
try {
|
|
@@ -54,121 +58,38 @@ const populateProvedUnshieldBaseToken = async (networkName, publicWalletAddress,
|
|
|
54
58
|
}
|
|
55
59
|
};
|
|
56
60
|
exports.populateProvedUnshieldBaseToken = populateProvedUnshieldBaseToken;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
): Promise<DopTransactionGasEstimateResponse> => {
|
|
69
|
-
try {
|
|
70
|
-
const overallBatchMinGasPrice = 0n;
|
|
71
|
-
|
|
72
|
-
const response = await gasEstimateResponseDummyProofIterativeRelayerFee(
|
|
73
|
-
(relayerFeeERC20Amount: Optional<DopERC20Amount>) =>
|
|
74
|
-
generateDummyProofTransactions(
|
|
75
|
-
ProofType.Unshield,
|
|
76
|
-
networkName,
|
|
77
|
-
dopWalletID,
|
|
78
|
-
encryptionKey,
|
|
79
|
-
false, // showSenderAddressToRecipient
|
|
80
|
-
undefined, // memoText
|
|
81
|
-
erc20AmountRecipients,
|
|
82
|
-
nftAmountRecipients,
|
|
83
|
-
relayerFeeERC20Amount,
|
|
84
|
-
sendWithPublicWallet,
|
|
85
|
-
overallBatchMinGasPrice,
|
|
86
|
-
valueCheck
|
|
87
|
-
),
|
|
88
|
-
(txs: TransactionStruct[]) =>
|
|
89
|
-
generateTransact(
|
|
90
|
-
txs,
|
|
91
|
-
networkName,
|
|
92
|
-
true, // useDummyProof
|
|
93
|
-
),
|
|
94
|
-
networkName,
|
|
95
|
-
dopWalletID,
|
|
96
|
-
erc20AmountRecipients,
|
|
97
|
-
originalGasDetails,
|
|
98
|
-
feeTokenDetails,
|
|
99
|
-
sendWithPublicWallet,
|
|
100
|
-
false, // isCrossContractCall
|
|
101
|
-
);
|
|
102
|
-
return response;
|
|
103
|
-
} catch (err) {
|
|
104
|
-
throw reportAndSanitizeError(gasEstimateForUnprovenUnshield.name, err);
|
|
105
|
-
}
|
|
61
|
+
const gasEstimateForUnprovenUnshield = async (networkName, dopWalletID, encryptionKey, erc20AmountRecipients, nftAmountRecipients, originalGasDetails, feeTokenDetails, sendWithPublicWallet) => {
|
|
62
|
+
try {
|
|
63
|
+
const overallBatchMinGasPrice = 0n;
|
|
64
|
+
const response = await (0, tx_gas_relayer_fee_estimator_1.gasEstimateResponseDummyProofIterativeRelayerFee)((relayerFeeERC20Amount) => (0, tx_generator_1.generateDummyProofTransactions)(dop_sharedmodel_v5_1.ProofType.Unshield, networkName, dopWalletID, encryptionKey, false, // showSenderAddressToRecipient
|
|
65
|
+
undefined, // memoText
|
|
66
|
+
erc20AmountRecipients, nftAmountRecipients, relayerFeeERC20Amount, sendWithPublicWallet, overallBatchMinGasPrice), (txs) => (0, tx_generator_1.generateTransact)(txs, networkName, true), networkName, dopWalletID, erc20AmountRecipients, originalGasDetails, feeTokenDetails, sendWithPublicWallet, false);
|
|
67
|
+
return response;
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
throw (0, error_1.reportAndSanitizeError)(exports.gasEstimateForUnprovenUnshield.name, err);
|
|
71
|
+
}
|
|
106
72
|
};
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
const nftAmountRecipients: DopNFTAmountRecipient[] = [];
|
|
128
|
-
|
|
129
|
-
const overallBatchMinGasPrice = 0n;
|
|
130
|
-
|
|
131
|
-
const response = await gasEstimateResponseDummyProofIterativeRelayerFee(
|
|
132
|
-
(relayerFeeERC20Amount: Optional<DopERC20Amount>) =>
|
|
133
|
-
generateDummyProofTransactions(
|
|
134
|
-
ProofType.UnshieldBaseToken,
|
|
135
|
-
networkName,
|
|
136
|
-
dopWalletID,
|
|
137
|
-
encryptionKey,
|
|
138
|
-
false, // showSenderAddressToRecipient
|
|
139
|
-
undefined, // memoText
|
|
140
|
-
relayAdaptUnshieldERC20AmountRecipients,
|
|
141
|
-
nftAmountRecipients,
|
|
142
|
-
relayerFeeERC20Amount,
|
|
143
|
-
sendWithPublicWallet,
|
|
144
|
-
overallBatchMinGasPrice,
|
|
145
|
-
valueCheck
|
|
146
|
-
),
|
|
147
|
-
(txs: TransactionStruct[]) => {
|
|
148
|
-
const relayAdaptParamsRandom = randomHex(31);
|
|
149
|
-
return generateUnshieldBaseToken(
|
|
150
|
-
txs,
|
|
151
|
-
networkName,
|
|
152
|
-
publicWalletAddress,
|
|
153
|
-
relayAdaptParamsRandom,
|
|
154
|
-
true, // useDummyProof
|
|
155
|
-
);
|
|
156
|
-
},
|
|
157
|
-
networkName,
|
|
158
|
-
dopWalletID,
|
|
159
|
-
relayAdaptUnshieldERC20AmountRecipients,
|
|
160
|
-
originalGasDetails,
|
|
161
|
-
feeTokenDetails,
|
|
162
|
-
sendWithPublicWallet,
|
|
163
|
-
false, // isCrossContractCall
|
|
164
|
-
);
|
|
165
|
-
return response;
|
|
166
|
-
} catch (err) {
|
|
167
|
-
throw reportAndSanitizeError(
|
|
168
|
-
gasEstimateForUnprovenUnshieldBaseToken.name,
|
|
169
|
-
err,
|
|
170
|
-
);
|
|
171
|
-
}
|
|
73
|
+
exports.gasEstimateForUnprovenUnshield = gasEstimateForUnprovenUnshield;
|
|
74
|
+
const gasEstimateForUnprovenUnshieldBaseToken = async (networkName, publicWalletAddress, dopWalletID, encryptionKey, wrappedERC20Amount, originalGasDetails, feeTokenDetails, sendWithPublicWallet) => {
|
|
75
|
+
try {
|
|
76
|
+
const relayAdaptUnshieldERC20AmountRecipients = (0, tx_cross_contract_calls_1.createRelayAdaptUnshieldERC20AmountRecipients)(networkName, [
|
|
77
|
+
wrappedERC20Amount,
|
|
78
|
+
]);
|
|
79
|
+
// Empty NFT Recipients.
|
|
80
|
+
const nftAmountRecipients = [];
|
|
81
|
+
const overallBatchMinGasPrice = 0n;
|
|
82
|
+
const response = await (0, tx_gas_relayer_fee_estimator_1.gasEstimateResponseDummyProofIterativeRelayerFee)((relayerFeeERC20Amount) => (0, tx_generator_1.generateDummyProofTransactions)(dop_sharedmodel_v5_1.ProofType.UnshieldBaseToken, networkName, dopWalletID, encryptionKey, false, // showSenderAddressToRecipient
|
|
83
|
+
undefined, // memoText
|
|
84
|
+
relayAdaptUnshieldERC20AmountRecipients, nftAmountRecipients, relayerFeeERC20Amount, sendWithPublicWallet, overallBatchMinGasPrice), (txs) => {
|
|
85
|
+
const relayAdaptParamsRandom = (0, dop_engine_v5_1.randomHex)(31);
|
|
86
|
+
return (0, tx_generator_1.generateUnshieldBaseToken)(txs, networkName, publicWalletAddress, relayAdaptParamsRandom, true);
|
|
87
|
+
}, networkName, dopWalletID, relayAdaptUnshieldERC20AmountRecipients, originalGasDetails, feeTokenDetails, sendWithPublicWallet, false);
|
|
88
|
+
return response;
|
|
89
|
+
}
|
|
90
|
+
catch (err) {
|
|
91
|
+
throw (0, error_1.reportAndSanitizeError)(exports.gasEstimateForUnprovenUnshieldBaseToken.name, err);
|
|
92
|
+
}
|
|
172
93
|
};
|
|
173
|
-
|
|
94
|
+
exports.gasEstimateForUnprovenUnshieldBaseToken = gasEstimateForUnprovenUnshieldBaseToken;
|
|
174
95
|
//# sourceMappingURL=tx-unshield.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx-unshield.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-unshield.ts"],"names":[],"mappings":";;;AAAA,2DAU4B;AAM5B,+CAA0D;AAI1D,6CAA2D;AAEpD,MAAM,sBAAsB,GAAG,KAAK,EACzC,WAAwB,EACxB,WAAmB,EACnB,qBAAgD,EAChD,mBAA4C,EAC5C,8BAAiE,EACjE,oBAA6B,EAC7B,uBAAyC,EACzC,UAAiC,EACQ,EAAE;IAC3C,IAAI;QACF,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,uCAAyB,EACjE,WAAW,EACX,8BAAS,CAAC,QAAQ,EAClB,WAAW,EACX,KAAK,EAAE,+BAA+B;QACtC,SAAS,EAAE,WAAW;QACtB,qBAAqB,EACrB,mBAAmB,EACnB,SAAS,EAAE,0CAA0C;QACrD,SAAS,EAAE,+BAA+B;QAC1C,SAAS,EAAE,kCAAkC;QAC7C,SAAS,EAAE,gCAAgC;QAC3C,SAAS,EAAE,qBAAqB;QAChC,8BAA8B,EAC9B,oBAAoB,EACpB,uBAAuB,EACvB,UAAU,CACX,CAAC;QACF,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;AApCW,QAAA,sBAAsB,0BAoCjC;AAEK,MAAM,+BAA+B,GAAG,KAAK,EAClD,WAAwB,EACxB,mBAA2B,EAC3B,WAAmB,EACnB,kBAAkC,EAClC,8BAAiE,EACjE,oBAA6B,EAC7B,uBAAyC,EACzC,UAAiC,EACQ,EAAE;IAC3C,IAAI;QACF,MAAM,qBAAqB,GAA8B;YACvD;gBACE,GAAG,kBAAkB;gBACrB,gBAAgB,EAAE,mBAAmB;aACtC;SACF,CAAC;QACF,MAAM,8BAA8B,GAAqB;YACvD,kBAAkB;SACnB,CAAC;QAEF,wBAAwB;QACxB,MAAM,mBAAmB,GAA4B,EAAE,CAAC;QAExD,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,uCAAyB,EACjE,WAAW,EACX,8BAAS,CAAC,iBAAiB,EAC3B,WAAW,EACX,KAAK,EAAE,+BAA+B;QACtC,SAAS,EAAE,WAAW;QACtB,qBAAqB,EACrB,mBAAmB,EACnB,8BAA8B,EAC9B,SAAS,EAAE,+BAA+B;QAC1C,SAAS,EAAE,kCAAkC;QAC7C,SAAS,EAAE,gCAAgC;QAC3C,SAAS,EAAE,qBAAqB;QAChC,8BAA8B,EAC9B,oBAAoB,EACpB,uBAAuB,EACvB,UAAU,CACX,CAAC;QACF,OAAO;YACL,UAAU;YACV,WAAW;SACZ,CAAC;KACH;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAA,8BAAsB,EAAC,uCAA+B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KACzE;AACH,CAAC,CAAC;AAjDW,QAAA,+BAA+B,mCAiD1C;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkDE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiEE","sourcesContent":["import {\n DopPopulateTransactionResponse,\n DopTransactionGasEstimateResponse,\n DopERC20Amount,\n NetworkName,\n ProofType,\n FeeTokenDetails,\n DopERC20AmountRecipient,\n DopNFTAmountRecipient,\n TransactionGasDetails,\n} from 'dop-sharedmodel-v5';\nimport {\n generateDummyProofTransactions,\n generateTransact,\n // generateUnshieldBaseToken,\n} from './tx-generator';\nimport { populateProvedTransaction } from './proof-cache';\nimport { randomHex, TransactionStruct } from 'dop-engine-v5';\n// import { gasEstimateResponseDummyProofIterativeRelayerFee } from './tx-gas-relayer-fee-estimator';\nimport { createRelayAdaptUnshieldERC20AmountRecipients } from './tx-cross-contract-calls';\nimport { reportAndSanitizeError } from '../../utils/error';\n\nexport const populateProvedUnshield = async (\n networkName: NetworkName,\n dopWalletID: string,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n relayerFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>,\n sendWithPublicWallet: boolean,\n overallBatchMinGasPrice: Optional<bigint>,\n gasDetails: TransactionGasDetails,\n): Promise<DopPopulateTransactionResponse> => {\n try {\n const { transaction, nullifiers } = await populateProvedTransaction(\n networkName,\n ProofType.Unshield,\n dopWalletID,\n false, // showSenderAddressToRecipient\n undefined, // memoText\n erc20AmountRecipients,\n nftAmountRecipients,\n undefined, // relayAdaptUnshieldERC20AmountRecipients\n undefined, // relayAdaptUnshieldNFTAmounts\n undefined, // relayAdaptShieldERC20Recipients\n undefined, // relayAdaptShieldNFTRecipients\n undefined, // crossContractCalls\n relayerFeeERC20AmountRecipient,\n sendWithPublicWallet,\n overallBatchMinGasPrice,\n gasDetails,\n );\n return {\n nullifiers,\n transaction,\n };\n } catch (err) {\n throw reportAndSanitizeError(populateProvedUnshield.name, err);\n }\n};\n\nexport const populateProvedUnshieldBaseToken = async (\n networkName: NetworkName,\n publicWalletAddress: string,\n dopWalletID: string,\n wrappedERC20Amount: DopERC20Amount,\n relayerFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>,\n sendWithPublicWallet: boolean,\n overallBatchMinGasPrice: Optional<bigint>,\n gasDetails: TransactionGasDetails,\n): Promise<DopPopulateTransactionResponse> => {\n try {\n const erc20AmountRecipients: DopERC20AmountRecipient[] = [\n {\n ...wrappedERC20Amount,\n recipientAddress: publicWalletAddress,\n },\n ];\n const relayAdaptUnshieldERC20Amounts: DopERC20Amount[] = [\n wrappedERC20Amount,\n ];\n\n // Empty NFT Recipients.\n const nftAmountRecipients: DopNFTAmountRecipient[] = [];\n\n const { transaction, nullifiers } = await populateProvedTransaction(\n networkName,\n ProofType.UnshieldBaseToken,\n dopWalletID,\n false, // showSenderAddressToRecipient\n undefined, // memoText\n erc20AmountRecipients,\n nftAmountRecipients,\n relayAdaptUnshieldERC20Amounts,\n undefined, // relayAdaptUnshieldNFTAmounts\n undefined, // relayAdaptShieldERC20Recipients\n undefined, // relayAdaptShieldNFTRecipients\n undefined, // crossContractCalls\n relayerFeeERC20AmountRecipient,\n sendWithPublicWallet,\n overallBatchMinGasPrice,\n gasDetails,\n );\n return {\n nullifiers,\n transaction,\n };\n } catch (err) {\n throw reportAndSanitizeError(populateProvedUnshieldBaseToken.name, err);\n }\n};\n/*\nexport const gasEstimateForUnprovenUnshield = async (\n networkName: NetworkName,\n dopWalletID: string,\n encryptionKey: string,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n originalGasDetails: TransactionGasDetails,\n feeTokenDetails: Optional<FeeTokenDetails>,\n sendWithPublicWallet: boolean,\n valueCheck: bigint,\n): Promise<DopTransactionGasEstimateResponse> => {\n try {\n const overallBatchMinGasPrice = 0n;\n\n const response = await gasEstimateResponseDummyProofIterativeRelayerFee(\n (relayerFeeERC20Amount: Optional<DopERC20Amount>) =>\n generateDummyProofTransactions(\n ProofType.Unshield,\n networkName,\n dopWalletID,\n encryptionKey,\n false, // showSenderAddressToRecipient\n undefined, // memoText\n erc20AmountRecipients,\n nftAmountRecipients,\n relayerFeeERC20Amount,\n sendWithPublicWallet,\n overallBatchMinGasPrice,\n valueCheck\n ),\n (txs: TransactionStruct[]) =>\n generateTransact(\n txs,\n networkName,\n true, // useDummyProof\n ),\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(gasEstimateForUnprovenUnshield.name, err);\n }\n};\n*/\n/*\nexport const gasEstimateForUnprovenUnshieldBaseToken = async (\n networkName: NetworkName,\n publicWalletAddress: string,\n dopWalletID: string,\n encryptionKey: string,\n wrappedERC20Amount: DopERC20Amount,\n originalGasDetails: TransactionGasDetails,\n feeTokenDetails: Optional<FeeTokenDetails>,\n sendWithPublicWallet: boolean,\n valueCheck: bigint,\n): Promise<DopTransactionGasEstimateResponse> => {\n try {\n const relayAdaptUnshieldERC20AmountRecipients: DopERC20AmountRecipient[] =\n createRelayAdaptUnshieldERC20AmountRecipients(networkName, [\n wrappedERC20Amount,\n ]);\n\n // Empty NFT Recipients.\n const nftAmountRecipients: DopNFTAmountRecipient[] = [];\n\n const overallBatchMinGasPrice = 0n;\n\n const response = await gasEstimateResponseDummyProofIterativeRelayerFee(\n (relayerFeeERC20Amount: Optional<DopERC20Amount>) =>\n generateDummyProofTransactions(\n ProofType.UnshieldBaseToken,\n networkName,\n dopWalletID,\n encryptionKey,\n false, // showSenderAddressToRecipient\n undefined, // memoText\n relayAdaptUnshieldERC20AmountRecipients,\n nftAmountRecipients,\n relayerFeeERC20Amount,\n sendWithPublicWallet,\n overallBatchMinGasPrice,\n valueCheck\n ),\n (txs: TransactionStruct[]) => {\n const relayAdaptParamsRandom = randomHex(31);\n return generateUnshieldBaseToken(\n txs,\n networkName,\n publicWalletAddress,\n relayAdaptParamsRandom,\n true, // useDummyProof\n );\n },\n networkName,\n dopWalletID,\n relayAdaptUnshieldERC20AmountRecipients,\n originalGasDetails,\n feeTokenDetails,\n sendWithPublicWallet,\n false, // isCrossContractCall\n );\n return response;\n } catch (err) {\n throw reportAndSanitizeError(\n gasEstimateForUnprovenUnshieldBaseToken.name,\n err,\n );\n }\n};\n*/"]}
|
|
1
|
+
{"version":3,"file":"tx-unshield.js","sourceRoot":"","sources":["../../../src/services/transactions/tx-unshield.ts"],"names":[],"mappings":";;;AAAA,2DAU4B;AAC5B,iDAIwB;AACxB,+CAA0D;AAC1D,iDAA6D;AAC7D,iFAAkG;AAClG,uEAA0F;AAC1F,6CAA2D;AAEpD,MAAM,sBAAsB,GAAG,KAAK,EACzC,WAAwB,EACxB,WAAmB,EACnB,qBAAgD,EAChD,mBAA4C,EAC5C,8BAAiE,EACjE,oBAA6B,EAC7B,uBAAyC,EACzC,UAAiC,EACQ,EAAE;IAC3C,IAAI;QACF,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,uCAAyB,EACjE,WAAW,EACX,8BAAS,CAAC,QAAQ,EAClB,WAAW,EACX,KAAK,EAAE,+BAA+B;QACtC,SAAS,EAAE,WAAW;QACtB,qBAAqB,EACrB,mBAAmB,EACnB,SAAS,EAAE,0CAA0C;QACrD,SAAS,EAAE,+BAA+B;QAC1C,SAAS,EAAE,kCAAkC;QAC7C,SAAS,EAAE,gCAAgC;QAC3C,SAAS,EAAE,qBAAqB;QAChC,8BAA8B,EAC9B,oBAAoB,EACpB,uBAAuB,EACvB,UAAU,CACX,CAAC;QACF,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;AApCW,QAAA,sBAAsB,0BAoCjC;AAEK,MAAM,+BAA+B,GAAG,KAAK,EAClD,WAAwB,EACxB,mBAA2B,EAC3B,WAAmB,EACnB,kBAAkC,EAClC,8BAAiE,EACjE,oBAA6B,EAC7B,uBAAyC,EACzC,UAAiC,EACQ,EAAE;IAC3C,IAAI;QACF,MAAM,qBAAqB,GAA8B;YACvD;gBACE,GAAG,kBAAkB;gBACrB,gBAAgB,EAAE,mBAAmB;aACtC;SACF,CAAC;QACF,MAAM,8BAA8B,GAAqB;YACvD,kBAAkB;SACnB,CAAC;QAEF,wBAAwB;QACxB,MAAM,mBAAmB,GAA4B,EAAE,CAAC;QAExD,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,uCAAyB,EACjE,WAAW,EACX,8BAAS,CAAC,iBAAiB,EAC3B,WAAW,EACX,KAAK,EAAE,+BAA+B;QACtC,SAAS,EAAE,WAAW;QACtB,qBAAqB,EACrB,mBAAmB,EACnB,8BAA8B,EAC9B,SAAS,EAAE,+BAA+B;QAC1C,SAAS,EAAE,kCAAkC;QAC7C,SAAS,EAAE,gCAAgC;QAC3C,SAAS,EAAE,qBAAqB;QAChC,8BAA8B,EAC9B,oBAAoB,EACpB,uBAAuB,EACvB,UAAU,CACX,CAAC;QACF,OAAO;YACL,UAAU;YACV,WAAW;SACZ,CAAC;KACH;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAA,8BAAsB,EAAC,uCAA+B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KACzE;AACH,CAAC,CAAC;AAjDW,QAAA,+BAA+B,mCAiD1C;AAEK,MAAM,8BAA8B,GAAG,KAAK,EACjD,WAAwB,EACxB,WAAmB,EACnB,aAAqB,EACrB,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,+EAAgD,EACrE,CAAC,qBAA+C,EAAE,EAAE,CAClD,IAAA,6CAA8B,EAC5B,8BAAS,CAAC,QAAQ,EAClB,WAAW,EACX,WAAW,EACX,aAAa,EACb,KAAK,EAAE,+BAA+B;QACtC,SAAS,EAAE,WAAW;QACtB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,CACxB,EACH,CAAC,GAAwB,EAAE,EAAE,CAC3B,IAAA,+BAAgB,EACd,GAAG,EACH,WAAW,EACX,IAAI,CACL,EACH,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;AA9CW,QAAA,8BAA8B,kCA8CzC;AAEK,MAAM,uCAAuC,GAAG,KAAK,EAC1D,WAAwB,EACxB,mBAA2B,EAC3B,WAAmB,EACnB,aAAqB,EACrB,kBAAkC,EAClC,kBAAyC,EACzC,eAA0C,EAC1C,oBAA6B,EACe,EAAE;IAC9C,IAAI;QACF,MAAM,uCAAuC,GAC3C,IAAA,uEAA6C,EAAC,WAAW,EAAE;YACzD,kBAAkB;SACnB,CAAC,CAAC;QAEL,wBAAwB;QACxB,MAAM,mBAAmB,GAA4B,EAAE,CAAC;QAExD,MAAM,uBAAuB,GAAG,EAAE,CAAC;QAEnC,MAAM,QAAQ,GAAG,MAAM,IAAA,+EAAgD,EACrE,CAAC,qBAA+C,EAAE,EAAE,CAClD,IAAA,6CAA8B,EAC5B,8BAAS,CAAC,iBAAiB,EAC3B,WAAW,EACX,WAAW,EACX,aAAa,EACb,KAAK,EAAE,+BAA+B;QACtC,SAAS,EAAE,WAAW;QACtB,uCAAuC,EACvC,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,CACxB,EACH,CAAC,GAAwB,EAAE,EAAE;YAC3B,MAAM,sBAAsB,GAAG,IAAA,yBAAS,EAAC,EAAE,CAAC,CAAC;YAC7C,OAAO,IAAA,wCAAyB,EAC9B,GAAG,EACH,WAAW,EACX,mBAAmB,EACnB,sBAAsB,EACtB,IAAI,CACL,CAAC;QACJ,CAAC,EACD,WAAW,EACX,WAAW,EACX,uCAAuC,EACvC,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,KAAK,CACN,CAAC;QACF,OAAO,QAAQ,CAAC;KACjB;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAA,8BAAsB,EAC1B,+CAAuC,CAAC,IAAI,EAC5C,GAAG,CACJ,CAAC;KACH;AACH,CAAC,CAAC;AA7DW,QAAA,uCAAuC,2CA6DlD","sourcesContent":["import {\n DopPopulateTransactionResponse,\n DopTransactionGasEstimateResponse,\n DopERC20Amount,\n NetworkName,\n ProofType,\n FeeTokenDetails,\n DopERC20AmountRecipient,\n DopNFTAmountRecipient,\n TransactionGasDetails,\n} from 'dop-sharedmodel-v5';\nimport {\n generateDummyProofTransactions,\n generateTransact,\n generateUnshieldBaseToken,\n} from './tx-generator';\nimport { populateProvedTransaction } from './proof-cache';\nimport { randomHex, TransactionStruct } from 'dop-engine-v5';\nimport { gasEstimateResponseDummyProofIterativeRelayerFee } from './tx-gas-relayer-fee-estimator';\nimport { createRelayAdaptUnshieldERC20AmountRecipients } from './tx-cross-contract-calls';\nimport { reportAndSanitizeError } from '../../utils/error';\n\nexport const populateProvedUnshield = async (\n networkName: NetworkName,\n dopWalletID: string,\n erc20AmountRecipients: DopERC20AmountRecipient[],\n nftAmountRecipients: DopNFTAmountRecipient[],\n relayerFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>,\n sendWithPublicWallet: boolean,\n overallBatchMinGasPrice: Optional<bigint>,\n gasDetails: TransactionGasDetails,\n): Promise<DopPopulateTransactionResponse> => {\n try {\n const { transaction, nullifiers } = await populateProvedTransaction(\n networkName,\n ProofType.Unshield,\n dopWalletID,\n false, // showSenderAddressToRecipient\n undefined, // memoText\n erc20AmountRecipients,\n nftAmountRecipients,\n undefined, // relayAdaptUnshieldERC20AmountRecipients\n undefined, // relayAdaptUnshieldNFTAmounts\n undefined, // relayAdaptShieldERC20Recipients\n undefined, // relayAdaptShieldNFTRecipients\n undefined, // crossContractCalls\n relayerFeeERC20AmountRecipient,\n sendWithPublicWallet,\n overallBatchMinGasPrice,\n gasDetails,\n );\n return {\n nullifiers,\n transaction,\n };\n } catch (err) {\n throw reportAndSanitizeError(populateProvedUnshield.name, err);\n }\n};\n\nexport const populateProvedUnshieldBaseToken = async (\n networkName: NetworkName,\n publicWalletAddress: string,\n dopWalletID: string,\n wrappedERC20Amount: DopERC20Amount,\n relayerFeeERC20AmountRecipient: Optional<DopERC20AmountRecipient>,\n sendWithPublicWallet: boolean,\n overallBatchMinGasPrice: Optional<bigint>,\n gasDetails: TransactionGasDetails,\n): Promise<DopPopulateTransactionResponse> => {\n try {\n const erc20AmountRecipients: DopERC20AmountRecipient[] = [\n {\n ...wrappedERC20Amount,\n recipientAddress: publicWalletAddress,\n },\n ];\n const relayAdaptUnshieldERC20Amounts: DopERC20Amount[] = [\n wrappedERC20Amount,\n ];\n\n // Empty NFT Recipients.\n const nftAmountRecipients: DopNFTAmountRecipient[] = [];\n\n const { transaction, nullifiers } = await populateProvedTransaction(\n networkName,\n ProofType.UnshieldBaseToken,\n dopWalletID,\n false, // showSenderAddressToRecipient\n undefined, // memoText\n erc20AmountRecipients,\n nftAmountRecipients,\n relayAdaptUnshieldERC20Amounts,\n undefined, // relayAdaptUnshieldNFTAmounts\n undefined, // relayAdaptShieldERC20Recipients\n undefined, // relayAdaptShieldNFTRecipients\n undefined, // crossContractCalls\n relayerFeeERC20AmountRecipient,\n sendWithPublicWallet,\n overallBatchMinGasPrice,\n gasDetails,\n );\n return {\n nullifiers,\n transaction,\n };\n } catch (err) {\n throw reportAndSanitizeError(populateProvedUnshieldBaseToken.name, err);\n }\n};\n\nexport const gasEstimateForUnprovenUnshield = async (\n networkName: NetworkName,\n dopWalletID: string,\n encryptionKey: 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 gasEstimateResponseDummyProofIterativeRelayerFee(\n (relayerFeeERC20Amount: Optional<DopERC20Amount>) =>\n generateDummyProofTransactions(\n ProofType.Unshield,\n networkName,\n dopWalletID,\n encryptionKey,\n false, // showSenderAddressToRecipient\n undefined, // memoText\n erc20AmountRecipients,\n nftAmountRecipients,\n relayerFeeERC20Amount,\n sendWithPublicWallet,\n overallBatchMinGasPrice,\n ),\n (txs: TransactionStruct[]) =>\n generateTransact(\n txs,\n networkName,\n true, // useDummyProof\n ),\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(gasEstimateForUnprovenUnshield.name, err);\n }\n};\n\nexport const gasEstimateForUnprovenUnshieldBaseToken = async (\n networkName: NetworkName,\n publicWalletAddress: string,\n dopWalletID: string,\n encryptionKey: string,\n wrappedERC20Amount: DopERC20Amount,\n originalGasDetails: TransactionGasDetails,\n feeTokenDetails: Optional<FeeTokenDetails>,\n sendWithPublicWallet: boolean,\n): Promise<DopTransactionGasEstimateResponse> => {\n try {\n const relayAdaptUnshieldERC20AmountRecipients: DopERC20AmountRecipient[] =\n createRelayAdaptUnshieldERC20AmountRecipients(networkName, [\n wrappedERC20Amount,\n ]);\n\n // Empty NFT Recipients.\n const nftAmountRecipients: DopNFTAmountRecipient[] = [];\n\n const overallBatchMinGasPrice = 0n;\n\n const response = await gasEstimateResponseDummyProofIterativeRelayerFee(\n (relayerFeeERC20Amount: Optional<DopERC20Amount>) =>\n generateDummyProofTransactions(\n ProofType.UnshieldBaseToken,\n networkName,\n dopWalletID,\n encryptionKey,\n false, // showSenderAddressToRecipient\n undefined, // memoText\n relayAdaptUnshieldERC20AmountRecipients,\n nftAmountRecipients,\n relayerFeeERC20Amount,\n sendWithPublicWallet,\n overallBatchMinGasPrice,\n ),\n (txs: TransactionStruct[]) => {\n const relayAdaptParamsRandom = randomHex(31);\n return generateUnshieldBaseToken(\n txs,\n networkName,\n publicWalletAddress,\n relayAdaptParamsRandom,\n true, // useDummyProof\n );\n },\n networkName,\n dopWalletID,\n relayAdaptUnshieldERC20AmountRecipients,\n originalGasDetails,\n feeTokenDetails,\n sendWithPublicWallet,\n false, // isCrossContractCall\n );\n return response;\n } catch (err) {\n throw reportAndSanitizeError(\n gasEstimateForUnprovenUnshieldBaseToken.name,\n err,\n );\n }\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dop-wallet-v6",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "DOP Wallet SDK, compatible with mobile, browser and nodejs environments.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"license": "MIT",
|
|
@@ -38,22 +38,23 @@
|
|
|
38
38
|
"@graphql-mesh/types": "^0.91.14",
|
|
39
39
|
"@graphql-mesh/utils": "^0.43.22",
|
|
40
40
|
"@noble/ed25519": "^1.7.1",
|
|
41
|
-
"dop-engine-v5": "1.1.7",
|
|
42
|
-
"dop-sharedmodel-v5": "1.1.7",
|
|
43
41
|
"@whatwg-node/fetch": "^0.8.4",
|
|
44
42
|
"assert": "2.0.0",
|
|
43
|
+
"axios": "0.27.2",
|
|
44
|
+
"brotli": "^1.3.3",
|
|
45
45
|
"buffer": "^6.0.3",
|
|
46
46
|
"crypto-browserify": "3.12.0",
|
|
47
|
-
"
|
|
47
|
+
"dop-engine-v5": "1.1.8",
|
|
48
|
+
"dop-sharedmodel-v5": "1.1.8",
|
|
48
49
|
"ethereum-cryptography": "^2.0.0",
|
|
50
|
+
"ethers": "github:web3-devv/ethers.js#v6.7.6",
|
|
49
51
|
"events": "3.3.0",
|
|
50
|
-
"axios": "0.27.2",
|
|
51
|
-
"brotli": "^1.3.3",
|
|
52
52
|
"graphql": "^16.6.0",
|
|
53
53
|
"stream-browserify": "3.0.0"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@graphprotocol/client-cli": "^2.2.20",
|
|
57
|
+
"@types/abstract-leveldown": "^7.2.5",
|
|
57
58
|
"@types/chai": "^4.3.4",
|
|
58
59
|
"@types/chai-as-promised": "^7.1.5",
|
|
59
60
|
"@types/leveldown": "^4.0.3",
|