diff --git a/backend-all/src/services/blockchain.ts b/backend-all/src/services/blockchain.ts index 5ed47c0..1c5b368 100644 --- a/backend-all/src/services/blockchain.ts +++ b/backend-all/src/services/blockchain.ts @@ -89,19 +89,23 @@ export const signTransaction = async ( } const _fromChain = fromChain.replace('evm.', '') as ChainId const _provider = await _getProvider(_fromChain) + console.log('got from chain _provider') const contract = anyBridgeAssist(fromBridgeAddress, _provider) + console.log('got from bridge address contract') const transactionPromise = contract.transactions(fromUser, index) // const relayerLengthPromise = contract.relayersLength() tx = await transactionPromise + console.log('got transaction') if (!tx || tx.block.toNumber() === 0) throw Error('Transaction not found') if ( _fromChain === '42161' || (_fromChain === '421614' && process.env.IS_PUBLIC_RELAYER === 'true') ) - await checkToken(fromUser, contract, _fromChain, tx) + await checkToken(fromUser, contract, _fromChain, tx, _provider) // const provider = getProvider(fromChain.slice(4) as ChainId) const currentBlock = await safeRead(_provider.getBlockNumber(), 0) + console.log('got current block') if (currentBlock === 0 || tx.block.gt(currentBlock)) throw Error(`Relayer ${relayerIndex} waiting for confirmations`) @@ -110,8 +114,10 @@ export const signTransaction = async ( const chainId = tx.toChain.replace('evm.', '') const toProvider = await _getProvider(chainId as ChainId) + console.log('got to provider') const toBridgeAddressContract = anyBridgeAssist(toBridgeAddress, toProvider) const { isFulfilled } = await fulfilledInfo(toBridgeAddressContract, tx) + console.log('got is fulfilled') if (isFulfilled) { if (process.env.IS_PUBLIC_RELAYER === 'true') { await transactionRepo.update(transactionId, { fulfilled: true }) @@ -121,6 +127,7 @@ export const signTransaction = async ( const relayersLength = await toBridgeAddressContract.relayersLength() relayers = relayersLength.toNumber() + console.log('got relayers length') let signatures: string[] = [] const allowedIps = process.env.ALLOWED_IPS?.split(',') @@ -136,6 +143,7 @@ export const signTransaction = async ( toBridgeAddress, 0 ) + console.log('got signer0') signatures.push(signer0) if (process.env.IS_PUBLIC_RELAYER === 'true' && relayers > 1) { const relayer1Url = process.env.RELAYER1_URL @@ -148,6 +156,7 @@ export const signTransaction = async ( const results = await Promise.all(promises) signatures = signatures.concat(results[0], results[1]) } + console.log('got signatures') return signatures // } else { // throw Error('bad contract params') @@ -309,7 +318,8 @@ async function checkToken( user: string, bridgeAssist: BridgeAssist, fromChain: ChainId, - transaction: TransactionContract + transaction: TransactionContract, + _provider: providers.JsonRpcProvider ) { const timeStamp = Number(transaction.timestamp.toString()) if (timeStamp < targetTimeStamp(fromChain)) { @@ -317,9 +327,9 @@ async function checkToken( console.log('no need to check') return } - const provider = ARB_STATIC_PROVIDER(fromChain) + // const provider = ARB_STATIC_PROVIDER(fromChain, _provider) const address = await bridgeAssist.TOKEN() - const token = anyToken(address, provider) + const token = anyToken(address, _provider) const symbol = await token.symbol() const isWNT = symbol === 'WNT' if (!isWNT) return @@ -411,7 +421,7 @@ export const targetBlockNumber = (chainId: ChainId) => export const targetTimeStamp = (chainId: ChainId) => chainId === '42161' ? 1755734340 : 1754406000 -export const ARB_STATIC_PROVIDER = (chainId: ChainId) => +export const ARB_STATIC_PROVIDER = (chainId: ChainId, provider: providers.JsonRpcProvider) => chainId === '42161' - ? new providers.JsonRpcProvider('https://api.zan.top/arb-one') - : new providers.JsonRpcProvider('https://api.zan.top/arb-sepolia') + ? provider + : provider