diff --git a/src/__tests__/railgun-engine.test.ts b/src/__tests__/railgun-engine.test.ts index ac7d0cf2..84be037e 100644 --- a/src/__tests__/railgun-engine.test.ts +++ b/src/__tests__/railgun-engine.test.ts @@ -522,16 +522,27 @@ describe('railgun-engine', function test() { ]); expect(initialBalance).to.equal(undefined); + console.log('DEBUG: initialBalance', initialBalance) + const address = wallet.getAddress(chain); const shield = await shieldTestTokens(address, BigInt(110000) * DECIMALS_18); + + + console.log('DEBUG: address and shield', shield) + const balance = await wallet.getBalanceERC20(txidVersion, chain, tokenAddress, [ WalletBalanceBucket.Spendable, ]); + + console.log('DEBUG: balance: ', balance) + expect(balance).to.equal(BigInt('109725000000000000000000')); const tokenData = getTokenDataERC20(tokenAddress); + console.log('DEBUG: tokendata: ', tokenData); + // Create transaction const transactionBatch = new TransactionBatch(chain); transactionBatch.addUnshieldData({ @@ -540,6 +551,8 @@ describe('railgun-engine', function test() { tokenData, }); + + console.log('DEBUG: transactionBatch: ', transactionBatch); // Add output for mock Broadcaster transactionBatch.addOutput( TransactNote.createTransfer( @@ -566,6 +579,9 @@ describe('railgun-engine', function test() { true, // shouldGeneratePreTransactionPOIs ); + + console.log('DEBUG: provedTransactions: preTransactionPOIsPerTxidLeafPerList ', provedTransactions, preTransactionPOIsPerTxidLeafPerList); + expect(Object.keys(preTransactionPOIsPerTxidLeafPerList).length).to.equal(1); expect(Object.keys(preTransactionPOIsPerTxidLeafPerList[MOCK_LIST_KEY]).length).to.equal(1); @@ -577,6 +593,10 @@ describe('railgun-engine', function test() { provedTransactions, ); + + console.log('DEBUG: transact ', transact); + + const isValidPOI = await POIValidation.isValidSpendableTransaction( txidVersion, chain, @@ -592,8 +612,13 @@ describe('railgun-engine', function test() { expect(isValidPOI.isValid).to.equal(true, isValidPOI.error); const transactTx = await sendTransactionWithLatestNonce(ethersWallet, transact); + + console.log('transactTx: ', transactTx); + const transactReceipt = await transactTx.wait(); + console.log('transactReceipt: ', transactReceipt); + if (!transactReceipt) { throw new Error('Failed to get transact receipt'); } @@ -617,6 +642,9 @@ describe('railgun-engine', function test() { ), ByteLength.UINT_256, ); + + console.log('shieldCommitment: ', shieldCommitment); + const blindedCommitmentIn = BlindedCommitment.getForShieldOrTransact( shieldCommitment, shield.notePublicKey, diff --git a/src/contracts/railgun-smart-wallet/railgun-versioned-smart-contracts.ts b/src/contracts/railgun-smart-wallet/railgun-versioned-smart-contracts.ts index 024c232d..c5a05961 100644 --- a/src/contracts/railgun-smart-wallet/railgun-versioned-smart-contracts.ts +++ b/src/contracts/railgun-smart-wallet/railgun-versioned-smart-contracts.ts @@ -224,6 +224,8 @@ export class RailgunVersionedSmartContracts { chain: Chain, transactions: (TransactionStructV2 | TransactionStructV3)[], ): Promise { + console.log('GENERATE TRANSACT: ', txidVersion, chain, transactions); + switch (txidVersion) { case TXIDVersion.V2_PoseidonMerkle: { const contractV2 = ContractStore.railgunSmartWalletContracts.getOrThrow(null, chain); diff --git a/src/contracts/relay-adapt/V2/relay-adapt-v2.ts b/src/contracts/relay-adapt/V2/relay-adapt-v2.ts index 7ac4d877..ef774a76 100644 --- a/src/contracts/relay-adapt/V2/relay-adapt-v2.ts +++ b/src/contracts/relay-adapt/V2/relay-adapt-v2.ts @@ -119,12 +119,13 @@ export class RelayAdaptV2Contract { unshieldAddress: string, random31Bytes: string, useDummyProof: boolean, + sendWithPublicWallet: boolean, ): Promise { const orderedCalls: ContractTransaction[] = await this.getOrderedCallsForUnshieldBaseToken( unshieldAddress, ); - const requireSuccess = useDummyProof; + const requireSuccess = sendWithPublicWallet; return this.populateRelay(transactions, random31Bytes, requireSuccess, orderedCalls, {}); } diff --git a/src/contracts/relay-adapt/__tests__/relay-adapt.test.ts b/src/contracts/relay-adapt/__tests__/relay-adapt.test.ts index c1128177..22157575 100644 --- a/src/contracts/relay-adapt/__tests__/relay-adapt.test.ts +++ b/src/contracts/relay-adapt/__tests__/relay-adapt.test.ts @@ -289,6 +289,7 @@ describe('relay-adapt', function test() { ethersWallet.address, random, true, // useDummyProof + false, // sendWithPublicWallet ); relayTransactionGasEstimate.from = DEAD_ADDRESS; @@ -386,7 +387,8 @@ describe('relay-adapt', function test() { provedTransactions, ethersWallet.address, random, - true, + true, // useDummyProof + false, // sendWithPublicWallet ); // 6: Send relay transaction. diff --git a/src/contracts/relay-adapt/relay-adapt-versioned-smart-contracts.ts b/src/contracts/relay-adapt/relay-adapt-versioned-smart-contracts.ts index 31f6ff53..73308f8e 100644 --- a/src/contracts/relay-adapt/relay-adapt-versioned-smart-contracts.ts +++ b/src/contracts/relay-adapt/relay-adapt-versioned-smart-contracts.ts @@ -35,6 +35,7 @@ export class RelayAdaptVersionedSmartContracts { unshieldAddress: string, random31Bytes: string, useDummyProof: boolean, + sendWithPublicWallet: boolean, ): Promise { switch (txidVersion) { case TXIDVersion.V2_PoseidonMerkle: { @@ -44,6 +45,7 @@ export class RelayAdaptVersionedSmartContracts { unshieldAddress, random31Bytes, useDummyProof, + sendWithPublicWallet, ); } case TXIDVersion.V3_PoseidonMerkle: { diff --git a/src/validation/__tests__/extract-transaction-data.test.ts b/src/validation/__tests__/extract-transaction-data.test.ts index 443b89f6..e8a0ebad 100644 --- a/src/validation/__tests__/extract-transaction-data.test.ts +++ b/src/validation/__tests__/extract-transaction-data.test.ts @@ -303,6 +303,7 @@ describe('extract-transaction-data', () => { MOCK_ETH_WALLET_ADDRESS, RANDOM_RELAY_ADAPT, false, // useDummyProof + false, // sendWithPublicWallet ); const firstNoteERC20AmountMap = await extractFirstNoteERC20AmountMapFromTransactionRequest( txidVersion, @@ -344,6 +345,7 @@ describe('extract-transaction-data', () => { MOCK_ETH_WALLET_ADDRESS, RANDOM_RELAY_ADAPT, false, // useDummyProof + false, // sendWithPublicWallet ); const firstNoteERC20AmountMap = await extractFirstNoteERC20AmountMapFromTransactionRequest( txidVersion,