Commit 9afc543c authored by indeavr's avatar indeavr

feat: Added config + excluded test folders + refactored based on feedback

parent 3d2b2986
{
"methods": {},
"events": {},
"errors": {},
"details": "Collection of functions related to the address type",
"name": "Address"
}
\ No newline at end of file
{
"methods": {},
"events": {},
"errors": {},
"name": "AddressAliasHelper"
}
\ No newline at end of file
{
"methods": {
"finalOwner": {
"stateMutability": "view",
"code": "function finalOwner() external view returns (address)",
"inputs": {},
"outputs": {
"_0": {
"type": "address"
}
}
},
"getNamedAddresses": {
"stateMutability": "view",
"code": "function getNamedAddresses() external view returns (struct AddressDictator.NamedAddress[])",
"inputs": {},
"outputs": {
"_0": {
"type": "AddressDictator.NamedAddress[]"
}
},
"notice": "Returns the full namedAddresses array."
},
"manager": {
"stateMutability": "view",
"code": "function manager() external view returns (contract Lib_AddressManager)",
"inputs": {},
"outputs": {
"_0": {
"type": "contract Lib_AddressManager"
}
}
},
"returnOwnership": {
"stateMutability": "nonpayable",
"code": "function returnOwnership() external nonpayable",
"inputs": {},
"outputs": {},
"notice": "Transfers ownership of this contract to the finalOwner. Only callable by the Final Owner, which is intended to be our multisig. This function shouldn't be necessary, but it gives a sense of reassurance that we can recover if something really surprising goes wrong."
},
"setAddresses": {
"stateMutability": "nonpayable",
"code": "function setAddresses() external nonpayable",
"inputs": {},
"outputs": {},
"notice": "Called to finalize the transfer, this function is callable by anyone, but will only result in an upgrade if this contract is the owner Address Manager."
}
},
"events": {},
"errors": {},
"title": "AddressDictator",
"details": "The AddressDictator (glory to Arstotzka) is a contract that allows us to safely manipulate many different addresses in the AddressManager without transferring ownership of the AddressManager to a hot wallet or hardware wallet.",
"name": "AddressDictator"
}
\ No newline at end of file
{
"methods": {
"isCollateralized": {
"stateMutability": "view",
"code": "function isCollateralized(address _who) external view returns (bool)",
"inputs": {
"_who": {
"type": "address",
"description": "Address to check."
}
},
"outputs": {
"_0": {
"type": "bool",
"description": "true if the address is properly collateralized, false otherwise."
}
},
"notice": "Checks whether a given address is properly collateralized and can perform actions within the system."
},
"libAddressManager": {
"stateMutability": "view",
"code": "function libAddressManager() external view returns (contract Lib_AddressManager)",
"inputs": {},
"outputs": {
"_0": {
"type": "contract Lib_AddressManager"
}
}
},
"resolve": {
"stateMutability": "view",
"code": "function resolve(string _name) external view returns (address)",
"inputs": {
"_name": {
"type": "string",
"description": "Name to resolve an address for."
}
},
"outputs": {
"_0": {
"type": "address",
"description": "Address associated with the given name."
}
},
"notice": "Resolves the address associated with a given name."
}
},
"events": {},
"errors": {},
"title": "BondManager",
"details": "This contract is, for now, a stub of the \"real\" BondManager that does nothing but allow the \"OVM_Proposer\" to submit state root batches.",
"name": "BondManager"
}
\ No newline at end of file
This diff is collapsed.
{
"methods": {
"deleteElementsAfterInclusive": {
"stateMutability": "nonpayable",
"code": "function deleteElementsAfterInclusive(uint256 _index) external nonpayable",
"inputs": {
"_index": {
"type": "uint256",
"description": "Object index to delete from."
}
},
"outputs": {},
"notice": "Removes all objects after and including a given index. Also allows setting the global metadata field."
},
"get": {
"stateMutability": "view",
"code": "function get(uint256 _index) external view returns (bytes32)",
"inputs": {
"_index": {
"type": "uint256",
"description": "Index of the particular object to access."
}
},
"outputs": {
"_0": {
"type": "bytes32",
"description": "32 byte object value."
}
},
"notice": "Retrieves an object from the container."
},
"getGlobalMetadata": {
"stateMutability": "view",
"code": "function getGlobalMetadata() external view returns (bytes27)",
"inputs": {},
"outputs": {
"_0": {
"type": "bytes27",
"description": "Container global metadata field."
}
},
"notice": "Retrieves the container's global metadata field."
},
"length": {
"stateMutability": "view",
"code": "function length() external view returns (uint256)",
"inputs": {},
"outputs": {
"_0": {
"type": "uint256",
"description": "Number of objects in the container."
}
},
"notice": "Retrieves the number of objects stored in the container."
},
"libAddressManager": {
"stateMutability": "view",
"code": "function libAddressManager() external view returns (contract Lib_AddressManager)",
"inputs": {},
"outputs": {
"_0": {
"type": "contract Lib_AddressManager"
}
}
},
"owner": {
"stateMutability": "view",
"code": "function owner() external view returns (string)",
"inputs": {},
"outputs": {
"_0": {
"type": "string"
}
}
},
"push": {
"stateMutability": "nonpayable",
"code": "function push(bytes32 _object) external nonpayable",
"inputs": {
"_object": {
"type": "bytes32",
"description": "A 32 byte value to insert into the container."
}
},
"outputs": {},
"notice": "Pushes an object into the container. Function allows setting the global metadata since we'll need to touch the \"length\" storage slot anyway, which also contains the global metadata (it's an optimization)."
},
"resolve": {
"stateMutability": "view",
"code": "function resolve(string _name) external view returns (address)",
"inputs": {
"_name": {
"type": "string",
"description": "Name to resolve an address for."
}
},
"outputs": {
"_0": {
"type": "address",
"description": "Address associated with the given name."
}
},
"notice": "Resolves the address associated with a given name."
},
"setGlobalMetadata": {
"stateMutability": "nonpayable",
"code": "function setGlobalMetadata(bytes27 _globalMetadata) external nonpayable",
"inputs": {
"_globalMetadata": {
"type": "bytes27",
"description": "New global metadata to set."
}
},
"outputs": {},
"notice": "Sets the container's global metadata field. We're using `bytes27` here because we use five bytes to maintain the length of the underlying data structure, meaning we have an extra 27 bytes to store arbitrary data."
}
},
"events": {},
"errors": {},
"title": "ChainStorageContainer",
"details": "The Chain Storage Container provides its owner contract with read, write and delete functionality. This provides gas efficiency gains by enabling it to overwrite storage slots which can no longer be used in a fraud proof due to the fraud window having passed, and the associated chain state or transactions being finalized. Three distinct Chain Storage Containers will be deployed on Layer 1: 1. Stores transaction batches for the Canonical Transaction Chain 2. Stores queued transactions for the Canonical Transaction Chain 3. Stores chain state batches for the State Commitment Chain",
"name": "ChainStorageContainer"
}
\ No newline at end of file
{
"methods": {
"bridgeSlotKey": {
"stateMutability": "view",
"code": "function bridgeSlotKey() external view returns (bytes32)",
"inputs": {},
"outputs": {
"_0": {
"type": "bytes32"
}
}
},
"bridgeSlotVal": {
"stateMutability": "view",
"code": "function bridgeSlotVal() external view returns (bytes32)",
"inputs": {},
"outputs": {
"_0": {
"type": "bytes32"
}
}
},
"codeHash": {
"stateMutability": "view",
"code": "function codeHash() external view returns (bytes32)",
"inputs": {},
"outputs": {
"_0": {
"type": "bytes32"
}
}
},
"doActions": {
"stateMutability": "nonpayable",
"code": "function doActions(bytes _code) external nonpayable",
"inputs": {
"_code": {
"type": "bytes"
}
},
"outputs": {}
},
"finalOwner": {
"stateMutability": "view",
"code": "function finalOwner() external view returns (address)",
"inputs": {},
"outputs": {
"_0": {
"type": "address"
}
}
},
"isUpgrading": {
"stateMutability": "view",
"code": "function isUpgrading() external view returns (bool)",
"inputs": {},
"outputs": {
"_0": {
"type": "bool"
}
}
},
"messengerSlotKey": {
"stateMutability": "view",
"code": "function messengerSlotKey() external view returns (bytes32)",
"inputs": {},
"outputs": {
"_0": {
"type": "bytes32"
}
}
},
"messengerSlotVal": {
"stateMutability": "view",
"code": "function messengerSlotVal() external view returns (bytes32)",
"inputs": {},
"outputs": {
"_0": {
"type": "bytes32"
}
}
},
"returnOwnership": {
"stateMutability": "nonpayable",
"code": "function returnOwnership() external nonpayable",
"inputs": {},
"outputs": {},
"notice": "Transfers ownership of this contract to the finalOwner. Only callable by the finalOwner, which is intended to be our multisig. This function shouldn't be necessary, but it gives a sense of reassurance that we can recover if something really surprising goes wrong."
},
"target": {
"stateMutability": "view",
"code": "function target() external view returns (contract L1ChugSplashProxy)",
"inputs": {},
"outputs": {
"_0": {
"type": "contract L1ChugSplashProxy"
}
}
}
},
"events": {},
"errors": {},
"title": "ChugSplashDictator",
"details": "Like the AddressDictator, but specifically for the Proxy__OVM_L1StandardBridge. We're working on a generalized version of this but this is good enough for the moment.",
"name": "ChugSplashDictator"
}
\ No newline at end of file
{
"methods": {},
"events": {},
"errors": {},
"details": "Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.",
"name": "Context"
}
\ No newline at end of file
{
"methods": {},
"events": {},
"errors": {},
"details": "Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.",
"name": "ContextUpgradeable"
}
\ No newline at end of file
{
"methods": {
"messenger": {
"stateMutability": "view",
"code": "function messenger() external view returns (address)",
"inputs": {},
"outputs": {
"_0": {
"type": "address"
}
}
}
},
"events": {},
"errors": {},
"title": "CrossDomainEnabled",
"details": "Helper contract for contracts performing cross-domain communications Compiler used: defined by inheriting contract",
"name": "CrossDomainEnabled"
}
\ No newline at end of file
{
"methods": {},
"events": {},
"errors": {},
"details": "Library used to query support of an interface declared via {IERC165}. Note that these functions return the actual result of the query: they do not `revert` if an interface is not supported. It is up to the caller to decide what to do in these cases.",
"name": "ERC165Checker"
}
\ No newline at end of file
{
"methods": {
"allowance": {
"stateMutability": "view",
"code": "function allowance(address owner, address spender) external view returns (uint256)",
"inputs": {
"owner": {
"type": "address"
},
"spender": {
"type": "address"
}
},
"outputs": {
"_0": {
"type": "uint256"
}
},
"details": "See {IERC20-allowance}."
},
"approve": {
"stateMutability": "nonpayable",
"code": "function approve(address spender, uint256 amount) external nonpayable returns (bool)",
"inputs": {
"spender": {
"type": "address"
},
"amount": {
"type": "uint256"
}
},
"outputs": {
"_0": {
"type": "bool"
}
},
"details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address."
},
"balanceOf": {
"stateMutability": "view",
"code": "function balanceOf(address account) external view returns (uint256)",
"inputs": {
"account": {
"type": "address"
}
},
"outputs": {
"_0": {
"type": "uint256"
}
},
"details": "See {IERC20-balanceOf}."
},
"decimals": {
"stateMutability": "view",
"code": "function decimals() external view returns (uint8)",
"inputs": {},
"outputs": {
"_0": {
"type": "uint8"
}
},
"details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."
},
"decreaseAllowance": {
"stateMutability": "nonpayable",
"code": "function decreaseAllowance(address spender, uint256 subtractedValue) external nonpayable returns (bool)",
"inputs": {
"spender": {
"type": "address"
},
"subtractedValue": {
"type": "uint256"
}
},
"outputs": {
"_0": {
"type": "bool"
}
},
"details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."
},
"increaseAllowance": {
"stateMutability": "nonpayable",
"code": "function increaseAllowance(address spender, uint256 addedValue) external nonpayable returns (bool)",
"inputs": {
"spender": {
"type": "address"
},
"addedValue": {
"type": "uint256"
}
},
"outputs": {
"_0": {
"type": "bool"
}
},
"details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."
},
"name": {
"stateMutability": "view",
"code": "function name() external view returns (string)",
"inputs": {},
"outputs": {
"_0": {
"type": "string"
}
},
"details": "Returns the name of the token."
},
"symbol": {
"stateMutability": "view",
"code": "function symbol() external view returns (string)",
"inputs": {},
"outputs": {
"_0": {
"type": "string"
}
},
"details": "Returns the symbol of the token, usually a shorter version of the name."
},
"totalSupply": {
"stateMutability": "view",
"code": "function totalSupply() external view returns (uint256)",
"inputs": {},
"outputs": {
"_0": {
"type": "uint256"
}
},
"details": "See {IERC20-totalSupply}."
},
"transfer": {
"stateMutability": "nonpayable",
"code": "function transfer(address recipient, uint256 amount) external nonpayable returns (bool)",
"inputs": {
"recipient": {
"type": "address"
},
"amount": {
"type": "uint256"
}
},
"outputs": {
"_0": {
"type": "bool"
}
},
"details": "See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`."
},
"transferFrom": {
"stateMutability": "nonpayable",
"code": "function transferFrom(address sender, address recipient, uint256 amount) external nonpayable returns (bool)",
"inputs": {
"sender": {
"type": "address"
},
"recipient": {
"type": "address"
},
"amount": {
"type": "uint256"
}
},
"outputs": {
"_0": {
"type": "bool"
}
},
"details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`."
}
},
"events": {
"Approval": {
"code": "event Approval(address indexed owner, address indexed spender, uint256 value)",
"inputs": {
"owner": {
"type": "address",
"indexed": true
},
"spender": {
"type": "address",
"indexed": true
},
"value": {
"type": "uint256",
"indexed": false
}
}
},
"Transfer": {
"code": "event Transfer(address indexed from, address indexed to, uint256 value)",
"inputs": {
"from": {
"type": "address",
"indexed": true
},
"to": {
"type": "address",
"indexed": true
},
"value": {
"type": "uint256",
"indexed": false
}
}
}
},
"errors": {},
"details": "Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.",
"name": "ERC20"
}
\ No newline at end of file
{
"methods": {
"measureCallGas": {
"stateMutability": "nonpayable",
"code": "function measureCallGas(address _target, bytes _data) external nonpayable returns (uint256)",
"inputs": {
"_target": {
"type": "address"
},
"_data": {
"type": "bytes"
}
},
"outputs": {
"_0": {
"type": "uint256"
}
}
}
},
"events": {},
"errors": {},
"name": "Helper_GasMeasurer"
}
\ No newline at end of file
# Helper_GasMeasurer
## Methods
### measureCallGas
```solidity
function measureCallGas(address _target, bytes _data) external nonpayable returns (uint256)
```
#### Parameters
| Name | Type | Description |
|---|---|---|
| _target | address | undefined
| _data | bytes | undefined
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined
{
"methods": {
"setTarget": {
"stateMutability": "nonpayable",
"code": "function setTarget(address _target) external nonpayable",
"inputs": {
"_target": {
"type": "address"
}
},
"outputs": {}
}
},
"events": {},
"errors": {},
"name": "Helper_SimpleProxy"
}
\ No newline at end of file
# Helper_SimpleProxy
## Methods
### setTarget
```solidity
function setTarget(address _target) external nonpayable
```
#### Parameters
| Name | Type | Description |
|---|---|---|
| _target | address | undefined
{
"methods": {
"isCollateralized": {
"stateMutability": "view",
"code": "function isCollateralized(address _who) external view returns (bool)",
"inputs": {
"_who": {
"type": "address"
}
},
"outputs": {
"_0": {
"type": "bool"
}
}
}
},
"events": {},
"errors": {},
"title": "IBondManager",
"name": "IBondManager"
}
\ No newline at end of file
{
"methods": {
"deleteElementsAfterInclusive": {
"stateMutability": "nonpayable",
"code": "function deleteElementsAfterInclusive(uint256 _index) external nonpayable",
"inputs": {
"_index": {
"type": "uint256",
"description": "Object index to delete from."
}
},
"outputs": {},
"notice": "Removes all objects after and including a given index. Also allows setting the global metadata field."
},
"get": {
"stateMutability": "view",
"code": "function get(uint256 _index) external view returns (bytes32)",
"inputs": {
"_index": {
"type": "uint256",
"description": "Index of the particular object to access."
}
},
"outputs": {
"_0": {
"type": "bytes32",
"description": "32 byte object value."
}
},
"notice": "Retrieves an object from the container."
},
"getGlobalMetadata": {
"stateMutability": "view",
"code": "function getGlobalMetadata() external view returns (bytes27)",
"inputs": {},
"outputs": {
"_0": {
"type": "bytes27",
"description": "Container global metadata field."
}
},
"notice": "Retrieves the container's global metadata field."
},
"length": {
"stateMutability": "view",
"code": "function length() external view returns (uint256)",
"inputs": {},
"outputs": {
"_0": {
"type": "uint256",
"description": "Number of objects in the container."
}
},
"notice": "Retrieves the number of objects stored in the container."
},
"push": {
"stateMutability": "nonpayable",
"code": "function push(bytes32 _object) external nonpayable",
"inputs": {
"_object": {
"type": "bytes32",
"description": "A 32 byte value to insert into the container."
}
},
"outputs": {},
"notice": "Pushes an object into the container. Function allows setting the global metadata since we'll need to touch the \"length\" storage slot anyway, which also contains the global metadata (it's an optimization)."
},
"setGlobalMetadata": {
"stateMutability": "nonpayable",
"code": "function setGlobalMetadata(bytes27 _globalMetadata) external nonpayable",
"inputs": {
"_globalMetadata": {
"type": "bytes27",
"description": "New global metadata to set."
}
},
"outputs": {},
"notice": "Sets the container's global metadata field. We're using `bytes27` here because we use five bytes to maintain the length of the underlying data structure, meaning we have an extra 27 bytes to store arbitrary data."
}
},
"events": {},
"errors": {},
"title": "IChainStorageContainer",
"name": "IChainStorageContainer"
}
\ No newline at end of file
{
"methods": {
"sendMessage": {
"stateMutability": "nonpayable",
"code": "function sendMessage(address _target, bytes _message, uint32 _gasLimit) external nonpayable",
"inputs": {
"_target": {
"type": "address",
"description": "Target contract address."
},
"_message": {
"type": "bytes",
"description": "Message to send to the target."
},
"_gasLimit": {
"type": "uint32",
"description": "Gas limit for the provided message."
}
},
"outputs": {},
"notice": "Sends a cross domain message to the target messenger."
},
"xDomainMessageSender": {
"stateMutability": "view",
"code": "function xDomainMessageSender() external view returns (address)",
"inputs": {},
"outputs": {
"_0": {
"type": "address"
}
}
}
},
"events": {
"FailedRelayedMessage": {
"code": "event FailedRelayedMessage(bytes32 indexed msgHash)",
"inputs": {
"msgHash": {
"type": "bytes32",
"indexed": true
}
}
},
"RelayedMessage": {
"code": "event RelayedMessage(bytes32 indexed msgHash)",
"inputs": {
"msgHash": {
"type": "bytes32",
"indexed": true
}
}
},
"SentMessage": {
"code": "event SentMessage(address indexed target, address sender, bytes message, uint256 messageNonce, uint256 gasLimit)",
"inputs": {
"target": {
"type": "address",
"indexed": true
},
"sender": {
"type": "address",
"indexed": false
},
"message": {
"type": "bytes",
"indexed": false
},
"messageNonce": {
"type": "uint256",
"indexed": false
},
"gasLimit": {
"type": "uint256",
"indexed": false
}
}
}
},
"errors": {},
"title": "ICrossDomainMessenger",
"name": "ICrossDomainMessenger"
}
\ No newline at end of file
{
"methods": {
"supportsInterface": {
"stateMutability": "view",
"code": "function supportsInterface(bytes4 interfaceId) external view returns (bool)",
"inputs": {
"interfaceId": {
"type": "bytes4"
}
},
"outputs": {
"_0": {
"type": "bool"
}
},
"details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."
}
},
"events": {},
"errors": {},
"details": "Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.",
"name": "IERC165"
}
\ No newline at end of file
{
"methods": {
"allowance": {
"stateMutability": "view",
"code": "function allowance(address owner, address spender) external view returns (uint256)",
"inputs": {
"owner": {
"type": "address"
},
"spender": {
"type": "address"
}
},
"outputs": {
"_0": {
"type": "uint256"
}
},
"details": "Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."
},
"approve": {
"stateMutability": "nonpayable",
"code": "function approve(address spender, uint256 amount) external nonpayable returns (bool)",
"inputs": {
"spender": {
"type": "address"
},
"amount": {
"type": "uint256"
}
},
"outputs": {
"_0": {
"type": "bool"
}
},
"details": "Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."
},
"balanceOf": {
"stateMutability": "view",
"code": "function balanceOf(address account) external view returns (uint256)",
"inputs": {
"account": {
"type": "address"
}
},
"outputs": {
"_0": {
"type": "uint256"
}
},
"details": "Returns the amount of tokens owned by `account`."
},
"totalSupply": {
"stateMutability": "view",
"code": "function totalSupply() external view returns (uint256)",
"inputs": {},
"outputs": {
"_0": {
"type": "uint256"
}
},
"details": "Returns the amount of tokens in existence."
},
"transfer": {
"stateMutability": "nonpayable",
"code": "function transfer(address recipient, uint256 amount) external nonpayable returns (bool)",
"inputs": {
"recipient": {
"type": "address"
},
"amount": {
"type": "uint256"
}
},
"outputs": {
"_0": {
"type": "bool"
}
},
"details": "Moves `amount` tokens from the caller's account to `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
},
"transferFrom": {
"stateMutability": "nonpayable",
"code": "function transferFrom(address sender, address recipient, uint256 amount) external nonpayable returns (bool)",
"inputs": {
"sender": {
"type": "address"
},
"recipient": {
"type": "address"
},
"amount": {
"type": "uint256"
}
},
"outputs": {
"_0": {
"type": "bool"
}
},
"details": "Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
}
},
"events": {
"Approval": {
"code": "event Approval(address indexed owner, address indexed spender, uint256 value)",
"inputs": {
"owner": {
"type": "address",
"indexed": true
},
"spender": {
"type": "address",
"indexed": true
},
"value": {
"type": "uint256",
"indexed": false
}
},
"details": "Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance."
},
"Transfer": {
"code": "event Transfer(address indexed from, address indexed to, uint256 value)",
"inputs": {
"from": {
"type": "address",
"indexed": true
},
"to": {
"type": "address",
"indexed": true
},
"value": {
"type": "uint256",
"indexed": false
}
},
"details": "Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero."
}
},
"errors": {},
"details": "Interface of the ERC20 standard as defined in the EIP.",
"name": "IERC20"
}
\ No newline at end of file
{
"methods": {
"allowance": {
"stateMutability": "view",
"code": "function allowance(address owner, address spender) external view returns (uint256)",
"inputs": {
"owner": {
"type": "address"
},
"spender": {
"type": "address"
}
},
"outputs": {
"_0": {
"type": "uint256"
}
},
"details": "Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."
},
"approve": {
"stateMutability": "nonpayable",
"code": "function approve(address spender, uint256 amount) external nonpayable returns (bool)",
"inputs": {
"spender": {
"type": "address"
},
"amount": {
"type": "uint256"
}
},
"outputs": {
"_0": {
"type": "bool"
}
},
"details": "Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."
},
"balanceOf": {
"stateMutability": "view",
"code": "function balanceOf(address account) external view returns (uint256)",
"inputs": {
"account": {
"type": "address"
}
},
"outputs": {
"_0": {
"type": "uint256"
}
},
"details": "Returns the amount of tokens owned by `account`."
},
"decimals": {
"stateMutability": "view",
"code": "function decimals() external view returns (uint8)",
"inputs": {},
"outputs": {
"_0": {
"type": "uint8"
}
},
"details": "Returns the decimals places of the token."
},
"name": {
"stateMutability": "view",
"code": "function name() external view returns (string)",
"inputs": {},
"outputs": {
"_0": {
"type": "string"
}
},
"details": "Returns the name of the token."
},
"symbol": {
"stateMutability": "view",
"code": "function symbol() external view returns (string)",
"inputs": {},
"outputs": {
"_0": {
"type": "string"
}
},
"details": "Returns the symbol of the token."
},
"totalSupply": {
"stateMutability": "view",
"code": "function totalSupply() external view returns (uint256)",
"inputs": {},
"outputs": {
"_0": {
"type": "uint256"
}
},
"details": "Returns the amount of tokens in existence."
},
"transfer": {
"stateMutability": "nonpayable",
"code": "function transfer(address recipient, uint256 amount) external nonpayable returns (bool)",
"inputs": {
"recipient": {
"type": "address"
},
"amount": {
"type": "uint256"
}
},
"outputs": {
"_0": {
"type": "bool"
}
},
"details": "Moves `amount` tokens from the caller's account to `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
},
"transferFrom": {
"stateMutability": "nonpayable",
"code": "function transferFrom(address sender, address recipient, uint256 amount) external nonpayable returns (bool)",
"inputs": {
"sender": {
"type": "address"
},
"recipient": {
"type": "address"
},
"amount": {
"type": "uint256"
}
},
"outputs": {
"_0": {
"type": "bool"
}
},
"details": "Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
}
},
"events": {
"Approval": {
"code": "event Approval(address indexed owner, address indexed spender, uint256 value)",
"inputs": {
"owner": {
"type": "address",
"indexed": true
},
"spender": {
"type": "address",
"indexed": true
},
"value": {
"type": "uint256",
"indexed": false
}
}
},
"Transfer": {
"code": "event Transfer(address indexed from, address indexed to, uint256 value)",
"inputs": {
"from": {
"type": "address",
"indexed": true
},
"to": {
"type": "address",
"indexed": true
},
"value": {
"type": "uint256",
"indexed": false
}
}
}
},
"errors": {},
"details": "Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._",
"name": "IERC20Metadata"
}
\ No newline at end of file
{
"methods": {
"relayMessage": {
"stateMutability": "nonpayable",
"code": "function relayMessage(address _target, address _sender, bytes _message, uint256 _messageNonce, IL1CrossDomainMessenger.L2MessageInclusionProof _proof) external nonpayable",
"inputs": {
"_target": {
"type": "address",
"description": "Target contract address."
},
"_sender": {
"type": "address",
"description": "Message sender address."
},
"_message": {
"type": "bytes",
"description": "Message to send to the target."
},
"_messageNonce": {
"type": "uint256",
"description": "Nonce for the provided message."
},
"_proof": {
"type": "IL1CrossDomainMessenger.L2MessageInclusionProof",
"description": "Inclusion proof for the given message."
}
},
"outputs": {},
"notice": "Relays a cross domain message to a contract."
},
"replayMessage": {
"stateMutability": "nonpayable",
"code": "function replayMessage(address _target, address _sender, bytes _message, uint256 _queueIndex, uint32 _oldGasLimit, uint32 _newGasLimit) external nonpayable",
"inputs": {
"_target": {
"type": "address",
"description": "Target contract address."
},
"_sender": {
"type": "address",
"description": "Original sender address."
},
"_message": {
"type": "bytes",
"description": "Message to send to the target."
},
"_queueIndex": {
"type": "uint256",
"description": "CTC Queue index for the message to replay."
},
"_oldGasLimit": {
"type": "uint32",
"description": "Original gas limit used to send the message."
},
"_newGasLimit": {
"type": "uint32",
"description": "New gas limit to be used for this message."
}
},
"outputs": {},
"notice": "Replays a cross domain message to the target messenger."
},
"sendMessage": {
"stateMutability": "nonpayable",
"code": "function sendMessage(address _target, bytes _message, uint32 _gasLimit) external nonpayable",
"inputs": {
"_target": {
"type": "address",
"description": "Target contract address."
},
"_message": {
"type": "bytes",
"description": "Message to send to the target."
},
"_gasLimit": {
"type": "uint32",
"description": "Gas limit for the provided message."
}
},
"outputs": {},
"notice": "Sends a cross domain message to the target messenger."
},
"xDomainMessageSender": {
"stateMutability": "view",
"code": "function xDomainMessageSender() external view returns (address)",
"inputs": {},
"outputs": {
"_0": {
"type": "address"
}
}
}
},
"events": {
"FailedRelayedMessage": {
"code": "event FailedRelayedMessage(bytes32 indexed msgHash)",
"inputs": {
"msgHash": {
"type": "bytes32",
"indexed": true
}
}
},
"RelayedMessage": {
"code": "event RelayedMessage(bytes32 indexed msgHash)",
"inputs": {
"msgHash": {
"type": "bytes32",
"indexed": true
}
}
},
"SentMessage": {
"code": "event SentMessage(address indexed target, address sender, bytes message, uint256 messageNonce, uint256 gasLimit)",
"inputs": {
"target": {
"type": "address",
"indexed": true
},
"sender": {
"type": "address",
"indexed": false
},
"message": {
"type": "bytes",
"indexed": false
},
"messageNonce": {
"type": "uint256",
"indexed": false
},
"gasLimit": {
"type": "uint256",
"indexed": false
}
}
}
},
"errors": {},
"title": "IL1CrossDomainMessenger",
"name": "IL1CrossDomainMessenger"
}
\ No newline at end of file
{
"methods": {
"depositERC20": {
"stateMutability": "nonpayable",
"code": "function depositERC20(address _l1Token, address _l2Token, uint256 _amount, uint32 _l2Gas, bytes _data) external nonpayable",
"inputs": {
"_l1Token": {
"type": "address",
"description": "Address of the L1 ERC20 we are depositing"
},
"_l2Token": {
"type": "address",
"description": "Address of the L1 respective L2 ERC20"
},
"_amount": {
"type": "uint256",
"description": "Amount of the ERC20 to deposit"
},
"_l2Gas": {
"type": "uint32",
"description": "Gas limit required to complete the deposit on L2."
},
"_data": {
"type": "bytes",
"description": "Optional data to forward to L2. 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."
}
},
"outputs": {},
"details": "deposit an amount of the ERC20 to the caller's balance on L2."
},
"depositERC20To": {
"stateMutability": "nonpayable",
"code": "function depositERC20To(address _l1Token, address _l2Token, address _to, uint256 _amount, uint32 _l2Gas, bytes _data) external nonpayable",
"inputs": {
"_l1Token": {
"type": "address",
"description": "Address of the L1 ERC20 we are depositing"
},
"_l2Token": {
"type": "address",
"description": "Address of the L1 respective L2 ERC20"
},
"_to": {
"type": "address",
"description": "L2 address to credit the withdrawal to."
},
"_amount": {
"type": "uint256",
"description": "Amount of the ERC20 to deposit."
},
"_l2Gas": {
"type": "uint32",
"description": "Gas limit required to complete the deposit on L2."
},
"_data": {
"type": "bytes",
"description": "Optional data to forward to L2. 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."
}
},
"outputs": {},
"details": "deposit an amount of ERC20 to a recipient's balance on L2."
},
"finalizeERC20Withdrawal": {
"stateMutability": "nonpayable",
"code": "function finalizeERC20Withdrawal(address _l1Token, address _l2Token, address _from, address _to, uint256 _amount, bytes _data) external nonpayable",
"inputs": {
"_l1Token": {
"type": "address",
"description": "Address of L1 token to finalizeWithdrawal for."
},
"_l2Token": {
"type": "address",
"description": "Address of L2 token where withdrawal was initiated."
},
"_from": {
"type": "address",
"description": "L2 address initiating the transfer."
},
"_to": {
"type": "address",
"description": "L1 address to credit the withdrawal to."
},
"_amount": {
"type": "uint256",
"description": "Amount of the ERC20 to deposit."
},
"_data": {
"type": "bytes",
"description": "Data provided by the sender on L2. 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."
}
},
"outputs": {},
"details": "Complete a withdrawal from L2 to L1, and credit funds to the recipient's balance of the L1 ERC20 token. This call will fail if the initialized withdrawal from L2 has not been finalized."
},
"l2TokenBridge": {
"stateMutability": "nonpayable",
"code": "function l2TokenBridge() external nonpayable returns (address)",
"inputs": {},
"outputs": {
"_0": {
"type": "address",
"description": "Address of the corresponding L2 bridge contract."
}
},
"details": "get the address of the corresponding L2 bridge contract."
}
},
"events": {
"ERC20DepositInitiated": {
"code": "event ERC20DepositInitiated(address indexed _l1Token, address indexed _l2Token, address indexed _from, address _to, uint256 _amount, bytes _data)",
"inputs": {
"_l1Token": {
"type": "address",
"indexed": true
},
"_l2Token": {
"type": "address",
"indexed": true
},
"_from": {
"type": "address",
"indexed": true
},
"_to": {
"type": "address",
"indexed": false
},
"_amount": {
"type": "uint256",
"indexed": false
},
"_data": {
"type": "bytes",
"indexed": false
}
}
},
"ERC20WithdrawalFinalized": {
"code": "event ERC20WithdrawalFinalized(address indexed _l1Token, address indexed _l2Token, address indexed _from, address _to, uint256 _amount, bytes _data)",
"inputs": {
"_l1Token": {
"type": "address",
"indexed": true
},
"_l2Token": {
"type": "address",
"indexed": true
},
"_from": {
"type": "address",
"indexed": true
},
"_to": {
"type": "address",
"indexed": false
},
"_amount": {
"type": "uint256",
"indexed": false
},
"_data": {
"type": "bytes",
"indexed": false
}
}
}
},
"errors": {},
"title": "IL1ERC20Bridge",
"name": "IL1ERC20Bridge"
}
\ No newline at end of file
This diff is collapsed.
{
"methods": {
"relayMessage": {
"stateMutability": "nonpayable",
"code": "function relayMessage(address _target, address _sender, bytes _message, uint256 _messageNonce) external nonpayable",
"inputs": {
"_target": {
"type": "address",
"description": "Target contract address."
},
"_sender": {
"type": "address",
"description": "Message sender address."
},
"_message": {
"type": "bytes",
"description": "Message to send to the target."
},
"_messageNonce": {
"type": "uint256",
"description": "Nonce for the provided message."
}
},
"outputs": {},
"notice": "Relays a cross domain message to a contract."
},
"sendMessage": {
"stateMutability": "nonpayable",
"code": "function sendMessage(address _target, bytes _message, uint32 _gasLimit) external nonpayable",
"inputs": {
"_target": {
"type": "address",
"description": "Target contract address."
},
"_message": {
"type": "bytes",
"description": "Message to send to the target."
},
"_gasLimit": {
"type": "uint32",
"description": "Gas limit for the provided message."
}
},
"outputs": {},
"notice": "Sends a cross domain message to the target messenger."
},
"xDomainMessageSender": {
"stateMutability": "view",
"code": "function xDomainMessageSender() external view returns (address)",
"inputs": {},
"outputs": {
"_0": {
"type": "address"
}
}
}
},
"events": {
"FailedRelayedMessage": {
"code": "event FailedRelayedMessage(bytes32 indexed msgHash)",
"inputs": {
"msgHash": {
"type": "bytes32",
"indexed": true
}
}
},
"RelayedMessage": {
"code": "event RelayedMessage(bytes32 indexed msgHash)",
"inputs": {
"msgHash": {
"type": "bytes32",
"indexed": true
}
}
},
"SentMessage": {
"code": "event SentMessage(address indexed target, address sender, bytes message, uint256 messageNonce, uint256 gasLimit)",
"inputs": {
"target": {
"type": "address",
"indexed": true
},
"sender": {
"type": "address",
"indexed": false
},
"message": {
"type": "bytes",
"indexed": false
},
"messageNonce": {
"type": "uint256",
"indexed": false
},
"gasLimit": {
"type": "uint256",
"indexed": false
}
}
}
},
"errors": {},
"title": "IL2CrossDomainMessenger",
"name": "IL2CrossDomainMessenger"
}
\ No newline at end of file
{
"methods": {
"finalizeDeposit": {
"stateMutability": "nonpayable",
"code": "function finalizeDeposit(address _l1Token, address _l2Token, address _from, address _to, uint256 _amount, bytes _data) external nonpayable",
"inputs": {
"_l1Token": {
"type": "address",
"description": "Address for the l1 token this is called with"
},
"_l2Token": {
"type": "address",
"description": "Address for the l2 token this is called with"
},
"_from": {
"type": "address",
"description": "Account to pull the deposit from on L2."
},
"_to": {
"type": "address",
"description": "Address to receive the withdrawal at"
},
"_amount": {
"type": "uint256",
"description": "Amount of the token to withdraw"
},
"_data": {
"type": "bytes",
"description": "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."
}
},
"outputs": {},
"details": "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."
},
"l1TokenBridge": {
"stateMutability": "nonpayable",
"code": "function l1TokenBridge() external nonpayable returns (address)",
"inputs": {},
"outputs": {
"_0": {
"type": "address",
"description": "Address of the corresponding L1 bridge contract."
}
},
"details": "get the address of the corresponding L1 bridge contract."
},
"withdraw": {
"stateMutability": "nonpayable",
"code": "function withdraw(address _l2Token, uint256 _amount, uint32 _l1Gas, bytes _data) external nonpayable",
"inputs": {
"_l2Token": {
"type": "address",
"description": "Address of L2 token where withdrawal was initiated."
},
"_amount": {
"type": "uint256",
"description": "Amount of the token to withdraw. param _l1Gas Unused, but included for potential forward compatibility considerations."
},
"_l1Gas": {
"type": "uint32"
},
"_data": {
"type": "bytes",
"description": "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."
}
},
"outputs": {},
"details": "initiate a withdraw of some tokens to the caller's account on L1"
},
"withdrawTo": {
"stateMutability": "nonpayable",
"code": "function withdrawTo(address _l2Token, address _to, uint256 _amount, uint32 _l1Gas, bytes _data) external nonpayable",
"inputs": {
"_l2Token": {
"type": "address",
"description": "Address of L2 token where withdrawal is initiated."
},
"_to": {
"type": "address",
"description": "L1 adress to credit the withdrawal to."
},
"_amount": {
"type": "uint256",
"description": "Amount of the token to withdraw. param _l1Gas Unused, but included for potential forward compatibility considerations."
},
"_l1Gas": {
"type": "uint32"
},
"_data": {
"type": "bytes",
"description": "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."
}
},
"outputs": {},
"details": "initiate a withdraw of some token to a recipient's account on L1."
}
},
"events": {
"DepositFailed": {
"code": "event DepositFailed(address indexed _l1Token, address indexed _l2Token, address indexed _from, address _to, uint256 _amount, bytes _data)",
"inputs": {
"_l1Token": {
"type": "address",
"indexed": true
},
"_l2Token": {
"type": "address",
"indexed": true
},
"_from": {
"type": "address",
"indexed": true
},
"_to": {
"type": "address",
"indexed": false
},
"_amount": {
"type": "uint256",
"indexed": false
},
"_data": {
"type": "bytes",
"indexed": false
}
}
},
"DepositFinalized": {
"code": "event DepositFinalized(address indexed _l1Token, address indexed _l2Token, address indexed _from, address _to, uint256 _amount, bytes _data)",
"inputs": {
"_l1Token": {
"type": "address",
"indexed": true
},
"_l2Token": {
"type": "address",
"indexed": true
},
"_from": {
"type": "address",
"indexed": true
},
"_to": {
"type": "address",
"indexed": false
},
"_amount": {
"type": "uint256",
"indexed": false
},
"_data": {
"type": "bytes",
"indexed": false
}
}
},
"WithdrawalInitiated": {
"code": "event WithdrawalInitiated(address indexed _l1Token, address indexed _l2Token, address indexed _from, address _to, uint256 _amount, bytes _data)",
"inputs": {
"_l1Token": {
"type": "address",
"indexed": true
},
"_l2Token": {
"type": "address",
"indexed": true
},
"_from": {
"type": "address",
"indexed": true
},
"_to": {
"type": "address",
"indexed": false
},
"_amount": {
"type": "uint256",
"indexed": false
},
"_data": {
"type": "bytes",
"indexed": false
}
}
}
},
"errors": {},
"title": "IL2ERC20Bridge",
"name": "IL2ERC20Bridge"
}
\ No newline at end of file
{
"methods": {
"allowance": {
"stateMutability": "view",
"code": "function allowance(address owner, address spender) external view returns (uint256)",
"inputs": {
"owner": {
"type": "address"
},
"spender": {
"type": "address"
}
},
"outputs": {
"_0": {
"type": "uint256"
}
},
"details": "Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."
},
"approve": {
"stateMutability": "nonpayable",
"code": "function approve(address spender, uint256 amount) external nonpayable returns (bool)",
"inputs": {
"spender": {
"type": "address"
},
"amount": {
"type": "uint256"
}
},
"outputs": {
"_0": {
"type": "bool"
}
},
"details": "Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."
},
"balanceOf": {
"stateMutability": "view",
"code": "function balanceOf(address account) external view returns (uint256)",
"inputs": {
"account": {
"type": "address"
}
},
"outputs": {
"_0": {
"type": "uint256"
}
},
"details": "Returns the amount of tokens owned by `account`."
},
"burn": {
"stateMutability": "nonpayable",
"code": "function burn(address _from, uint256 _amount) external nonpayable",
"inputs": {
"_from": {
"type": "address"
},
"_amount": {
"type": "uint256"
}
},
"outputs": {}
},
"l1Token": {
"stateMutability": "nonpayable",
"code": "function l1Token() external nonpayable returns (address)",
"inputs": {},
"outputs": {
"_0": {
"type": "address"
}
}
},
"mint": {
"stateMutability": "nonpayable",
"code": "function mint(address _to, uint256 _amount) external nonpayable",
"inputs": {
"_to": {
"type": "address"
},
"_amount": {
"type": "uint256"
}
},
"outputs": {}
},
"supportsInterface": {
"stateMutability": "view",
"code": "function supportsInterface(bytes4 interfaceId) external view returns (bool)",
"inputs": {
"interfaceId": {
"type": "bytes4"
}
},
"outputs": {
"_0": {
"type": "bool"
}
},
"details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."
},
"totalSupply": {
"stateMutability": "view",
"code": "function totalSupply() external view returns (uint256)",
"inputs": {},
"outputs": {
"_0": {
"type": "uint256"
}
},
"details": "Returns the amount of tokens in existence."
},
"transfer": {
"stateMutability": "nonpayable",
"code": "function transfer(address recipient, uint256 amount) external nonpayable returns (bool)",
"inputs": {
"recipient": {
"type": "address"
},
"amount": {
"type": "uint256"
}
},
"outputs": {
"_0": {
"type": "bool"
}
},
"details": "Moves `amount` tokens from the caller's account to `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
},
"transferFrom": {
"stateMutability": "nonpayable",
"code": "function transferFrom(address sender, address recipient, uint256 amount) external nonpayable returns (bool)",
"inputs": {
"sender": {
"type": "address"
},
"recipient": {
"type": "address"
},
"amount": {
"type": "uint256"
}
},
"outputs": {
"_0": {
"type": "bool"
}
},
"details": "Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
}
},
"events": {
"Approval": {
"code": "event Approval(address indexed owner, address indexed spender, uint256 value)",
"inputs": {
"owner": {
"type": "address",
"indexed": true
},
"spender": {
"type": "address",
"indexed": true
},
"value": {
"type": "uint256",
"indexed": false
}
}
},
"Burn": {
"code": "event Burn(address indexed _account, uint256 _amount)",
"inputs": {
"_account": {
"type": "address",
"indexed": true
},
"_amount": {
"type": "uint256",
"indexed": false
}
}
},
"Mint": {
"code": "event Mint(address indexed _account, uint256 _amount)",
"inputs": {
"_account": {
"type": "address",
"indexed": true
},
"_amount": {
"type": "uint256",
"indexed": false
}
}
},
"Transfer": {
"code": "event Transfer(address indexed from, address indexed to, uint256 value)",
"inputs": {
"from": {
"type": "address",
"indexed": true
},
"to": {
"type": "address",
"indexed": true
},
"value": {
"type": "uint256",
"indexed": false
}
}
}
},
"errors": {},
"name": "IL2StandardERC20"
}
\ No newline at end of file
{
"methods": {
"appendStateBatch": {
"stateMutability": "nonpayable",
"code": "function appendStateBatch(bytes32[] _batch, uint256 _shouldStartAtElement) external nonpayable",
"inputs": {
"_batch": {
"type": "bytes32[]",
"description": "Batch of state roots."
},
"_shouldStartAtElement": {
"type": "uint256",
"description": "Index of the element at which this batch should start."
}
},
"outputs": {},
"notice": "Appends a batch of state roots to the chain."
},
"deleteStateBatch": {
"stateMutability": "nonpayable",
"code": "function deleteStateBatch(Lib_OVMCodec.ChainBatchHeader _batchHeader) external nonpayable",
"inputs": {
"_batchHeader": {
"type": "Lib_OVMCodec.ChainBatchHeader",
"description": "Header of the batch to start deleting from."
}
},
"outputs": {},
"notice": "Deletes all state roots after (and including) a given batch."
},
"getLastSequencerTimestamp": {
"stateMutability": "view",
"code": "function getLastSequencerTimestamp() external view returns (uint256 _lastSequencerTimestamp)",
"inputs": {},
"outputs": {
"_lastSequencerTimestamp": {
"type": "uint256",
"description": "Last sequencer batch timestamp."
}
},
"notice": "Retrieves the timestamp of the last batch submitted by the sequencer."
},
"getTotalBatches": {
"stateMutability": "view",
"code": "function getTotalBatches() external view returns (uint256 _totalBatches)",
"inputs": {},
"outputs": {
"_totalBatches": {
"type": "uint256",
"description": "Total submitted batches."
}
},
"notice": "Retrieves the total number of batches submitted."
},
"getTotalElements": {
"stateMutability": "view",
"code": "function getTotalElements() external view returns (uint256 _totalElements)",
"inputs": {},
"outputs": {
"_totalElements": {
"type": "uint256",
"description": "Total submitted elements."
}
},
"notice": "Retrieves the total number of elements submitted."
},
"insideFraudProofWindow": {
"stateMutability": "view",
"code": "function insideFraudProofWindow(Lib_OVMCodec.ChainBatchHeader _batchHeader) external view returns (bool _inside)",
"inputs": {
"_batchHeader": {
"type": "Lib_OVMCodec.ChainBatchHeader",
"description": "Header of the batch to check."
}
},
"outputs": {
"_inside": {
"type": "bool",
"description": "Whether or not the batch is inside the fraud proof window."
}
},
"notice": "Checks whether a given batch is still inside its fraud proof window."
},
"verifyStateCommitment": {
"stateMutability": "view",
"code": "function verifyStateCommitment(bytes32 _element, Lib_OVMCodec.ChainBatchHeader _batchHeader, Lib_OVMCodec.ChainInclusionProof _proof) external view returns (bool _verified)",
"inputs": {
"_element": {
"type": "bytes32",
"description": "Hash of the element to verify a proof for."
},
"_batchHeader": {
"type": "Lib_OVMCodec.ChainBatchHeader",
"description": "Header of the batch in which the element was included."
},
"_proof": {
"type": "Lib_OVMCodec.ChainInclusionProof",
"description": "Merkle inclusion proof for the element."
}
},
"outputs": {
"_verified": {
"type": "bool"
}
},
"notice": "Verifies a batch inclusion proof."
}
},
"events": {
"StateBatchAppended": {
"code": "event StateBatchAppended(uint256 indexed _batchIndex, bytes32 _batchRoot, uint256 _batchSize, uint256 _prevTotalElements, bytes _extraData)",
"inputs": {
"_batchIndex": {
"type": "uint256",
"indexed": true
},
"_batchRoot": {
"type": "bytes32",
"indexed": false
},
"_batchSize": {
"type": "uint256",
"indexed": false
},
"_prevTotalElements": {
"type": "uint256",
"indexed": false
},
"_extraData": {
"type": "bytes",
"indexed": false
}
}
},
"StateBatchDeleted": {
"code": "event StateBatchDeleted(uint256 indexed _batchIndex, bytes32 _batchRoot)",
"inputs": {
"_batchIndex": {
"type": "uint256",
"indexed": true
},
"_batchRoot": {
"type": "bytes32",
"indexed": false
}
}
}
},
"errors": {},
"title": "IStateCommitmentChain",
"name": "IStateCommitmentChain"
}
\ No newline at end of file
{
"methods": {},
"events": {},
"errors": {},
"details": "This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed behind a proxy. Since a proxied contract can't have a constructor, it's common to move constructor logic to an external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer function so it can only be called once. The {initializer} modifier provided by this contract will have this effect. TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}. CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure that all initializers are idempotent. This is not verified automatically as constructors are by Solidity.",
"name": "Initializable"
}
\ No newline at end of file
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
*This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed behind a proxy. Since a proxied contract can't have a constructor, it's common to move constructor logic to an external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer function so it can only be called once. The {initializer} modifier provided by this contract will have this effect. TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}. CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure that all initializers are idempotent. This is not verified automatically as constructors are by Solidity.* *This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed behind a proxy. Since a proxied contract can't have a constructor, it's common to move constructor logic to an external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer function so it can only be called once. The {initializer} modifier provided by this contract will have this effect. TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}. CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure that all initializers are idempotent. This is not verified automatically as constructors are by Solidity. [CAUTION] ==== Avoid leaving a contract uninitialized. An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation contract, which may impact the proxy. To initialize the implementation contract, you can either invoke the initializer manually, or you can include a constructor to automatically mark it as initialized when it is deployed: [.hljs-theme-light.nopadding] ```*
{
"methods": {
"getImplementation": {
"stateMutability": "nonpayable",
"code": "function getImplementation() external nonpayable returns (address)",
"inputs": {},
"outputs": {
"_0": {
"type": "address",
"description": "Implementation address."
}
},
"notice": "Queries the implementation address. Can only be called by the owner OR by making an eth_call and setting the \"from\" address to address(0)."
},
"getOwner": {
"stateMutability": "nonpayable",
"code": "function getOwner() external nonpayable returns (address)",
"inputs": {},
"outputs": {
"_0": {
"type": "address",
"description": "Owner address."
}
},
"notice": "Queries the owner of the proxy contract. Can only be called by the owner OR by making an eth_call and setting the \"from\" address to address(0)."
},
"setCode": {
"stateMutability": "nonpayable",
"code": "function setCode(bytes _code) external nonpayable",
"inputs": {
"_code": {
"type": "bytes",
"description": "New contract code to run inside this contract."
}
},
"outputs": {},
"notice": "Sets the code that should be running behind this proxy. Note that this scheme is a bit different from the standard proxy scheme where one would typically deploy the code separately and then set the implementation address. We're doing it this way because it gives us a lot more freedom on the client side. Can only be triggered by the contract owner."
},
"setOwner": {
"stateMutability": "nonpayable",
"code": "function setOwner(address _owner) external nonpayable",
"inputs": {
"_owner": {
"type": "address",
"description": "New owner of the proxy contract."
}
},
"outputs": {},
"notice": "Changes the owner of the proxy contract. Only callable by the owner."
},
"setStorage": {
"stateMutability": "nonpayable",
"code": "function setStorage(bytes32 _key, bytes32 _value) external nonpayable",
"inputs": {
"_key": {
"type": "bytes32",
"description": "Storage key to modify."
},
"_value": {
"type": "bytes32",
"description": "New value for the storage key."
}
},
"outputs": {},
"notice": "Modifies some storage slot within the proxy contract. Gives us a lot of power to perform upgrades in a more transparent way. Only callable by the owner."
}
},
"events": {},
"errors": {},
"title": "L1ChugSplashProxy",
"details": "Basic ChugSplash proxy contract for L1. Very close to being a normal proxy but has added functions `setCode` and `setStorage` for changing the code or storage of the contract. Nifty! Note for future developers: do NOT make anything in this contract 'public' unless you know what you're doing. Anything public can potentially have a function signature that conflicts with a signature attached to the implementation contract. Public functions SHOULD always have the 'proxyCallIfNotOwner' modifier unless there's some *really* good reason not to have that modifier. And there almost certainly is not a good reason to not have that modifier. Beware!",
"name": "L1ChugSplashProxy"
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
{
"methods": {
"l1CrossDomainMessenger": {
"stateMutability": "view",
"code": "function l1CrossDomainMessenger() external view returns (address)",
"inputs": {},
"outputs": {
"_0": {
"type": "address"
}
}
},
"messageNonce": {
"stateMutability": "view",
"code": "function messageNonce() external view returns (uint256)",
"inputs": {},
"outputs": {
"_0": {
"type": "uint256"
}
}
},
"relayMessage": {
"stateMutability": "nonpayable",
"code": "function relayMessage(address _target, address _sender, bytes _message, uint256 _messageNonce) external nonpayable",
"inputs": {
"_target": {
"type": "address",
"description": "Target contract address."
},
"_sender": {
"type": "address",
"description": "Message sender address."
},
"_message": {
"type": "bytes",
"description": "Message to send to the target."
},
"_messageNonce": {
"type": "uint256",
"description": "Nonce for the provided message."
}
},
"outputs": {},
"notice": "Relays a cross domain message to a contract."
},
"relayedMessages": {
"stateMutability": "view",
"code": "function relayedMessages(bytes32) external view returns (bool)",
"inputs": {
"_0": {
"type": "bytes32"
}
},
"outputs": {
"_0": {
"type": "bool"
}
}
},
"sendMessage": {
"stateMutability": "nonpayable",
"code": "function sendMessage(address _target, bytes _message, uint32 _gasLimit) external nonpayable",
"inputs": {
"_target": {
"type": "address",
"description": "Target contract address."
},
"_message": {
"type": "bytes",
"description": "Message to send to the target."
},
"_gasLimit": {
"type": "uint32",
"description": "Gas limit for the provided message."
}
},
"outputs": {},
"notice": "Sends a cross domain message to the target messenger."
},
"sentMessages": {
"stateMutability": "view",
"code": "function sentMessages(bytes32) external view returns (bool)",
"inputs": {
"_0": {
"type": "bytes32"
}
},
"outputs": {
"_0": {
"type": "bool"
}
}
},
"successfulMessages": {
"stateMutability": "view",
"code": "function successfulMessages(bytes32) external view returns (bool)",
"inputs": {
"_0": {
"type": "bytes32"
}
},
"outputs": {
"_0": {
"type": "bool"
}
}
},
"xDomainMessageSender": {
"stateMutability": "view",
"code": "function xDomainMessageSender() external view returns (address)",
"inputs": {},
"outputs": {
"_0": {
"type": "address"
}
}
}
},
"events": {
"FailedRelayedMessage": {
"code": "event FailedRelayedMessage(bytes32 indexed msgHash)",
"inputs": {
"msgHash": {
"type": "bytes32",
"indexed": true
}
}
},
"RelayedMessage": {
"code": "event RelayedMessage(bytes32 indexed msgHash)",
"inputs": {
"msgHash": {
"type": "bytes32",
"indexed": true
}
}
},
"SentMessage": {
"code": "event SentMessage(address indexed target, address sender, bytes message, uint256 messageNonce, uint256 gasLimit)",
"inputs": {
"target": {
"type": "address",
"indexed": true
},
"sender": {
"type": "address",
"indexed": false
},
"message": {
"type": "bytes",
"indexed": false
},
"messageNonce": {
"type": "uint256",
"indexed": false
},
"gasLimit": {
"type": "uint256",
"indexed": false
}
}
}
},
"errors": {},
"title": "L2CrossDomainMessenger",
"details": "The L2 Cross Domain Messenger contract sends messages from L2 to L1, and is the entry point for L2 messages sent via the L1 Cross Domain Messenger.",
"name": "L2CrossDomainMessenger"
}
\ No newline at end of file
{
"methods": {
"finalizeDeposit": {
"stateMutability": "nonpayable",
"code": "function finalizeDeposit(address _l1Token, address _l2Token, address _from, address _to, uint256 _amount, bytes _data) external nonpayable",
"inputs": {
"_l1Token": {
"type": "address",
"description": "Address for the l1 token this is called with"
},
"_l2Token": {
"type": "address",
"description": "Address for the l2 token this is called with"
},
"_from": {
"type": "address",
"description": "Account to pull the deposit from on L2."
},
"_to": {
"type": "address",
"description": "Address to receive the withdrawal at"
},
"_amount": {
"type": "uint256",
"description": "Amount of the token to withdraw"
},
"_data": {
"type": "bytes",
"description": "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."
}
},
"outputs": {},
"details": "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."
},
"l1TokenBridge": {
"stateMutability": "view",
"code": "function l1TokenBridge() external view returns (address)",
"inputs": {},
"outputs": {
"_0": {
"type": "address",
"description": "Address of the corresponding L1 bridge contract."
}
},
"details": "get the address of the corresponding L1 bridge contract."
},
"messenger": {
"stateMutability": "view",
"code": "function messenger() external view returns (address)",
"inputs": {},
"outputs": {
"_0": {
"type": "address"
}
}
},
"withdraw": {
"stateMutability": "nonpayable",
"code": "function withdraw(address _l2Token, uint256 _amount, uint32 _l1Gas, bytes _data) external nonpayable",
"inputs": {
"_l2Token": {
"type": "address",
"description": "Address of L2 token where withdrawal was initiated."
},
"_amount": {
"type": "uint256",
"description": "Amount of the token to withdraw. param _l1Gas Unused, but included for potential forward compatibility considerations."
},
"_l1Gas": {
"type": "uint32"
},
"_data": {
"type": "bytes",
"description": "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."
}
},
"outputs": {},
"details": "initiate a withdraw of some tokens to the caller's account on L1"
},
"withdrawTo": {
"stateMutability": "nonpayable",
"code": "function withdrawTo(address _l2Token, address _to, uint256 _amount, uint32 _l1Gas, bytes _data) external nonpayable",
"inputs": {
"_l2Token": {
"type": "address",
"description": "Address of L2 token where withdrawal is initiated."
},
"_to": {
"type": "address",
"description": "L1 adress to credit the withdrawal to."
},
"_amount": {
"type": "uint256",
"description": "Amount of the token to withdraw. param _l1Gas Unused, but included for potential forward compatibility considerations."
},
"_l1Gas": {
"type": "uint32"
},
"_data": {
"type": "bytes",
"description": "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."
}
},
"outputs": {},
"details": "initiate a withdraw of some token to a recipient's account on L1."
}
},
"events": {
"DepositFailed": {
"code": "event DepositFailed(address indexed _l1Token, address indexed _l2Token, address indexed _from, address _to, uint256 _amount, bytes _data)",
"inputs": {
"_l1Token": {
"type": "address",
"indexed": true
},
"_l2Token": {
"type": "address",
"indexed": true
},
"_from": {
"type": "address",
"indexed": true
},
"_to": {
"type": "address",
"indexed": false
},
"_amount": {
"type": "uint256",
"indexed": false
},
"_data": {
"type": "bytes",
"indexed": false
}
}
},
"DepositFinalized": {
"code": "event DepositFinalized(address indexed _l1Token, address indexed _l2Token, address indexed _from, address _to, uint256 _amount, bytes _data)",
"inputs": {
"_l1Token": {
"type": "address",
"indexed": true
},
"_l2Token": {
"type": "address",
"indexed": true
},
"_from": {
"type": "address",
"indexed": true
},
"_to": {
"type": "address",
"indexed": false
},
"_amount": {
"type": "uint256",
"indexed": false
},
"_data": {
"type": "bytes",
"indexed": false
}
}
},
"WithdrawalInitiated": {
"code": "event WithdrawalInitiated(address indexed _l1Token, address indexed _l2Token, address indexed _from, address _to, uint256 _amount, bytes _data)",
"inputs": {
"_l1Token": {
"type": "address",
"indexed": true
},
"_l2Token": {
"type": "address",
"indexed": true
},
"_from": {
"type": "address",
"indexed": true
},
"_to": {
"type": "address",
"indexed": false
},
"_amount": {
"type": "uint256",
"indexed": false
},
"_data": {
"type": "bytes",
"indexed": false
}
}
}
},
"errors": {},
"title": "L2StandardBridge",
"details": "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.",
"name": "L2StandardBridge"
}
\ No newline at end of file
This diff is collapsed.
{
"methods": {
"createStandardL2Token": {
"stateMutability": "nonpayable",
"code": "function createStandardL2Token(address _l1Token, string _name, string _symbol) external nonpayable",
"inputs": {
"_l1Token": {
"type": "address",
"description": "Address of the corresponding L1 token."
},
"_name": {
"type": "string",
"description": "ERC20 name."
},
"_symbol": {
"type": "string",
"description": "ERC20 symbol."
}
},
"outputs": {},
"details": "Creates an instance of the standard ERC20 token on L2."
}
},
"events": {
"StandardL2TokenCreated": {
"code": "event StandardL2TokenCreated(address indexed _l1Token, address indexed _l2Token)",
"inputs": {
"_l1Token": {
"type": "address",
"indexed": true
},
"_l2Token": {
"type": "address",
"indexed": true
}
}
}
},
"errors": {},
"title": "L2StandardTokenFactory",
"details": "Factory contract for creating standard L2 token representations of L1 ERC20s compatible with and working on the standard bridge.",
"name": "L2StandardTokenFactory"
}
\ No newline at end of file
{
"methods": {
"getAddress": {
"stateMutability": "view",
"code": "function getAddress(string _name) external view returns (address)",
"inputs": {
"_name": {
"type": "string",
"description": "Name to retrieve an address for."
}
},
"outputs": {
"_0": {
"type": "address",
"description": "Address associated with the given name."
}
},
"notice": "Retrieves the address associated with a given name."
},
"owner": {
"stateMutability": "view",
"code": "function owner() external view returns (address)",
"inputs": {},
"outputs": {
"_0": {
"type": "address"
}
},
"details": "Returns the address of the current owner."
},
"renounceOwnership": {
"stateMutability": "nonpayable",
"code": "function renounceOwnership() external nonpayable",
"inputs": {},
"outputs": {},
"details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner."
},
"setAddress": {
"stateMutability": "nonpayable",
"code": "function setAddress(string _name, address _address) external nonpayable",
"inputs": {
"_name": {
"type": "string",
"description": "String name to associate an address with."
},
"_address": {
"type": "address",
"description": "Address to associate with the name."
}
},
"outputs": {},
"notice": "Changes the address associated with a particular name."
},
"transferOwnership": {
"stateMutability": "nonpayable",
"code": "function transferOwnership(address newOwner) external nonpayable",
"inputs": {
"newOwner": {
"type": "address"
}
},
"outputs": {},
"details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
}
},
"events": {
"AddressSet": {
"code": "event AddressSet(string indexed _name, address _newAddress, address _oldAddress)",
"inputs": {
"_name": {
"type": "string",
"indexed": true
},
"_newAddress": {
"type": "address",
"indexed": false
},
"_oldAddress": {
"type": "address",
"indexed": false
}
}
},
"OwnershipTransferred": {
"code": "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)",
"inputs": {
"previousOwner": {
"type": "address",
"indexed": true
},
"newOwner": {
"type": "address",
"indexed": true
}
}
}
},
"errors": {},
"title": "Lib_AddressManager",
"name": "Lib_AddressManager"
}
\ No newline at end of file
{
"methods": {
"libAddressManager": {
"stateMutability": "view",
"code": "function libAddressManager() external view returns (contract Lib_AddressManager)",
"inputs": {},
"outputs": {
"_0": {
"type": "contract Lib_AddressManager"
}
}
},
"resolve": {
"stateMutability": "view",
"code": "function resolve(string _name) external view returns (address)",
"inputs": {
"_name": {
"type": "string",
"description": "Name to resolve an address for."
}
},
"outputs": {
"_0": {
"type": "address",
"description": "Address associated with the given name."
}
},
"notice": "Resolves the address associated with a given name."
}
},
"events": {},
"errors": {},
"title": "Lib_AddressResolver",
"name": "Lib_AddressResolver"
}
\ No newline at end of file
{
"methods": {},
"events": {},
"errors": {},
"title": "Lib_Buffer",
"details": "This library implements a bytes32 storage array with some additional gas-optimized functionality. In particular, it encodes its length as a uint40, and tightly packs this with an overwritable \"extra data\" field so we can store more information with a single SSTORE.",
"name": "Lib_Buffer"
}
\ No newline at end of file
{
"methods": {},
"events": {},
"errors": {},
"title": "Lib_Byte32Utils",
"name": "Lib_Bytes32Utils"
}
\ No newline at end of file
{
"methods": {},
"events": {},
"errors": {},
"title": "Lib_BytesUtils",
"name": "Lib_BytesUtils"
}
\ No newline at end of file
{
"methods": {},
"events": {},
"errors": {},
"title": "Lib_CrossDomainUtils",
"name": "Lib_CrossDomainUtils"
}
\ No newline at end of file
{
"methods": {},
"events": {},
"errors": {},
"title": "Lib_DefaultValues",
"name": "Lib_DefaultValues"
}
\ No newline at end of file
{
"methods": {},
"events": {},
"errors": {},
"title": "Lib_MerkleTree",
"author": "River Keefer",
"name": "Lib_MerkleTree"
}
\ No newline at end of file
{
"methods": {},
"events": {},
"errors": {},
"title": "Lib_MerkleTrie",
"name": "Lib_MerkleTrie"
}
\ No newline at end of file
{
"methods": {},
"events": {},
"errors": {},
"title": "Lib_OVMCodec",
"name": "Lib_OVMCodec"
}
\ No newline at end of file
{
"methods": {},
"events": {},
"errors": {},
"title": "Lib_PredeployAddresses",
"name": "Lib_PredeployAddresses"
}
\ No newline at end of file
{
"methods": {},
"events": {},
"errors": {},
"title": "Lib_RLPReader",
"details": "Adapted from \"RLPReader\" by Hamdi Allam (hamdi.allam97@gmail.com).",
"name": "Lib_RLPReader"
}
\ No newline at end of file
{
"methods": {},
"events": {},
"errors": {},
"title": "Lib_RLPWriter",
"author": "Bakaoh (with modifications)",
"name": "Lib_RLPWriter"
}
\ No newline at end of file
{
"methods": {},
"events": {},
"errors": {},
"title": "Lib_ResolvedDelegateProxy",
"name": "Lib_ResolvedDelegateProxy"
}
\ No newline at end of file
{
"methods": {},
"events": {},
"errors": {},
"title": "Lib_SecureMerkleTrie",
"name": "Lib_SecureMerkleTrie"
}
\ No newline at end of file
{
"methods": {
"enableArbitraryContractDeployment": {
"stateMutability": "nonpayable",
"code": "function enableArbitraryContractDeployment() external nonpayable",
"inputs": {},
"outputs": {},
"notice": "Permanently enables arbitrary contract deployment and deletes the owner."
},
"isDeployerAllowed": {
"stateMutability": "view",
"code": "function isDeployerAllowed(address _deployer) external view returns (bool)",
"inputs": {
"_deployer": {
"type": "address",
"description": "Address to check."
}
},
"outputs": {
"_0": {
"type": "bool",
"description": "_allowed Whether or not the address can deploy contracts."
}
},
"notice": "Checks whether an address is allowed to deploy contracts."
},
"owner": {
"stateMutability": "view",
"code": "function owner() external view returns (address)",
"inputs": {},
"outputs": {
"_0": {
"type": "address"
}
}
},
"setOwner": {
"stateMutability": "nonpayable",
"code": "function setOwner(address _owner) external nonpayable",
"inputs": {
"_owner": {
"type": "address",
"description": "Address of the new owner."
}
},
"outputs": {},
"notice": "Updates the owner of this contract."
},
"setWhitelistedDeployer": {
"stateMutability": "nonpayable",
"code": "function setWhitelistedDeployer(address _deployer, bool _isWhitelisted) external nonpayable",
"inputs": {
"_deployer": {
"type": "address",
"description": "Address to update permissions for."
},
"_isWhitelisted": {
"type": "bool",
"description": "Whether or not the address is whitelisted."
}
},
"outputs": {},
"notice": "Adds or removes an address from the deployment whitelist."
},
"whitelist": {
"stateMutability": "view",
"code": "function whitelist(address) external view returns (bool)",
"inputs": {
"_0": {
"type": "address"
}
},
"outputs": {
"_0": {
"type": "bool"
}
}
}
},
"events": {
"OwnerChanged": {
"code": "event OwnerChanged(address oldOwner, address newOwner)",
"inputs": {
"oldOwner": {
"type": "address",
"indexed": false
},
"newOwner": {
"type": "address",
"indexed": false
}
}
},
"WhitelistDisabled": {
"code": "event WhitelistDisabled(address oldOwner)",
"inputs": {
"oldOwner": {
"type": "address",
"indexed": false
}
}
},
"WhitelistStatusChanged": {
"code": "event WhitelistStatusChanged(address deployer, bool whitelisted)",
"inputs": {
"deployer": {
"type": "address",
"indexed": false
},
"whitelisted": {
"type": "bool",
"indexed": false
}
}
}
},
"errors": {},
"title": "OVM_DeployerWhitelist",
"details": "The Deployer Whitelist is a temporary predeploy used to provide additional safety during the initial phases of our mainnet roll out. It is owned by the Optimism team, and defines accounts which are allowed to deploy contracts on Layer2. The Execution Manager will only allow an ovmCREATE or ovmCREATE2 operation to proceed if the deployer's address whitelisted.",
"name": "OVM_DeployerWhitelist"
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment