[
{
"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" }
]
}
]