diff --git a/src/locker-utils/index.ts b/src/locker-utils/index.ts index d732746..fef9b83 100644 --- a/src/locker-utils/index.ts +++ b/src/locker-utils/index.ts @@ -24,7 +24,7 @@ import { web3, workspace, } from '@coral-xyz/anchor'; -import { AccountMeta, Connection, SendTransactionError } from '@solana/web3.js'; +import { AccountMeta, Connection, TransactionExpiredTimeoutError } from '@solana/web3.js'; // TODO: Generate type file from IDL json import { Locker } from '../../target/types/locker'; @@ -140,7 +140,7 @@ export async function createVestingPlanV2(params: CreateVestingPlanParams) { assert(tokenProgram); try { - const transaction = await program.methods + await program.methods .createVestingEscrowV2( { vestingStartTime, @@ -182,11 +182,20 @@ export async function createVestingPlanV2(params: CreateVestingPlanParams) { return escrow; } catch (error) { - if (error instanceof SendTransactionError) { - console.error('Transaction failed:', error.message); - console.error('Logs:', error.logs); + if (error instanceof TransactionExpiredTimeoutError) { + console.error('Transaction confirmation delayed for',error.signature); + console.log('Confirming the transaction again...'); + const confirmedTransaction = await connection.getTransaction(error.signature, { + commitment: 'confirmed', + maxSupportedTransactionVersion: 0 + }); + + if(confirmedTransaction === null) { + console.error('Transaction failed for',error.signature); + } + + return escrow; } - throw error; } } diff --git a/src/utils/create-lock.ts b/src/utils/create-lock.ts index ad300a0..ac8748d 100644 --- a/src/utils/create-lock.ts +++ b/src/utils/create-lock.ts @@ -62,7 +62,6 @@ export async function getMTMBalance (senderKeypair: anchor.web3.Keypair): Promis }; export async function createLock(tokenLockerKeypair: anchor.web3.Keypair, recipientPubKey: anchor.web3.PublicKey, duration: BN, balance: BN): Promise { - //const balance = await getMTMBalance(tokenLockerKeypair); if (balance.eq(new BN(0))) { console.log('No balance available to create lock, skipping...'); @@ -88,7 +87,7 @@ export async function createLock(tokenLockerKeypair: anchor.web3.Keypair, recipi }); if (escrow) { - console.log('Lock created successfully: ', escrow.toString()); + console.log('Lock created successfully:',escrow.toString()); } return escrow;