[ { "type": "constructor", "inputs": [ { "name": "registry_", "type": "address", "internalType": "address" }, { "name": "platformRecipient_", "type": "address", "internalType": "address" }, { "name": "guardian_", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "name": "EnforcedPause", "type": "error", "inputs": [] }, { "name": "ExpectedPause", "type": "error", "inputs": [] }, { "name": "FailedCall", "type": "error", "inputs": [] }, { "name": "IncorrectValue", "type": "error", "inputs": [] }, { "name": "InsufficientBalance", "type": "error", "inputs": [ { "name": "balance", "type": "uint256", "internalType": "uint256" }, { "name": "needed", "type": "uint256", "internalType": "uint256" } ] }, { "name": "InvalidFill", "type": "error", "inputs": [] }, { "name": "InvalidMembershipToken", "type": "error", "inputs": [] }, { "name": "InvalidOrder", "type": "error", "inputs": [] }, { "name": "InvalidRecipient", "type": "error", "inputs": [] }, { "name": "InvalidShortString", "type": "error", "inputs": [] }, { "name": "InvalidSignature", "type": "error", "inputs": [] }, { "name": "MakerOnly", "type": "error", "inputs": [] }, { "name": "MembershipAlreadyActivated", "type": "error", "inputs": [] }, { "name": "NonExactTransfer", "type": "error", "inputs": [ { "name": "token", "type": "address", "internalType": "address" } ] }, { "name": "OrderExpired", "type": "error", "inputs": [] }, { "name": "OrderUnavailable", "type": "error", "inputs": [] }, { "name": "OwnableInvalidOwner", "type": "error", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" } ] }, { "name": "OwnableUnauthorizedAccount", "type": "error", "inputs": [ { "name": "account", "type": "address", "internalType": "address" } ] }, { "name": "ReentrancyGuardReentrantCall", "type": "error", "inputs": [] }, { "name": "SafeERC20FailedOperation", "type": "error", "inputs": [ { "name": "token", "type": "address", "internalType": "address" } ] }, { "name": "StringTooLong", "type": "error", "inputs": [ { "name": "str", "type": "string", "internalType": "string" } ] }, { "name": "UnsupportedNativeBuy", "type": "error", "inputs": [] }, { "name": "EIP712DomainChanged", "type": "event", "inputs": [], "anonymous": false }, { "name": "FeeReserveRefunded", "type": "event", "inputs": [ { "name": "orderHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "maker", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "name": "FundedOrderCreated", "type": "event", "inputs": [ { "name": "orderHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "maker", "type": "address", "indexed": true, "internalType": "address" }, { "name": "marketId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "order", "type": "tuple", "indexed": false, "components": [ { "name": "marketId", "type": "uint256", "internalType": "uint256" }, { "name": "maker", "type": "address", "internalType": "address" }, { "name": "quoteToken", "type": "address", "internalType": "address" }, { "name": "baseAmount", "type": "uint256", "internalType": "uint256" }, { "name": "quoteAmount", "type": "uint256", "internalType": "uint256" }, { "name": "expiry", "type": "uint64", "internalType": "uint64" }, { "name": "salt", "type": "uint256", "internalType": "uint256" }, { "name": "side", "type": "uint8", "internalType": "uint8" }, { "name": "escrow", "type": "bool", "internalType": "bool" } ], "internalType": "struct SidelotExchange.Order" }, { "name": "deposited", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "name": "MembershipTokenActivated", "type": "event", "inputs": [ { "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "decimals", "type": "uint8", "indexed": false, "internalType": "uint8" }, { "name": "minimumBalance", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "name": "OrderCancelled", "type": "event", "inputs": [ { "name": "orderHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "maker", "type": "address", "indexed": true, "internalType": "address" }, { "name": "refundTo", "type": "address", "indexed": true, "internalType": "address" }, { "name": "refunded", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "name": "OrderFilled", "type": "event", "inputs": [ { "name": "orderHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "maker", "type": "address", "indexed": true, "internalType": "address" }, { "name": "taker", "type": "address", "indexed": true, "internalType": "address" }, { "name": "marketId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "baseAmount", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "quoteAmount", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "launcherFee", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "platformFee", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "cumulativeBase", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "name": "OwnershipTransferStarted", "type": "event", "inputs": [ { "name": "previousOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "name": "OwnershipTransferred", "type": "event", "inputs": [ { "name": "previousOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "name": "Paused", "type": "event", "inputs": [ { "name": "account", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "name": "Unpaused", "type": "event", "inputs": [ { "name": "account", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "name": "BPS_DENOMINATOR", "type": "function", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "name": "BUYER_FEE_BPS", "type": "function", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "name": "FEE_POLICY_VERSION", "type": "function", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "name": "FOUNDING_MARKET_COUNT", "type": "function", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "name": "LAUNCHER_FEE_BPS", "type": "function", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "name": "MINIMUM_HOLDER_TOKENS", "type": "function", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "name": "ORDER_TYPEHASH", "type": "function", "inputs": [], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "name": "acceptOwnership", "type": "function", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "name": "activateMembershipToken", "type": "function", "inputs": [ { "name": "token", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "name": "cancelOrder", "type": "function", "inputs": [ { "name": "order", "type": "tuple", "components": [ { "name": "marketId", "type": "uint256", "internalType": "uint256" }, { "name": "maker", "type": "address", "internalType": "address" }, { "name": "quoteToken", "type": "address", "internalType": "address" }, { "name": "baseAmount", "type": "uint256", "internalType": "uint256" }, { "name": "quoteAmount", "type": "uint256", "internalType": "uint256" }, { "name": "expiry", "type": "uint64", "internalType": "uint64" }, { "name": "salt", "type": "uint256", "internalType": "uint256" }, { "name": "side", "type": "uint8", "internalType": "uint8" }, { "name": "escrow", "type": "bool", "internalType": "bool" } ], "internalType": "struct SidelotExchange.Order" }, { "name": "refundTo", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "name": "cancelled", "type": "function", "inputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "name": "createFundedOrder", "type": "function", "inputs": [ { "name": "order", "type": "tuple", "components": [ { "name": "marketId", "type": "uint256", "internalType": "uint256" }, { "name": "maker", "type": "address", "internalType": "address" }, { "name": "quoteToken", "type": "address", "internalType": "address" }, { "name": "baseAmount", "type": "uint256", "internalType": "uint256" }, { "name": "quoteAmount", "type": "uint256", "internalType": "uint256" }, { "name": "expiry", "type": "uint64", "internalType": "uint64" }, { "name": "salt", "type": "uint256", "internalType": "uint256" }, { "name": "side", "type": "uint8", "internalType": "uint8" }, { "name": "escrow", "type": "bool", "internalType": "bool" } ], "internalType": "struct SidelotExchange.Order" } ], "outputs": [], "stateMutability": "payable" }, { "name": "eip712Domain", "type": "function", "inputs": [], "outputs": [ { "name": "fields", "type": "bytes1", "internalType": "bytes1" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "version", "type": "string", "internalType": "string" }, { "name": "chainId", "type": "uint256", "internalType": "uint256" }, { "name": "verifyingContract", "type": "address", "internalType": "address" }, { "name": "salt", "type": "bytes32", "internalType": "bytes32" }, { "name": "extensions", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "name": "escrowRemaining", "type": "function", "inputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "name": "expireOrder", "type": "function", "inputs": [ { "name": "order", "type": "tuple", "components": [ { "name": "marketId", "type": "uint256", "internalType": "uint256" }, { "name": "maker", "type": "address", "internalType": "address" }, { "name": "quoteToken", "type": "address", "internalType": "address" }, { "name": "baseAmount", "type": "uint256", "internalType": "uint256" }, { "name": "quoteAmount", "type": "uint256", "internalType": "uint256" }, { "name": "expiry", "type": "uint64", "internalType": "uint64" }, { "name": "salt", "type": "uint256", "internalType": "uint256" }, { "name": "side", "type": "uint8", "internalType": "uint8" }, { "name": "escrow", "type": "bool", "internalType": "bool" } ], "internalType": "struct SidelotExchange.Order" } ], "outputs": [], "stateMutability": "nonpayable" }, { "name": "fillOrder", "type": "function", "inputs": [ { "name": "order", "type": "tuple", "components": [ { "name": "marketId", "type": "uint256", "internalType": "uint256" }, { "name": "maker", "type": "address", "internalType": "address" }, { "name": "quoteToken", "type": "address", "internalType": "address" }, { "name": "baseAmount", "type": "uint256", "internalType": "uint256" }, { "name": "quoteAmount", "type": "uint256", "internalType": "uint256" }, { "name": "expiry", "type": "uint64", "internalType": "uint64" }, { "name": "salt", "type": "uint256", "internalType": "uint256" }, { "name": "side", "type": "uint8", "internalType": "uint8" }, { "name": "escrow", "type": "bool", "internalType": "bool" } ], "internalType": "struct SidelotExchange.Order" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }, { "name": "maxBuyerTotal", "type": "uint256", "internalType": "uint256" }, { "name": "minSellerProceeds", "type": "uint256", "internalType": "uint256" }, { "name": "signature", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "payable" }, { "name": "filledBase", "type": "function", "inputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "name": "funded", "type": "function", "inputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "name": "fundedOrderCount", "type": "function", "inputs": [ { "name": "marketId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "name": "fundedOrderDeposit", "type": "function", "inputs": [ { "name": "order", "type": "tuple", "components": [ { "name": "marketId", "type": "uint256", "internalType": "uint256" }, { "name": "maker", "type": "address", "internalType": "address" }, { "name": "quoteToken", "type": "address", "internalType": "address" }, { "name": "baseAmount", "type": "uint256", "internalType": "uint256" }, { "name": "quoteAmount", "type": "uint256", "internalType": "uint256" }, { "name": "expiry", "type": "uint64", "internalType": "uint64" }, { "name": "salt", "type": "uint256", "internalType": "uint256" }, { "name": "side", "type": "uint8", "internalType": "uint8" }, { "name": "escrow", "type": "bool", "internalType": "bool" } ], "internalType": "struct SidelotExchange.Order" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "pure" }, { "name": "getFundedOrder", "type": "function", "inputs": [ { "name": "marketId", "type": "uint256", "internalType": "uint256" }, { "name": "index", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "tuple", "components": [ { "name": "marketId", "type": "uint256", "internalType": "uint256" }, { "name": "maker", "type": "address", "internalType": "address" }, { "name": "quoteToken", "type": "address", "internalType": "address" }, { "name": "baseAmount", "type": "uint256", "internalType": "uint256" }, { "name": "quoteAmount", "type": "uint256", "internalType": "uint256" }, { "name": "expiry", "type": "uint64", "internalType": "uint64" }, { "name": "salt", "type": "uint256", "internalType": "uint256" }, { "name": "side", "type": "uint8", "internalType": "uint8" }, { "name": "escrow", "type": "bool", "internalType": "bool" } ], "internalType": "struct SidelotExchange.Order" } ], "stateMutability": "view" }, { "name": "hashOrder", "type": "function", "inputs": [ { "name": "order", "type": "tuple", "components": [ { "name": "marketId", "type": "uint256", "internalType": "uint256" }, { "name": "maker", "type": "address", "internalType": "address" }, { "name": "quoteToken", "type": "address", "internalType": "address" }, { "name": "baseAmount", "type": "uint256", "internalType": "uint256" }, { "name": "quoteAmount", "type": "uint256", "internalType": "uint256" }, { "name": "expiry", "type": "uint64", "internalType": "uint64" }, { "name": "salt", "type": "uint256", "internalType": "uint256" }, { "name": "side", "type": "uint8", "internalType": "uint8" }, { "name": "escrow", "type": "bool", "internalType": "bool" } ], "internalType": "struct SidelotExchange.Order" } ], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "name": "isHolderExempt", "type": "function", "inputs": [ { "name": "buyer", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "name": "membershipToken", "type": "function", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "name": "membershipTokenDecimals", "type": "function", "inputs": [], "outputs": [ { "name": "", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "view" }, { "name": "minimumHolderBalance", "type": "function", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "name": "owner", "type": "function", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "name": "pause", "type": "function", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "name": "paused", "type": "function", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "name": "pendingOwner", "type": "function", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "name": "platformRecipient", "type": "function", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "name": "quoteFill", "type": "function", "inputs": [ { "name": "order", "type": "tuple", "components": [ { "name": "marketId", "type": "uint256", "internalType": "uint256" }, { "name": "maker", "type": "address", "internalType": "address" }, { "name": "quoteToken", "type": "address", "internalType": "address" }, { "name": "baseAmount", "type": "uint256", "internalType": "uint256" }, { "name": "quoteAmount", "type": "uint256", "internalType": "uint256" }, { "name": "expiry", "type": "uint64", "internalType": "uint64" }, { "name": "salt", "type": "uint256", "internalType": "uint256" }, { "name": "side", "type": "uint8", "internalType": "uint8" }, { "name": "escrow", "type": "bool", "internalType": "bool" } ], "internalType": "struct SidelotExchange.Order" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }, { "name": "taker", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "tuple", "components": [ { "name": "quoteAmount", "type": "uint256", "internalType": "uint256" }, { "name": "launcherFee", "type": "uint256", "internalType": "uint256" }, { "name": "platformFee", "type": "uint256", "internalType": "uint256" }, { "name": "buyerTotal", "type": "uint256", "internalType": "uint256" }, { "name": "waivedPlatformFee", "type": "uint256", "internalType": "uint256" }, { "name": "holderExempt", "type": "bool", "internalType": "bool" }, { "name": "foundingMarket", "type": "bool", "internalType": "bool" } ], "internalType": "struct SidelotExchange.FillQuote" } ], "stateMutability": "view" }, { "name": "registry", "type": "function", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "contract SidelotMarketRegistry" } ], "stateMutability": "view" }, { "name": "renounceOwnership", "type": "function", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "name": "transferOwnership", "type": "function", "inputs": [ { "name": "newOwner", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "name": "unpause", "type": "function", "inputs": [], "outputs": [], "stateMutability": "nonpayable" } ]