Problem transfering token from Optimism to Base Chain

Hello , we are Gentlemen Validators develop some erc20 in Polymer Labs and get some problems with Relay

We wrote a contract and deployed on the network. It seems that something is not working in the relayer and the token is not transferring. I suggest you read the report at the erc20-polymerlabs/report.md at main · GentlemenValidators/erc20-polymerlabs · GitHub

So when we transfer a token from optimism to base, the transaction stays on the relay and is not confirmerized

1 Like

Hey @GentlemenValidators cross chain transfer of fungible tokens is an extremely important use case and thank you for working on this!

To help address some of the issues you outlined in the report.

Installing Dependencies

Ensure you have the up-to-date version of forge and rust installed. It seems like you solved this but it could introduce unexpected behavior. I am able to run just install without modifications

forge 0.2.0
rustc 1.76.0

Cross Chain Transfers

It appears you were able to deploy the contracts successfully and you are using the Universal Channels so not necessary for creating new channels.

After cloning the repository and testing out the smart contract it seems the issue is from the the format of the timeoutTimestamp variable in crossChainTransferFrom`

After modifying to:

uint64 timeoutTimestamp = uint64((block.timestamp + 3600) * 1000000000);

I was able to see the full packet lifecycle: