UNPKG

@hashflow/contracts-evm

Version:

EVM Smart Contracts for Solidity

1,539 lines 48.1 kB
[ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "guardian", "type": "address" } ], "name": "UpdateLimitOrderGuardian", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "pool", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "authorized", "type": "bool" } ], "name": "UpdatePoolAuthorizaton", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pool", "type": "address" }, { "indexed": false, "internalType": "uint16", "name": "otherHashflowChainId", "type": "uint16" }, { "indexed": false, "internalType": "bytes32", "name": "caller", "type": "bytes32" }, { "indexed": false, "internalType": "bool", "name": "authorized", "type": "bool" } ], "name": "UpdateXChainCallerAuthorization", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pool", "type": "address" }, { "indexed": false, "internalType": "address", "name": "xChainMessenger", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "authorized", "type": "bool" } ], "name": "UpdateXChainMessengerAuthorization", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "callee", "type": "address" }, { "indexed": false, "internalType": "address", "name": "xChainMessenger", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "authorized", "type": "bool" } ], "name": "UpdateXChainMessengerCallerAuthorization", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pool", "type": "address" }, { "indexed": false, "internalType": "uint16", "name": "otherHashflowChainId", "type": "uint16" }, { "indexed": false, "internalType": "bytes32", "name": "otherChainPool", "type": "bytes32" }, { "indexed": false, "internalType": "bool", "name": "authorized", "type": "bool" } ], "name": "UpdateXChainPoolAuthorization", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "pool", "type": "address" } ], "name": "authorizedPools", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "dstContract", "type": "address" }, { "internalType": "uint16", "name": "srcHashflowChainId", "type": "uint16" }, { "internalType": "bytes32", "name": "caller", "type": "bytes32" } ], "name": "authorizedXChainCallers", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "callee", "type": "address" }, { "internalType": "address", "name": "messenger", "type": "address" } ], "name": "authorizedXChainMessengersByCallee", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pool", "type": "address" }, { "internalType": "address", "name": "messenger", "type": "address" } ], "name": "authorizedXChainMessengersByPool", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "dstPool", "type": "bytes32" }, { "internalType": "uint16", "name": "srcHChainId", "type": "uint16" }, { "internalType": "bytes32", "name": "srcPool", "type": "bytes32" } ], "name": "authorizedXChainPools", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "factory", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint16", "name": "srcHashflowChainId", "type": "uint16" }, { "internalType": "bytes32", "name": "srcPool", "type": "bytes32" }, { "internalType": "address", "name": "dstPool", "type": "address" }, { "internalType": "address", "name": "dstExternalAccount", "type": "address" }, { "internalType": "address", "name": "dstTrader", "type": "address" }, { "internalType": "address", "name": "quoteToken", "type": "address" }, { "internalType": "uint256", "name": "quoteTokenAmount", "type": "uint256" }, { "internalType": "bytes32", "name": "txid", "type": "bytes32" }, { "internalType": "bytes32", "name": "srcCaller", "type": "bytes32" }, { "internalType": "address", "name": "dstContract", "type": "address" }, { "internalType": "bytes", "name": "dstContractCalldata", "type": "bytes" } ], "internalType": "struct IHashflowRouter.XChainFillMessage", "name": "fillMessage", "type": "tuple" } ], "name": "fillXChain", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pool", "type": "address" } ], "name": "forceUnauthorizePool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "factory", "type": "address" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pool", "type": "address" }, { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "killswitchPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "address", "name": "pool", "type": "address" }, { "internalType": "address", "name": "externalAccount", "type": "address" }, { "internalType": "address", "name": "trader", "type": "address" }, { "internalType": "address", "name": "baseToken", "type": "address" }, { "internalType": "address", "name": "quoteToken", "type": "address" }, { "internalType": "uint256", "name": "baseTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "quoteTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "quoteExpiry", "type": "uint256" }, { "internalType": "bytes32", "name": "txid", "type": "bytes32" }, { "internalType": "bytes", "name": "takerSignature", "type": "bytes" }, { "internalType": "bytes", "name": "makerSignature", "type": "bytes" } ], "internalType": "struct IQuote.RFQMQuote", "name": "quote", "type": "tuple" } ], "name": "tradeRFQM", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "address", "name": "pool", "type": "address" }, { "internalType": "address", "name": "externalAccount", "type": "address" }, { "internalType": "address", "name": "trader", "type": "address" }, { "internalType": "address", "name": "baseToken", "type": "address" }, { "internalType": "address", "name": "quoteToken", "type": "address" }, { "internalType": "uint256", "name": "baseTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "quoteTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "quoteExpiry", "type": "uint256" }, { "internalType": "bytes32", "name": "txid", "type": "bytes32" }, { "internalType": "bytes", "name": "takerSignature", "type": "bytes" }, { "internalType": "bytes", "name": "makerSignature", "type": "bytes" } ], "internalType": "struct IQuote.RFQMQuote", "name": "quote", "type": "tuple" }, { "internalType": "bytes", "name": "guardianSignature", "type": "bytes" } ], "name": "tradeRFQMLimitOrder", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "address", "name": "pool", "type": "address" }, { "internalType": "address", "name": "externalAccount", "type": "address" }, { "internalType": "address", "name": "trader", "type": "address" }, { "internalType": "address", "name": "baseToken", "type": "address" }, { "internalType": "address", "name": "quoteToken", "type": "address" }, { "internalType": "uint256", "name": "baseTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "quoteTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "quoteExpiry", "type": "uint256" }, { "internalType": "bytes32", "name": "txid", "type": "bytes32" }, { "internalType": "bytes", "name": "takerSignature", "type": "bytes" }, { "internalType": "bytes", "name": "makerSignature", "type": "bytes" } ], "internalType": "struct IQuote.RFQMQuote", "name": "quote", "type": "tuple" }, { "internalType": "bytes", "name": "guardianSignature", "type": "bytes" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" }, { "internalType": "uint256", "name": "amountToApprove", "type": "uint256" } ], "name": "tradeRFQMLimitOrderWithPermit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "address", "name": "pool", "type": "address" }, { "internalType": "address", "name": "externalAccount", "type": "address" }, { "internalType": "address", "name": "trader", "type": "address" }, { "internalType": "address", "name": "baseToken", "type": "address" }, { "internalType": "address", "name": "quoteToken", "type": "address" }, { "internalType": "uint256", "name": "baseTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "quoteTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "quoteExpiry", "type": "uint256" }, { "internalType": "bytes32", "name": "txid", "type": "bytes32" }, { "internalType": "bytes", "name": "takerSignature", "type": "bytes" }, { "internalType": "bytes", "name": "makerSignature", "type": "bytes" } ], "internalType": "struct IQuote.RFQMQuote", "name": "quote", "type": "tuple" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" }, { "internalType": "uint256", "name": "amountToApprove", "type": "uint256" } ], "name": "tradeRFQMWithPermit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "address", "name": "pool", "type": "address" }, { "internalType": "address", "name": "externalAccount", "type": "address" }, { "internalType": "address", "name": "trader", "type": "address" }, { "internalType": "address", "name": "effectiveTrader", "type": "address" }, { "internalType": "address", "name": "baseToken", "type": "address" }, { "internalType": "address", "name": "quoteToken", "type": "address" }, { "internalType": "uint256", "name": "effectiveBaseTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "baseTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "quoteTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "quoteExpiry", "type": "uint256" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes32", "name": "txid", "type": "bytes32" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "internalType": "struct IQuote.RFQTQuote", "name": "quote", "type": "tuple" } ], "name": "tradeRFQT", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "address", "name": "pool", "type": "address" }, { "internalType": "address", "name": "externalAccount", "type": "address" }, { "internalType": "address", "name": "trader", "type": "address" }, { "internalType": "address", "name": "effectiveTrader", "type": "address" }, { "internalType": "address", "name": "baseToken", "type": "address" }, { "internalType": "address", "name": "quoteToken", "type": "address" }, { "internalType": "uint256", "name": "effectiveBaseTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "baseTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "quoteTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "quoteExpiry", "type": "uint256" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes32", "name": "txid", "type": "bytes32" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "internalType": "struct IQuote.RFQTQuote", "name": "quote", "type": "tuple" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" }, { "internalType": "uint256", "name": "amountToApprove", "type": "uint256" } ], "name": "tradeRFQTWithPermit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint16", "name": "srcChainId", "type": "uint16" }, { "internalType": "uint16", "name": "dstChainId", "type": "uint16" }, { "internalType": "address", "name": "srcPool", "type": "address" }, { "internalType": "bytes32", "name": "dstPool", "type": "bytes32" }, { "internalType": "address", "name": "srcExternalAccount", "type": "address" }, { "internalType": "bytes32", "name": "dstExternalAccount", "type": "bytes32" }, { "internalType": "address", "name": "trader", "type": "address" }, { "internalType": "bytes32", "name": "dstTrader", "type": "bytes32" }, { "internalType": "address", "name": "baseToken", "type": "address" }, { "internalType": "bytes32", "name": "quoteToken", "type": "bytes32" }, { "internalType": "uint256", "name": "baseTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "quoteTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "quoteExpiry", "type": "uint256" }, { "internalType": "bytes32", "name": "txid", "type": "bytes32" }, { "internalType": "address", "name": "xChainMessenger", "type": "address" }, { "internalType": "bytes", "name": "takerSignature", "type": "bytes" }, { "internalType": "bytes", "name": "makerSignature", "type": "bytes" } ], "internalType": "struct IQuote.XChainRFQMQuote", "name": "quote", "type": "tuple" }, { "internalType": "bytes32", "name": "dstContract", "type": "bytes32" }, { "internalType": "bytes", "name": "dstCalldata", "type": "bytes" } ], "name": "tradeXChainRFQM", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint16", "name": "srcChainId", "type": "uint16" }, { "internalType": "uint16", "name": "dstChainId", "type": "uint16" }, { "internalType": "address", "name": "srcPool", "type": "address" }, { "internalType": "bytes32", "name": "dstPool", "type": "bytes32" }, { "internalType": "address", "name": "srcExternalAccount", "type": "address" }, { "internalType": "bytes32", "name": "dstExternalAccount", "type": "bytes32" }, { "internalType": "address", "name": "trader", "type": "address" }, { "internalType": "bytes32", "name": "dstTrader", "type": "bytes32" }, { "internalType": "address", "name": "baseToken", "type": "address" }, { "internalType": "bytes32", "name": "quoteToken", "type": "bytes32" }, { "internalType": "uint256", "name": "baseTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "quoteTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "quoteExpiry", "type": "uint256" }, { "internalType": "bytes32", "name": "txid", "type": "bytes32" }, { "internalType": "address", "name": "xChainMessenger", "type": "address" }, { "internalType": "bytes", "name": "takerSignature", "type": "bytes" }, { "internalType": "bytes", "name": "makerSignature", "type": "bytes" } ], "internalType": "struct IQuote.XChainRFQMQuote", "name": "quote", "type": "tuple" }, { "internalType": "bytes32", "name": "dstContract", "type": "bytes32" }, { "internalType": "bytes", "name": "dstCalldata", "type": "bytes" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" }, { "internalType": "uint256", "name": "amountToApprove", "type": "uint256" } ], "name": "tradeXChainRFQMWithPermit", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint16", "name": "srcChainId", "type": "uint16" }, { "internalType": "uint16", "name": "dstChainId", "type": "uint16" }, { "internalType": "address", "name": "srcPool", "type": "address" }, { "internalType": "bytes32", "name": "dstPool", "type": "bytes32" }, { "internalType": "address", "name": "srcExternalAccount", "type": "address" }, { "internalType": "bytes32", "name": "dstExternalAccount", "type": "bytes32" }, { "internalType": "bytes32", "name": "dstTrader", "type": "bytes32" }, { "internalType": "address", "name": "baseToken", "type": "address" }, { "internalType": "bytes32", "name": "quoteToken", "type": "bytes32" }, { "internalType": "uint256", "name": "effectiveBaseTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "baseTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "quoteTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "quoteExpiry", "type": "uint256" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes32", "name": "txid", "type": "bytes32" }, { "internalType": "address", "name": "xChainMessenger", "type": "address" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "internalType": "struct IQuote.XChainRFQTQuote", "name": "quote", "type": "tuple" }, { "internalType": "bytes32", "name": "dstContract", "type": "bytes32" }, { "internalType": "bytes", "name": "dstCalldata", "type": "bytes" } ], "name": "tradeXChainRFQT", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint16", "name": "srcChainId", "type": "uint16" }, { "internalType": "uint16", "name": "dstChainId", "type": "uint16" }, { "internalType": "address", "name": "srcPool", "type": "address" }, { "internalType": "bytes32", "name": "dstPool", "type": "bytes32" }, { "internalType": "address", "name": "srcExternalAccount", "type": "address" }, { "internalType": "bytes32", "name": "dstExternalAccount", "type": "bytes32" }, { "internalType": "bytes32", "name": "dstTrader", "type": "bytes32" }, { "internalType": "address", "name": "baseToken", "type": "address" }, { "internalType": "bytes32", "name": "quoteToken", "type": "bytes32" }, { "internalType": "uint256", "name": "effectiveBaseTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "baseTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "quoteTokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "quoteExpiry", "type": "uint256" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes32", "name": "txid", "type": "bytes32" }, { "internalType": "address", "name": "xChainMessenger", "type": "address" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "internalType": "struct IQuote.XChainRFQTQuote", "name": "quote", "type": "tuple" }, { "internalType": "bytes32", "name": "dstContract", "type": "bytes32" }, { "internalType": "bytes", "name": "dstCalldata", "type": "bytes" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" }, { "internalType": "uint256", "name": "amountToApprove", "type": "uint256" } ], "name": "tradeXChainRFQTWithPermit", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "guardian", "type": "address" } ], "name": "updateLimitOrderGuardian", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pool", "type": "address" }, { "internalType": "bool", "name": "authorized", "type": "bool" } ], "name": "updatePoolAuthorization", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "otherHashflowChainId", "type": "uint16" }, { "internalType": "bytes32", "name": "caller", "type": "bytes32" }, { "internalType": "bool", "name": "authorized", "type": "bool" } ], "name": "updateXChainCallerAuthorization", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "xChainMessenger", "type": "address" }, { "internalType": "bool", "name": "authorized", "type": "bool" } ], "name": "updateXChainMessengerAuthorization", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "xChainMessenger", "type": "address" }, { "internalType": "bool", "name": "authorized", "type": "bool" } ], "name": "updateXChainMessengerCallerAuthorization", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "otherHashflowChainId", "type": "uint16" }, { "internalType": "bytes32", "name": "otherPool", "type": "bytes32" }, { "internalType": "bool", "name": "authorized", "type": "bool" } ], "name": "updateXChainPoolAuthorization", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "withdrawFunds", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]