[ { "type": "constructor", "inputs": [ { "name": "_defaultRollupChainId", "type": "uint256", "internalType": "uint256" }, { "name": "_tokenAdmin", "type": "address", "internalType": "address" }, { "name": "initialEnterTokens", "type": "address[]", "internalType": "address[]" }, { "name": "_permit2", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "fallback", "stateMutability": "payable" }, { "type": "receive", "stateMutability": "payable" }, { "type": "function", "name": "canEnter", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "configureEnter", "inputs": [ { "name": "token", "type": "address", "internalType": "address" }, { "name": "_canEnter", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "defaultRollupChainId", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "enter", "inputs": [ { "name": "rollupRecipient", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "enter", "inputs": [ { "name": "rollupChainId", "type": "uint256", "internalType": "uint256" }, { "name": "rollupRecipient", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "enterToken", "inputs": [ { "name": "rollupChainId", "type": "uint256", "internalType": "uint256" }, { "name": "rollupRecipient", "type": "address", "internalType": "address" }, { "name": "token", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "enterToken", "inputs": [ { "name": "rollupRecipient", "type": "address", "internalType": "address" }, { "name": "token", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "enterTokenPermit2", "inputs": [ { "name": "rollupChainId", "type": "uint256", "internalType": "uint256" }, { "name": "rollupRecipient", "type": "address", "internalType": "address" }, { "name": "permit2", "type": "tuple", "internalType": "struct UsesPermit2.Permit2", "components": [ { "name": "permit", "type": "tuple", "internalType": "struct ISignatureTransfer.PermitTransferFrom", "components": [ { "name": "permitted", "type": "tuple", "internalType": "struct ISignatureTransfer.TokenPermissions", "components": [ { "name": "token", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ] }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "deadline", "type": "uint256", "internalType": "uint256" } ] }, { "name": "owner", "type": "address", "internalType": "address" }, { "name": "signature", "type": "bytes", "internalType": "bytes" } ] } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "enterWitness", "inputs": [ { "name": "rollupChainId", "type": "uint256", "internalType": "uint256" }, { "name": "rollupRecipient", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "_witness", "type": "tuple", "internalType": "struct UsesPermit2.Witness", "components": [ { "name": "witnessHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "witnessTypeString", "type": "string", "internalType": "string" } ] } ], "stateMutability": "pure" }, { "type": "function", "name": "exitWitness", "inputs": [ { "name": "hostRecipient", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "_witness", "type": "tuple", "internalType": "struct UsesPermit2.Witness", "components": [ { "name": "witnessHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "witnessTypeString", "type": "string", "internalType": "string" } ] } ], "stateMutability": "pure" }, { "type": "function", "name": "tokenAdmin", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "token", "type": "address", "internalType": "address" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "Enter", "inputs": [ { "name": "rollupChainId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "rollupRecipient", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "EnterConfigured", "inputs": [ { "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "canEnter", "type": "bool", "indexed": true, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "EnterToken", "inputs": [ { "name": "rollupChainId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "rollupRecipient", "type": "address", "indexed": true, "internalType": "address" }, { "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Withdrawal", "inputs": [ { "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "error", "name": "AddressEmptyCode", "inputs": [ { "name": "target", "type": "address", "internalType": "address" } ] }, { "type": "error", "name": "DisallowedEnter", "inputs": [ { "name": "token", "type": "address", "internalType": "address" } ] }, { "type": "error", "name": "FailedCall", "inputs": [] }, { "type": "error", "name": "InsufficientBalance", "inputs": [ { "name": "balance", "type": "uint256", "internalType": "uint256" }, { "name": "needed", "type": "uint256", "internalType": "uint256" } ] }, { "type": "error", "name": "OnlyTokenAdmin", "inputs": [] }, { "type": "error", "name": "ReentrancyGuardReentrantCall", "inputs": [] }, { "type": "error", "name": "SafeERC20FailedOperation", "inputs": [ { "name": "token", "type": "address", "internalType": "address" } ] } ]