L2StandardBridge
L2StandardBridge
The L2 Standard bridge is a contract which works together with the L1 Standard bridge to enable ETH and ERC20 transitions between L1 and L2. This contract acts as a minter for new tokens when it hears about deposits into the L1 Standard bridge. This contract also acts as a burner of the tokens intended for withdrawal, informing the L1 bridge to release L1 funds.
Methods
finalizeDeposit
function finalizeDeposit(address _l1Token, address _l2Token, address _from, address _to, uint256 _amount, bytes _data) external nonpayable
Complete a deposit from L1 to L2, and credits funds to the recipient's balance of this L2 token. This call will fail if it did not originate from a corresponding deposit in L1StandardTokenBridge.
Parameters
Name | Type | Description |
---|---|---|
_l1Token | address | Address for the l1 token this is called with |
_l2Token | address | Address for the l2 token this is called with |
_from | address | Account to pull the deposit from on L2. |
_to | address | Address to receive the withdrawal at |
_amount | uint256 | Amount of the token to withdraw |
_data | bytes | Data provider by the sender on L1. This data is provided solely as a convenience for external contracts. Aside from enforcing a maximum length, these contracts provide no guarantees about its content. |
l1TokenBridge
function l1TokenBridge() external view returns (address)
get the address of the corresponding L1 bridge contract.
Returns
Name | Type | Description |
---|---|---|
_0 | address | Address of the corresponding L1 bridge contract. |
messenger
function messenger() external view returns (address)
Returns
Name | Type | Description |
---|---|---|
_0 | address | undefined |
withdraw
function withdraw(address _l2Token, uint256 _amount, uint32 _l1Gas, bytes _data) external nonpayable
initiate a withdraw of some tokens to the caller's account on L1
Parameters
Name | Type | Description |
---|---|---|
_l2Token | address | Address of L2 token where withdrawal was initiated. |
_amount | uint256 | Amount of the token to withdraw. param _l1Gas Unused, but included for potential forward compatibility considerations. |
_l1Gas | uint32 | undefined |
_data | bytes | Optional data to forward to L1. This data is provided solely as a convenience for external contracts. Aside from enforcing a maximum length, these contracts provide no guarantees about its content. |
withdrawTo
function withdrawTo(address _l2Token, address _to, uint256 _amount, uint32 _l1Gas, bytes _data) external nonpayable
initiate a withdraw of some token to a recipient's account on L1.
Parameters
Name | Type | Description |
---|---|---|
_l2Token | address | Address of L2 token where withdrawal is initiated. |
_to | address | L1 adress to credit the withdrawal to. |
_amount | uint256 | Amount of the token to withdraw. param _l1Gas Unused, but included for potential forward compatibility considerations. |
_l1Gas | uint32 | undefined |
_data | bytes | Optional data to forward to L1. This data is provided solely as a convenience for external contracts. Aside from enforcing a maximum length, these contracts provide no guarantees about its content. |
Events
DepositFailed
event DepositFailed(address indexed _l1Token, address indexed _l2Token, address indexed _from, address _to, uint256 _amount, bytes _data)
Parameters
Name | Type | Description |
---|---|---|
_l1Token indexed
|
address | undefined |
_l2Token indexed
|
address | undefined |
_from indexed
|
address | undefined |
_to | address | undefined |
_amount | uint256 | undefined |
_data | bytes | undefined |
DepositFinalized
event DepositFinalized(address indexed _l1Token, address indexed _l2Token, address indexed _from, address _to, uint256 _amount, bytes _data)
Parameters
Name | Type | Description |
---|---|---|
_l1Token indexed
|
address | undefined |
_l2Token indexed
|
address | undefined |
_from indexed
|
address | undefined |
_to | address | undefined |
_amount | uint256 | undefined |
_data | bytes | undefined |
WithdrawalInitiated
event WithdrawalInitiated(address indexed _l1Token, address indexed _l2Token, address indexed _from, address _to, uint256 _amount, bytes _data)
Parameters
Name | Type | Description |
---|---|---|
_l1Token indexed
|
address | undefined |
_l2Token indexed
|
address | undefined |
_from indexed
|
address | undefined |
_to | address | undefined |
_amount | uint256 | undefined |
_data | bytes | undefined |