[
{
"type": "constructor",
"inputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "BPS_DENOMINATOR",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "DEFAULT_ADMIN_ROLE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "KEEPER_ROLE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MAKER_ROLE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MAX_BAND_BPS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MAX_FEE_BPS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MAX_MAX_ORACLE_AGE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MAX_MAX_ORDER_DURATION",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MAX_PREMIUM_BPS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MIN_ADMIN_TRANSFER_DELAY",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint48",
"internalType": "uint48"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "MIN_MAX_ORACLE_AGE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "ORACLE_TWAP_INTERVAL",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "ORACLE_TWAP_MIN_COUNT",
"inputs": [],
"outputs": [
{
"name": "",
"type": "int256",
"internalType": "int256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "RATE_SCALE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "TAKER_ROLE",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "acceptDefaultAdminTransfer",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "accruedFees",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "bandBps",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "baseToken",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IERC20"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "beginDefaultAdminTransfer",
"inputs": [
{
"name": "newAdmin",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "canOperate",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "canTake",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "cancelDefaultAdminTransfer",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "cancelOrder",
"inputs": [
{
"name": "orderId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "cancelOrders",
"inputs": [
{
"name": "orderIds",
"type": "uint256[]",
"internalType": "uint256[]"
}
],
"outputs": [
{
"name": "closed",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "changeDefaultAdminDelay",
"inputs": [
{
"name": "newDelay",
"type": "uint48",
"internalType": "uint48"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "createOrder",
"inputs": [
{
"name": "sellToken",
"type": "address",
"internalType": "address"
},
{
"name": "sellAmount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "buyToken",
"type": "address",
"internalType": "address"
},
{
"name": "buyAmount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "expiry",
"type": "uint64",
"internalType": "uint64"
}
],
"outputs": [
{
"name": "orderId",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "createPeggedOrder",
"inputs": [
{
"name": "sellToken",
"type": "address",
"internalType": "address"
},
{
"name": "sellAmount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "premiumBps",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "minRate",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "expiry",
"type": "uint64",
"internalType": "uint64"
}
],
"outputs": [
{
"name": "orderId",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "defaultAdmin",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "defaultAdminDelay",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint48",
"internalType": "uint48"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "defaultAdminDelayIncreaseWait",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint48",
"internalType": "uint48"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "expireOrders",
"inputs": [
{
"name": "orderIds",
"type": "uint256[]",
"internalType": "uint256[]"
}
],
"outputs": [
{
"name": "closed",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "expiredOrderIds",
"inputs": [
{
"name": "offset",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "limit",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "ids",
"type": "uint256[]",
"internalType": "uint256[]"
},
{
"name": "nextOffset",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "feeBps",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "feed",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IOraklFeedProxy"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "fillOrder",
"inputs": [
{
"name": "orderId",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "sellAmountOut",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "maxAmountIn",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "forceCancelOrder",
"inputs": [
{
"name": "orderId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "getOraclePrice",
"inputs": [],
"outputs": [
{
"name": "answer",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "updatedAt",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "stale",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getOrder",
"inputs": [
{
"name": "orderId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "tuple",
"internalType": "struct IJpycUsdtSwapper.Order",
"components": [
{
"name": "maker",
"type": "address",
"internalType": "address"
},
{
"name": "expiry",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "feeBps",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "status",
"type": "uint8",
"internalType": "enum IJpycUsdtSwapper.OrderStatus"
},
{
"name": "kind",
"type": "uint8",
"internalType": "enum IJpycUsdtSwapper.OrderKind"
},
{
"name": "sellToken",
"type": "address",
"internalType": "address"
},
{
"name": "premiumBps",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "buyToken",
"type": "address",
"internalType": "address"
},
{
"name": "sellAmount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "buyAmount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "sellRemaining",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "minRate",
"type": "uint256",
"internalType": "uint256"
}
]
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getOrders",
"inputs": [
{
"name": "orderIds",
"type": "uint256[]",
"internalType": "uint256[]"
}
],
"outputs": [
{
"name": "orders",
"type": "tuple[]",
"internalType": "struct IJpycUsdtSwapper.Order[]",
"components": [
{
"name": "maker",
"type": "address",
"internalType": "address"
},
{
"name": "expiry",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "feeBps",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "status",
"type": "uint8",
"internalType": "enum IJpycUsdtSwapper.OrderStatus"
},
{
"name": "kind",
"type": "uint8",
"internalType": "enum IJpycUsdtSwapper.OrderKind"
},
{
"name": "sellToken",
"type": "address",
"internalType": "address"
},
{
"name": "premiumBps",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "buyToken",
"type": "address",
"internalType": "address"
},
{
"name": "sellAmount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "buyAmount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "sellRemaining",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "minRate",
"type": "uint256",
"internalType": "uint256"
}
]
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getRoleAdmin",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"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": "initialize",
"inputs": [
{
"name": "p",
"type": "tuple",
"internalType": "struct IJpycUsdtSwapper.InitParams",
"components": [
{
"name": "baseToken",
"type": "address",
"internalType": "address"
},
{
"name": "quoteToken",
"type": "address",
"internalType": "address"
},
{
"name": "feed",
"type": "address",
"internalType": "address"
},
{
"name": "admin",
"type": "address",
"internalType": "address"
},
{
"name": "adminTransferDelay",
"type": "uint48",
"internalType": "uint48"
},
{
"name": "feeBps",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "bandBps",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "maxOracleAge",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "maxOrderDuration",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "maxPremiumBps",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "minBaseOrderAmount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "minQuoteOrderAmount",
"type": "uint256",
"internalType": "uint256"
}
]
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "isKeeper",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "isMaker",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "isTaker",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "isWithinBand",
"inputs": [
{
"name": "sellToken",
"type": "address",
"internalType": "address"
},
{
"name": "sellAmount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "buyToken",
"type": "address",
"internalType": "address"
},
{
"name": "buyAmount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "makerOpenOrderCount",
"inputs": [
{
"name": "maker",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "makerOpenOrderIds",
"inputs": [
{
"name": "maker",
"type": "address",
"internalType": "address"
},
{
"name": "offset",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "limit",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256[]",
"internalType": "uint256[]"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "maxOracleAge",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "maxOrderDuration",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "maxPremiumBps",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "minOrderAmount",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "nextOrderId",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "openOrderCount",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "openOrderIds",
"inputs": [
{
"name": "offset",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "limit",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256[]",
"internalType": "uint256[]"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "orderStatus",
"inputs": [
{
"name": "orderId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint8",
"internalType": "enum IJpycUsdtSwapper.OrderStatus"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "owner",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "pause",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "paused",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "peggedRateNow",
"inputs": [
{
"name": "sellToken",
"type": "address",
"internalType": "address"
},
{
"name": "premiumBps",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "feeBps_",
"type": "uint16",
"internalType": "uint16"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "pendingDefaultAdmin",
"inputs": [],
"outputs": [
{
"name": "newAdmin",
"type": "address",
"internalType": "address"
},
{
"name": "schedule",
"type": "uint48",
"internalType": "uint48"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "pendingDefaultAdminDelay",
"inputs": [],
"outputs": [
{
"name": "newDelay",
"type": "uint48",
"internalType": "uint48"
},
{
"name": "schedule",
"type": "uint48",
"internalType": "uint48"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "previewFill",
"inputs": [
{
"name": "orderId",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "sellAmountOut",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "amountIn",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "fee",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "netOut",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "previewFillForAmountIn",
"inputs": [
{
"name": "orderId",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amountIn",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "sellAmountOut",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "actualAmountIn",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "fee",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "netOut",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "priceScale",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "quoteToken",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IERC20"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "renounceRole",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "account",
"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": "rollbackDefaultAdminDelay",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setBandBps",
"inputs": [
{
"name": "newBandBps",
"type": "uint16",
"internalType": "uint16"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setFeeBps",
"inputs": [
{
"name": "newFeeBps",
"type": "uint16",
"internalType": "uint16"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setMaker",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "allowed",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setMakers",
"inputs": [
{
"name": "accounts",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "allowed",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setMaxOracleAge",
"inputs": [
{
"name": "newMaxAge",
"type": "uint64",
"internalType": "uint64"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setMaxOrderDuration",
"inputs": [
{
"name": "newDuration",
"type": "uint64",
"internalType": "uint64"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setMaxPremiumBps",
"inputs": [
{
"name": "newMaxPremiumBps",
"type": "uint16",
"internalType": "uint16"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setMinOrderAmount",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "newMinimum",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setOracle",
"inputs": [
{
"name": "newFeed",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setTakerWhitelistEnabled",
"inputs": [
{
"name": "enabled",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setTakers",
"inputs": [
{
"name": "accounts",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "allowed",
"type": "bool",
"internalType": "bool"
}
],
"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": "takerWhitelistEnabled",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "unpause",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "version",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "withdrawFees",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "withdrawn",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"type": "event",
"name": "BandBpsUpdated",
"inputs": [
{
"name": "oldValue",
"type": "uint16",
"indexed": false,
"internalType": "uint16"
},
{
"name": "newValue",
"type": "uint16",
"indexed": false,
"internalType": "uint16"
}
],
"anonymous": false
},
{
"type": "event",
"name": "DefaultAdminDelayChangeCanceled",
"inputs": [],
"anonymous": false
},
{
"type": "event",
"name": "DefaultAdminDelayChangeScheduled",
"inputs": [
{
"name": "newDelay",
"type": "uint48",
"indexed": false,
"internalType": "uint48"
},
{
"name": "effectSchedule",
"type": "uint48",
"indexed": false,
"internalType": "uint48"
}
],
"anonymous": false
},
{
"type": "event",
"name": "DefaultAdminTransferCanceled",
"inputs": [],
"anonymous": false
},
{
"type": "event",
"name": "DefaultAdminTransferScheduled",
"inputs": [
{
"name": "newAdmin",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "acceptSchedule",
"type": "uint48",
"indexed": false,
"internalType": "uint48"
}
],
"anonymous": false
},
{
"type": "event",
"name": "FeeBpsUpdated",
"inputs": [
{
"name": "oldValue",
"type": "uint16",
"indexed": false,
"internalType": "uint16"
},
{
"name": "newValue",
"type": "uint16",
"indexed": false,
"internalType": "uint16"
}
],
"anonymous": false
},
{
"type": "event",
"name": "FeesWithdrawn",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Initialized",
"inputs": [
{
"name": "version",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
}
],
"anonymous": false
},
{
"type": "event",
"name": "MaxOracleAgeUpdated",
"inputs": [
{
"name": "oldValue",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
},
{
"name": "newValue",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
}
],
"anonymous": false
},
{
"type": "event",
"name": "MaxOrderDurationUpdated",
"inputs": [
{
"name": "oldValue",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
},
{
"name": "newValue",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
}
],
"anonymous": false
},
{
"type": "event",
"name": "MaxPremiumBpsUpdated",
"inputs": [
{
"name": "oldValue",
"type": "uint16",
"indexed": false,
"internalType": "uint16"
},
{
"name": "newValue",
"type": "uint16",
"indexed": false,
"internalType": "uint16"
}
],
"anonymous": false
},
{
"type": "event",
"name": "MinOrderAmountUpdated",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "oldValue",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "newValue",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OracleUpdated",
"inputs": [
{
"name": "oldFeed",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "newFeed",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "priceScale",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OrderCancelled",
"inputs": [
{
"name": "orderId",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
},
{
"name": "by",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "forced",
"type": "bool",
"indexed": false,
"internalType": "bool"
},
{
"name": "refunded",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OrderCloseSkipped",
"inputs": [
{
"name": "orderId",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
},
{
"name": "maker",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "refund",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OrderCreated",
"inputs": [
{
"name": "orderId",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
},
{
"name": "maker",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "sellToken",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "buyToken",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "sellAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "buyAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "expiry",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
},
{
"name": "feeBps",
"type": "uint16",
"indexed": false,
"internalType": "uint16"
},
{
"name": "oracleAnswer",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OrderExpiryClosed",
"inputs": [
{
"name": "orderId",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
},
{
"name": "maker",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "caller",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "refunded",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OrderFilled",
"inputs": [
{
"name": "orderId",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
},
{
"name": "taker",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "maker",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "sellToken",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "amountOut",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "amountIn",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "fee",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "sellRemaining",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Paused",
"inputs": [
{
"name": "account",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "PeggedOrderCreated",
"inputs": [
{
"name": "orderId",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
},
{
"name": "maker",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "sellToken",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "buyToken",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "sellAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "premiumBps",
"type": "uint16",
"indexed": false,
"internalType": "uint16"
},
{
"name": "minRate",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "expiry",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
},
{
"name": "feeBps",
"type": "uint16",
"indexed": false,
"internalType": "uint16"
},
{
"name": "oracleAnswer",
"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": "event",
"name": "TakerWhitelistToggled",
"inputs": [
{
"name": "oldValue",
"type": "bool",
"indexed": false,
"internalType": "bool"
},
{
"name": "newValue",
"type": "bool",
"indexed": false,
"internalType": "bool"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Unpaused",
"inputs": [
{
"name": "account",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "error",
"name": "AccessControlBadConfirmation",
"inputs": []
},
{
"type": "error",
"name": "AccessControlEnforcedDefaultAdminDelay",
"inputs": [
{
"name": "schedule",
"type": "uint48",
"internalType": "uint48"
}
]
},
{
"type": "error",
"name": "AccessControlEnforcedDefaultAdminRules",
"inputs": []
},
{
"type": "error",
"name": "AccessControlInvalidDefaultAdmin",
"inputs": [
{
"name": "defaultAdmin",
"type": "address",
"internalType": "address"
}
]
},
{
"type": "error",
"name": "AccessControlUnauthorizedAccount",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "neededRole",
"type": "bytes32",
"internalType": "bytes32"
}
]
},
{
"type": "error",
"name": "AdminDelayTooShort",
"inputs": [
{
"name": "given",
"type": "uint48",
"internalType": "uint48"
},
{
"name": "minimum",
"type": "uint48",
"internalType": "uint48"
}
]
},
{
"type": "error",
"name": "BandTooWide",
"inputs": [
{
"name": "bandBps",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "maxBandBps",
"type": "uint16",
"internalType": "uint16"
}
]
},
{
"type": "error",
"name": "BelowMakerFloor",
"inputs": [
{
"name": "amountIn",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "required",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"type": "error",
"name": "BelowMinFill",
"inputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "minimum",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"type": "error",
"name": "BelowMinOrderAmount",
"inputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "minimum",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"type": "error",
"name": "DurationTooLong",
"inputs": [
{
"name": "expiry",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "maxExpiry",
"type": "uint64",
"internalType": "uint64"
}
]
},
{
"type": "error",
"name": "EnforcedPause",
"inputs": []
},
{
"type": "error",
"name": "ExceedsAccruedFees",
"inputs": [
{
"name": "requested",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "available",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"type": "error",
"name": "ExceedsRemaining",
"inputs": [
{
"name": "requested",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "remaining",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"type": "error",
"name": "ExpectedPause",
"inputs": []
},
{
"type": "error",
"name": "FeeTooHigh",
"inputs": [
{
"name": "feeBps",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "maxFeeBps",
"type": "uint16",
"internalType": "uint16"
}
]
},
{
"type": "error",
"name": "FloorAboveMarket",
"inputs": [
{
"name": "minRate",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "currentRate",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"type": "error",
"name": "FloorTooLoose",
"inputs": [
{
"name": "minRate",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "lowest",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"type": "error",
"name": "InvalidExpiry",
"inputs": [
{
"name": "expiry",
"type": "uint64",
"internalType": "uint64"
}
]
},
{
"type": "error",
"name": "InvalidInitialization",
"inputs": []
},
{
"type": "error",
"name": "InvalidOracleAnswer",
"inputs": [
{
"name": "answer",
"type": "int256",
"internalType": "int256"
}
]
},
{
"type": "error",
"name": "InvalidTokenPair",
"inputs": [
{
"name": "sellToken",
"type": "address",
"internalType": "address"
},
{
"name": "buyToken",
"type": "address",
"internalType": "address"
}
]
},
{
"type": "error",
"name": "MinOrderAmountTooLow",
"inputs": [
{
"name": "given",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "floor",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"type": "error",
"name": "NotInitializing",
"inputs": []
},
{
"type": "error",
"name": "NotOrderMaker",
"inputs": [
{
"name": "orderId",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "caller",
"type": "address",
"internalType": "address"
}
]
},
{
"type": "error",
"name": "OracleAgeOutOfRange",
"inputs": [
{
"name": "given",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "minimum",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "maximum",
"type": "uint64",
"internalType": "uint64"
}
]
},
{
"type": "error",
"name": "OracleTwapUnavailable",
"inputs": []
},
{
"type": "error",
"name": "OrderDurationOutOfRange",
"inputs": [
{
"name": "given",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "maximum",
"type": "uint64",
"internalType": "uint64"
}
]
},
{
"type": "error",
"name": "OrderExpired",
"inputs": [
{
"name": "orderId",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "expiry",
"type": "uint64",
"internalType": "uint64"
}
]
},
{
"type": "error",
"name": "OrderNotOpen",
"inputs": [
{
"name": "orderId",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "status",
"type": "uint8",
"internalType": "enum IJpycUsdtSwapper.OrderStatus"
}
]
},
{
"type": "error",
"name": "PremiumTooHigh",
"inputs": [
{
"name": "premiumBps",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "maxPremiumBps",
"type": "uint16",
"internalType": "uint16"
}
]
},
{
"type": "error",
"name": "PriceOutOfBand",
"inputs": [
{
"name": "scaledQuote",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "lowerBound",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "upperBound",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"type": "error",
"name": "ReentrancyGuardReentrantCall",
"inputs": []
},
{
"type": "error",
"name": "SafeCastOverflowedUintDowncast",
"inputs": [
{
"name": "bits",
"type": "uint8",
"internalType": "uint8"
},
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"type": "error",
"name": "SafeERC20FailedOperation",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
]
},
{
"type": "error",
"name": "SlippageExceeded",
"inputs": [
{
"name": "amountIn",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "maxAmountIn",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"type": "error",
"name": "StaleOracle",
"inputs": [
{
"name": "updatedAt",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "maxAge",
"type": "uint64",
"internalType": "uint64"
}
]
},
{
"type": "error",
"name": "TakerNotWhitelisted",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
]
},
{
"type": "error",
"name": "UnexpectedTransferAmount",
"inputs": [
{
"name": "expected",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "received",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"type": "error",
"name": "UnsupportedDecimals",
"inputs": [
{
"name": "baseDecimals",
"type": "uint8",
"internalType": "uint8"
},
{
"name": "quoteDecimals",
"type": "uint8",
"internalType": "uint8"
}
]
},
{
"type": "error",
"name": "UnsupportedToken",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
]
},
{
"type": "error",
"name": "ZeroAddress",
"inputs": []
},
{
"type": "error",
"name": "ZeroAmount",
"inputs": []
},
{
"type": "error",
"name": "ZeroMakerFloor",
"inputs": []
},
{
"type": "error",
"name": "ZeroOrderDuration",
"inputs": []
}
]