The Arbitrum layer 2 protocol dramatically simplifies bridging a layer 1 ERC20 token from Ethereum. Either the user interface at https://bridge.arbitrum.io/ can be used, or a Github script from their SDK: https://github.com/OffchainLabs/arbitrum-tutorials/tree/master/packages/eth-deposit works great. In both cases, their solution deploys a contract on the layer 2 network on your behalf, registering it with their oracle.

However, because the bridged smart contract for the token is deployed by their smart contract, verifying the source code on a block explorer like Arbiscan becomes tricky. It turns out that, at least for now, the smart contract they generate and deploy points to a proxy contract. And, because the proxy contract is verified, you can use the proxy contract checker provided by all instances of Etherscan.

So, once you have the address of the bridged smart contract, enter it into this tool:

https://www.arbiscan.io/proxyContractChecker (mainnet) https://goerli.arbiscan.io/proxyContractChecker (testnet)

And your bridged smart contract will be verified. It will look like this:

image-center

All read and write methods can now be called from the blocker explorer dapp, including reading the l1Address property, which points back to the layer 1 ERC20 contract.

image-center

Leave a comment