packages/contracts-rfq/deployments/scroll_sepolia/FastBridge.json
{
"address": "0x9954032c0269E62ea9d5084B073038219349a7b6",
"constructorArgs": "0x000000000000000000000000b33f4ba8a4893854d03abf45d9b692ebdf09406f",
"receipt": {
"hash": "0xb1e1fd448643d5c9eca79ac08e4c2bd5dd23c424eed835052c2f97dcf012eb4e",
"blockNumber": 5546597
},
"abi": [
{
"type": "constructor",
"inputs": [
{
"name": "_owner",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "DEFAULT_ADMIN_ROLE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "DISPUTE_PERIOD",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "FEE_BPS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "FEE_RATE_MAX",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "GOVERNOR_ROLE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "GUARD_ROLE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MIN_DEADLINE_PERIOD",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "REFUNDER_ROLE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "REFUND_DELAY",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "RELAYER_ROLE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "bridge",
"inputs": [
{
"name": "params",
"type": "tuple",
"internalType": "struct IFastBridge.BridgeParams",
"components": [
{
"name": "dstChainId",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "sender",
"type": "address",
"internalType": "address"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "originToken",
"type": "address",
"internalType": "address"
},
{
"name": "destToken",
"type": "address",
"internalType": "address"
},
{
"name": "originAmount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "destAmount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "sendChainGas",
"type": "bool",
"internalType": "bool"
},
{
"name": "deadline",
"type": "uint256",
"internalType": "uint256"
}
]
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "bridgeProofs",
"inputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "timestamp",
"type": "uint96",
"internalType": "uint96"
},
{
"name": "relayer",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "bridgeRelays",
"inputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "bridgeStatuses",
"inputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "",
"type": "uint8",
"internalType": "enum FastBridge.BridgeStatus"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "canClaim",
"inputs": [
{
"name": "transactionId",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "relayer",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "chainGasAmount",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "claim",
"inputs": [
{
"name": "request",
"type": "bytes",
"internalType": "bytes"
},
{
"name": "to",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "deployBlock",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "dispute",
"inputs": [
{
"name": "transactionId",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "getBridgeTransaction",
"inputs": [
{
"name": "request",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [
{
"name": "",
"type": "tuple",
"internalType": "struct IFastBridge.BridgeTransaction",
"components": [
{
"name": "originChainId",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "destChainId",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "originSender",
"type": "address",
"internalType": "address"
},
{
"name": "destRecipient",
"type": "address",
"internalType": "address"
},
{
"name": "originToken",
"type": "address",
"internalType": "address"
},
{
"name": "destToken",
"type": "address",
"internalType": "address"
},
{
"name": "originAmount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "destAmount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "originFeeAmount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "sendChainGas",
"type": "bool",
"internalType": "bool"
},
{
"name": "deadline",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "nonce",
"type": "uint256",
"internalType": "uint256"
}
]
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "getRoleAdmin",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getRoleMember",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "index",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getRoleMemberCount",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "grantRole",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "hasRole",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "nonce",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "protocolFeeRate",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "protocolFees",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "prove",
"inputs": [
{
"name": "request",
"type": "bytes",
"internalType": "bytes"
},
{
"name": "destTxHash",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "refund",
"inputs": [
{
"name": "request",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "relay",
"inputs": [
{
"name": "request",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "renounceRole",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "callerConfirmation",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "revokeRole",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setChainGasAmount",
"inputs": [
{
"name": "newChainGasAmount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setProtocolFeeRate",
"inputs": [
{
"name": "newFeeRate",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "supportsInterface",
"inputs": [
{
"name": "interfaceId",
"type": "bytes4",
"internalType": "bytes4"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "sweepProtocolFees",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "recipient",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "event",
"name": "BridgeDepositClaimed",
"inputs": [
{
"name": "transactionId",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "relayer",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "token",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "BridgeDepositRefunded",
"inputs": [
{
"name": "transactionId",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "token",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "BridgeProofDisputed",
"inputs": [
{
"name": "transactionId",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "relayer",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "BridgeProofProvided",
"inputs": [
{
"name": "transactionId",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "relayer",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "transactionHash",
"type": "bytes32",
"indexed": false,
"internalType": "bytes32"
}
],
"anonymous": false
},
{
"type": "event",
"name": "BridgeRelayed",
"inputs": [
{
"name": "transactionId",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "relayer",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "originChainId",
"type": "uint32",
"indexed": false,
"internalType": "uint32"
},
{
"name": "originToken",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "destToken",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "originAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "destAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "chainGasAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "BridgeRequested",
"inputs": [
{
"name": "transactionId",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "sender",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "request",
"type": "bytes",
"indexed": false,
"internalType": "bytes"
},
{
"name": "destChainId",
"type": "uint32",
"indexed": false,
"internalType": "uint32"
},
{
"name": "originToken",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "destToken",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "originAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "destAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "sendChainGas",
"type": "bool",
"indexed": false,
"internalType": "bool"
}
],
"anonymous": false
},
{
"type": "event",
"name": "ChainGasAmountUpdated",
"inputs": [
{
"name": "oldChainGasAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "newChainGasAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "FeeRateUpdated",
"inputs": [
{
"name": "oldFeeRate",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "newFeeRate",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "FeesSwept",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "recipient",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "RoleAdminChanged",
"inputs": [
{
"name": "role",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "previousAdminRole",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "newAdminRole",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
}
],
"anonymous": false
},
{
"type": "event",
"name": "RoleGranted",
"inputs": [
{
"name": "role",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "sender",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "RoleRevoked",
"inputs": [
{
"name": "role",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "sender",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "error",
"name": "AccessControlBadConfirmation",
"inputs": []
},
{
"type": "error",
"name": "AccessControlUnauthorizedAccount",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "neededRole",
"type": "bytes32",
"internalType": "bytes32"
}
]
},
{
"type": "error",
"name": "AddressEmptyCode",
"inputs": [
{
"name": "target",
"type": "address",
"internalType": "address"
}
]
},
{
"type": "error",
"name": "AddressInsufficientBalance",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
]
},
{
"type": "error",
"name": "AmountIncorrect",
"inputs": []
},
{
"type": "error",
"name": "ChainIncorrect",
"inputs": []
},
{
"type": "error",
"name": "DeadlineExceeded",
"inputs": []
},
{
"type": "error",
"name": "DeadlineNotExceeded",
"inputs": []
},
{
"type": "error",
"name": "DeadlineTooShort",
"inputs": []
},
{
"type": "error",
"name": "DisputePeriodNotPassed",
"inputs": []
},
{
"type": "error",
"name": "DisputePeriodPassed",
"inputs": []
},
{
"type": "error",
"name": "FailedInnerCall",
"inputs": []
},
{
"type": "error",
"name": "MsgValueIncorrect",
"inputs": []
},
{
"type": "error",
"name": "SafeERC20FailedOperation",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
]
},
{
"type": "error",
"name": "SenderIncorrect",
"inputs": []
},
{
"type": "error",
"name": "StatusIncorrect",
"inputs": []
},
{
"type": "error",
"name": "TokenNotContract",
"inputs": []
},
{
"type": "error",
"name": "TransactionRelayed",
"inputs": []
},
{
"type": "error",
"name": "ZeroAddress",
"inputs": []
}
]
}