@mantleio/contracts
Version:
[Mantle] L1 and L2 smart contracts for Mantle
419 lines (418 loc) • 25.2 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "BVM_MANTLE",
"sourceName": "contracts/L2/predeploys/BVM_MANTLE.sol",
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_account",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "Burn",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_account",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "Mint",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "burn",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "decimal",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "subtractedValue",
"type": "uint256"
}
],
"name": "decreaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "addedValue",
"type": "uint256"
}
],
"name": "increaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "l1Token",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "l2Bridge",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "mint",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "_interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60806040523480156200001157600080fd5b50734200000000000000000000000000000000000010733c3a81e81dc49a522a592e7622a7e711c06bf354604051806040016040528060068152602001654d616e746c6560d01b8152506040518060400160405280600381526020016213539560ea1b81525060128282816003908051906020019062000093929190620000fd565b508051620000a9906004906020840190620000fd565b5050600580546001600160a01b039687166001600160a01b0319909116179055506006805460ff909216600160a01b026001600160a81b031990921695909416949094179390931790915550620001e09050565b8280546200010b90620001a3565b90600052602060002090601f0160209004810192826200012f57600085556200017a565b82601f106200014a57805160ff19168380011785556200017a565b828001600101855582156200017a579182015b828111156200017a5782518255916020019190600101906200015d565b50620001889291506200018c565b5090565b5b808211156200018857600081556001016200018d565b600181811c90821680620001b857607f821691505b60208210811415620001da57634e487b7160e01b600052602260045260246000fd5b50919050565b610f5080620001f06000396000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c806370a08231116100b2578063a457c2d711610081578063ae1f6aaf11610066578063ae1f6aaf1461028a578063c01e1bd6146102cf578063dd62ed3e146102ef57600080fd5b8063a457c2d714610264578063a9059cbb1461027757600080fd5b806370a08231146101ee57806376809ce31461022457806395d89b41146102495780639dc29fac1461025157600080fd5b806323b872dd116100ee57806323b872dd14610182578063313ce5671461019557806339509351146101c657806340c10f19146101d957600080fd5b806301ffc9a71461012057806306fdde0314610148578063095ea7b31461015d57806318160ddd14610170575b600080fd5b61013361012e366004610ccf565b610335565b60405190151581526020015b60405180910390f35b6101506103f5565b60405161013f9190610d18565b61013361016b366004610db4565b610487565b6002545b60405190815260200161013f565b610133610190366004610dde565b61053d565b60065474010000000000000000000000000000000000000000900460ff165b60405160ff909116815260200161013f565b6101336101d4366004610db4565b6105ee565b6101ec6101e7366004610db4565b61069f565b005b6101746101fc366004610e1a565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6006546101b49074010000000000000000000000000000000000000000900460ff1681565b61015061077e565b6101ec61025f366004610db4565b61078d565b610133610272366004610db4565b610860565b610133610285366004610db4565b610911565b6006546102aa9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161013f565b6005546102aa9073ffffffffffffffffffffffffffffffffffffffff1681565b6101746102fd366004610e35565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60007f01ffc9a7a5cef8baa21ed3c5c0d7e23accb804b619e9333b597f47a0d84076e27f1d1d8b63000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000084167f01ffc9a70000000000000000000000000000000000000000000000000000000014806103ed57507fffffffff00000000000000000000000000000000000000000000000000000000848116908216145b949350505050565b60606003805461040490610e68565b80601f016020809104026020016040519081016040528092919081815260200182805461043090610e68565b801561047d5780601f106104525761010080835404028352916020019161047d565b820191906000526020600020905b81548152906001019060200180831161046057829003601f168201915b5050505050905090565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604560248201527f42564d5f4d414e544c453a20617070726f76652069732064697361626c65642060448201527f70656e64696e67206675727468657220636f6d6d756e6974792064697363757360648201527f73696f6e2e000000000000000000000000000000000000000000000000000000608482015260009060a4015b60405180910390fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f42564d5f4d414e544c453a207472616e7366657246726f6d206973206469736160448201527f626c65642070656e64696e67206675727468657220636f6d6d756e697479206460648201527f697363757373696f6e2e00000000000000000000000000000000000000000000608482015260009060a401610534565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604f60248201527f42564d5f4d414e544c453a20696e637265617365416c6c6f77616e636520697360448201527f2064697361626c65642070656e64696e67206675727468657220636f6d6d756e60648201527f6974792064697363757373696f6e2e0000000000000000000000000000000000608482015260009060a401610534565b60065473ffffffffffffffffffffffffffffffffffffffff163314610720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f6e6c79204c32204272696467652063616e206d696e7420616e64206275726e6044820152606401610534565b61072a82826109c2565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161077291815260200190565b60405180910390a25050565b60606004805461040490610e68565b60065473ffffffffffffffffffffffffffffffffffffffff16331461080e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f6e6c79204c32204272696467652063616e206d696e7420616e64206275726e6044820152606401610534565b6108188282610ae2565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161077291815260200190565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604f60248201527f42564d5f4d414e544c453a206465637265617365416c6c6f77616e636520697360448201527f2064697361626c65642070656e64696e67206675727468657220636f6d6d756e60648201527f6974792064697363757373696f6e2e0000000000000000000000000000000000608482015260009060a401610534565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604660248201527f42564d5f4d414e544c453a207472616e736665722069732064697361626c656460448201527f2070656e64696e67206675727468657220636f6d6d756e69747920646973637560648201527f7373696f6e2e0000000000000000000000000000000000000000000000000000608482015260009060a401610534565b73ffffffffffffffffffffffffffffffffffffffff8216610a3f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610534565b8060026000828254610a519190610eeb565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290610a8b908490610eeb565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610b85576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610534565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015610c3b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610534565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120838303905560028054849290610c77908490610f03565b909155505060405182815260009073ffffffffffffffffffffffffffffffffffffffff8516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b600060208284031215610ce157600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610d1157600080fd5b9392505050565b600060208083528351808285015260005b81811015610d4557858101830151858201604001528201610d29565b81811115610d57576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610daf57600080fd5b919050565b60008060408385031215610dc757600080fd5b610dd083610d8b565b946020939093013593505050565b600080600060608486031215610df357600080fd5b610dfc84610d8b565b9250610e0a60208501610d8b565b9150604084013590509250925092565b600060208284031215610e2c57600080fd5b610d1182610d8b565b60008060408385031215610e4857600080fd5b610e5183610d8b565b9150610e5f60208401610d8b565b90509250929050565b600181811c90821680610e7c57607f821691505b60208210811415610eb6577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115610efe57610efe610ebc565b500190565b600082821015610f1557610f15610ebc565b50039056fea26469706673582212204cf15d23f245c46c7fdcf087088700a458368893b1c9d7c518a70996f9bfc46364736f6c63430008090033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061011b5760003560e01c806370a08231116100b2578063a457c2d711610081578063ae1f6aaf11610066578063ae1f6aaf1461028a578063c01e1bd6146102cf578063dd62ed3e146102ef57600080fd5b8063a457c2d714610264578063a9059cbb1461027757600080fd5b806370a08231146101ee57806376809ce31461022457806395d89b41146102495780639dc29fac1461025157600080fd5b806323b872dd116100ee57806323b872dd14610182578063313ce5671461019557806339509351146101c657806340c10f19146101d957600080fd5b806301ffc9a71461012057806306fdde0314610148578063095ea7b31461015d57806318160ddd14610170575b600080fd5b61013361012e366004610ccf565b610335565b60405190151581526020015b60405180910390f35b6101506103f5565b60405161013f9190610d18565b61013361016b366004610db4565b610487565b6002545b60405190815260200161013f565b610133610190366004610dde565b61053d565b60065474010000000000000000000000000000000000000000900460ff165b60405160ff909116815260200161013f565b6101336101d4366004610db4565b6105ee565b6101ec6101e7366004610db4565b61069f565b005b6101746101fc366004610e1a565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6006546101b49074010000000000000000000000000000000000000000900460ff1681565b61015061077e565b6101ec61025f366004610db4565b61078d565b610133610272366004610db4565b610860565b610133610285366004610db4565b610911565b6006546102aa9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161013f565b6005546102aa9073ffffffffffffffffffffffffffffffffffffffff1681565b6101746102fd366004610e35565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60007f01ffc9a7a5cef8baa21ed3c5c0d7e23accb804b619e9333b597f47a0d84076e27f1d1d8b63000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000084167f01ffc9a70000000000000000000000000000000000000000000000000000000014806103ed57507fffffffff00000000000000000000000000000000000000000000000000000000848116908216145b949350505050565b60606003805461040490610e68565b80601f016020809104026020016040519081016040528092919081815260200182805461043090610e68565b801561047d5780601f106104525761010080835404028352916020019161047d565b820191906000526020600020905b81548152906001019060200180831161046057829003601f168201915b5050505050905090565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604560248201527f42564d5f4d414e544c453a20617070726f76652069732064697361626c65642060448201527f70656e64696e67206675727468657220636f6d6d756e6974792064697363757360648201527f73696f6e2e000000000000000000000000000000000000000000000000000000608482015260009060a4015b60405180910390fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f42564d5f4d414e544c453a207472616e7366657246726f6d206973206469736160448201527f626c65642070656e64696e67206675727468657220636f6d6d756e697479206460648201527f697363757373696f6e2e00000000000000000000000000000000000000000000608482015260009060a401610534565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604f60248201527f42564d5f4d414e544c453a20696e637265617365416c6c6f77616e636520697360448201527f2064697361626c65642070656e64696e67206675727468657220636f6d6d756e60648201527f6974792064697363757373696f6e2e0000000000000000000000000000000000608482015260009060a401610534565b60065473ffffffffffffffffffffffffffffffffffffffff163314610720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f6e6c79204c32204272696467652063616e206d696e7420616e64206275726e6044820152606401610534565b61072a82826109c2565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161077291815260200190565b60405180910390a25050565b60606004805461040490610e68565b60065473ffffffffffffffffffffffffffffffffffffffff16331461080e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f6e6c79204c32204272696467652063616e206d696e7420616e64206275726e6044820152606401610534565b6108188282610ae2565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161077291815260200190565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604f60248201527f42564d5f4d414e544c453a206465637265617365416c6c6f77616e636520697360448201527f2064697361626c65642070656e64696e67206675727468657220636f6d6d756e60648201527f6974792064697363757373696f6e2e0000000000000000000000000000000000608482015260009060a401610534565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604660248201527f42564d5f4d414e544c453a207472616e736665722069732064697361626c656460448201527f2070656e64696e67206675727468657220636f6d6d756e69747920646973637560648201527f7373696f6e2e0000000000000000000000000000000000000000000000000000608482015260009060a401610534565b73ffffffffffffffffffffffffffffffffffffffff8216610a3f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610534565b8060026000828254610a519190610eeb565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290610a8b908490610eeb565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610b85576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610534565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015610c3b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610534565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120838303905560028054849290610c77908490610f03565b909155505060405182815260009073ffffffffffffffffffffffffffffffffffffffff8516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b600060208284031215610ce157600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610d1157600080fd5b9392505050565b600060208083528351808285015260005b81811015610d4557858101830151858201604001528201610d29565b81811115610d57576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610daf57600080fd5b919050565b60008060408385031215610dc757600080fd5b610dd083610d8b565b946020939093013593505050565b600080600060608486031215610df357600080fd5b610dfc84610d8b565b9250610e0a60208501610d8b565b9150604084013590509250925092565b600060208284031215610e2c57600080fd5b610d1182610d8b565b60008060408385031215610e4857600080fd5b610e5183610d8b565b9150610e5f60208401610d8b565b90509250929050565b600181811c90821680610e7c57607f821691505b60208210811415610eb6577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115610efe57610efe610ebc565b500190565b600082821015610f1557610f15610ebc565b50039056fea26469706673582212204cf15d23f245c46c7fdcf087088700a458368893b1c9d7c518a70996f9bfc46364736f6c63430008090033",
"linkReferences": {},
"deployedLinkReferences": {}
}