UNPKG

openzeppelin-solidity

Version:

Secure Smart Contract library for Solidity

657 lines (656 loc) 14.2 kB
{ "contractName": "IRelayHub", "abi": [ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "relay", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "bytes4", "name": "selector", "type": "bytes4" }, { "indexed": false, "internalType": "uint256", "name": "reason", "type": "uint256" } ], "name": "CanRelayFailed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "recipient", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Deposited", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "relay", "type": "address" }, { "indexed": false, "internalType": "address", "name": "sender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Penalized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "relay", "type": "address" }, { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "transactionFee", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "stake", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "unstakeDelay", "type": "uint256" }, { "indexed": false, "internalType": "string", "name": "url", "type": "string" } ], "name": "RelayAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "relay", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "unstakeTime", "type": "uint256" } ], "name": "RelayRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "relay", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "stake", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "unstakeDelay", "type": "uint256" } ], "name": "Staked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "relay", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "bytes4", "name": "selector", "type": "bytes4" }, { "indexed": false, "internalType": "enum IRelayHub.RelayCallStatus", "name": "status", "type": "uint8" }, { "indexed": false, "internalType": "uint256", "name": "charge", "type": "uint256" } ], "name": "TransactionRelayed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "relay", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "stake", "type": "uint256" } ], "name": "Unstaked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "dest", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Withdrawn", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "target", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "relay", "type": "address" }, { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "bytes", "name": "encodedFunction", "type": "bytes" }, { "internalType": "uint256", "name": "transactionFee", "type": "uint256" }, { "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, { "internalType": "uint256", "name": "gasLimit", "type": "uint256" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }, { "internalType": "bytes", "name": "approvalData", "type": "bytes" } ], "name": "canRelay", "outputs": [ { "internalType": "uint256", "name": "status", "type": "uint256" }, { "internalType": "bytes", "name": "recipientContext", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "target", "type": "address" } ], "name": "depositFor", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" } ], "name": "getNonce", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "relay", "type": "address" } ], "name": "getRelay", "outputs": [ { "internalType": "uint256", "name": "totalStake", "type": "uint256" }, { "internalType": "uint256", "name": "unstakeDelay", "type": "uint256" }, { "internalType": "uint256", "name": "unstakeTime", "type": "uint256" }, { "internalType": "address payable", "name": "owner", "type": "address" }, { "internalType": "enum IRelayHub.RelayState", "name": "state", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "relayedCallStipend", "type": "uint256" }, { "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, { "internalType": "uint256", "name": "transactionFee", "type": "uint256" } ], "name": "maxPossibleCharge", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes", "name": "unsignedTx", "type": "bytes" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "name": "penalizeIllegalTransaction", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes", "name": "unsignedTx1", "type": "bytes" }, { "internalType": "bytes", "name": "signature1", "type": "bytes" }, { "internalType": "bytes", "name": "unsignedTx2", "type": "bytes" }, { "internalType": "bytes", "name": "signature2", "type": "bytes" } ], "name": "penalizeRepeatedNonce", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "transactionFee", "type": "uint256" }, { "internalType": "string", "name": "url", "type": "string" } ], "name": "registerRelay", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "bytes", "name": "encodedFunction", "type": "bytes" }, { "internalType": "uint256", "name": "transactionFee", "type": "uint256" }, { "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, { "internalType": "uint256", "name": "gasLimit", "type": "uint256" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }, { "internalType": "bytes", "name": "approvalData", "type": "bytes" } ], "name": "relayCall", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "relay", "type": "address" } ], "name": "removeRelayByOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "relayedCallStipend", "type": "uint256" } ], "name": "requiredGas", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "relayaddr", "type": "address" }, { "internalType": "uint256", "name": "unstakeDelay", "type": "uint256" } ], "name": "stake", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "relay", "type": "address" } ], "name": "unstake", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "address payable", "name": "dest", "type": "address" } ], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x", "deployedBytecode": "0x", "linkReferences": {}, "deployedLinkReferences": {} }