From cda1d0300cece3c1f80a03df9215326bb4300a10 Mon Sep 17 00:00:00 2001 From: synthetix-team Date: Fri, 12 Apr 2024 01:14:56 +0000 Subject: [PATCH] Update 42161-arbthetix --- 42161-arbthetix/AccountProxy.json | 760 + 42161-arbthetix/AccountProxy.readable.json | 55 + 42161-arbthetix/AllErrors.json | 1553 ++ 42161-arbthetix/AllErrors.readable.json | 149 + 42161-arbthetix/CoreProxy.json | 4763 +++++ 42161-arbthetix/CoreProxy.readable.json | 250 + 42161-arbthetix/OracleManagerProxy.json | 529 + .../OracleManagerProxy.readable.json | 41 + 42161-arbthetix/PerpsAccountProxy.json | 760 + .../PerpsAccountProxy.readable.json | 55 + 42161-arbthetix/PerpsMarketProxy.json | 4252 +++++ .../PerpsMarketProxy.readable.json | 223 + 42161-arbthetix/SpotMarketProxy.json | 3519 ++++ 42161-arbthetix/SpotMarketProxy.readable.json | 161 + .../TrustedMulticallForwarder.json | 798 + .../TrustedMulticallForwarder.readable.json | 36 + 42161-arbthetix/USDCToken.json | 332 + 42161-arbthetix/USDCToken.readable.json | 21 + 42161-arbthetix/USDProxy.json | 761 + 42161-arbthetix/USDProxy.readable.json | 51 + 42161-arbthetix/cannon.json | 15242 ++++++++++++++++ 42161-arbthetix/extras.json | 15 + 42161-arbthetix/meta.json | 20 + 23 files changed, 34346 insertions(+) create mode 100644 42161-arbthetix/AccountProxy.json create mode 100644 42161-arbthetix/AccountProxy.readable.json create mode 100644 42161-arbthetix/AllErrors.json create mode 100644 42161-arbthetix/AllErrors.readable.json create mode 100644 42161-arbthetix/CoreProxy.json create mode 100644 42161-arbthetix/CoreProxy.readable.json create mode 100644 42161-arbthetix/OracleManagerProxy.json create mode 100644 42161-arbthetix/OracleManagerProxy.readable.json create mode 100644 42161-arbthetix/PerpsAccountProxy.json create mode 100644 42161-arbthetix/PerpsAccountProxy.readable.json create mode 100644 42161-arbthetix/PerpsMarketProxy.json create mode 100644 42161-arbthetix/PerpsMarketProxy.readable.json create mode 100644 42161-arbthetix/SpotMarketProxy.json create mode 100644 42161-arbthetix/SpotMarketProxy.readable.json create mode 100644 42161-arbthetix/TrustedMulticallForwarder.json create mode 100644 42161-arbthetix/TrustedMulticallForwarder.readable.json create mode 100644 42161-arbthetix/USDCToken.json create mode 100644 42161-arbthetix/USDCToken.readable.json create mode 100644 42161-arbthetix/USDProxy.json create mode 100644 42161-arbthetix/USDProxy.readable.json create mode 100644 42161-arbthetix/cannon.json create mode 100644 42161-arbthetix/extras.json create mode 100644 42161-arbthetix/meta.json diff --git a/42161-arbthetix/AccountProxy.json b/42161-arbthetix/AccountProxy.json new file mode 100644 index 000000000..7ff0dfbf4 --- /dev/null +++ b/42161-arbthetix/AccountProxy.json @@ -0,0 +1,760 @@ +[ + { + "type": "error", + "name": "ImplementationIsSterile", + "inputs": [ + { + "type": "address", + "name": "implementation" + } + ] + }, + { + "type": "error", + "name": "NoChange", + "inputs": [] + }, + { + "type": "error", + "name": "NotAContract", + "inputs": [ + { + "type": "address", + "name": "contr" + } + ] + }, + { + "type": "error", + "name": "NotNominated", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "UpgradeSimulationFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroAddress", + "inputs": [] + }, + { + "type": "event", + "anonymous": false, + "name": "OwnerChanged", + "inputs": [ + { + "type": "address", + "name": "oldOwner", + "indexed": false + }, + { + "type": "address", + "name": "newOwner", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "OwnerNominated", + "inputs": [ + { + "type": "address", + "name": "newOwner", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "Upgraded", + "inputs": [ + { + "type": "address", + "name": "self", + "indexed": true + }, + { + "type": "address", + "name": "implementation", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "acceptOwnership", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "type": "function", + "name": "getImplementation", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "nominateNewOwner", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "newNominatedOwner" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "nominatedOwner", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "owner", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "renounceNomination", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "type": "function", + "name": "simulateUpgradeTo", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "newImplementation" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "upgradeTo", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "newImplementation" + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "AlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "CannotSelfApprove", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "IndexOverrun", + "inputs": [ + { + "type": "uint256", + "name": "requestedIndex" + }, + { + "type": "uint256", + "name": "length" + } + ] + }, + { + "type": "error", + "name": "InvalidOwner", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "InvalidParameter", + "inputs": [ + { + "type": "string", + "name": "parameter" + }, + { + "type": "string", + "name": "reason" + } + ] + }, + { + "type": "error", + "name": "InvalidTransferRecipient", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "OverflowUint256ToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "TokenAlreadyMinted", + "inputs": [ + { + "type": "uint256", + "name": "id" + } + ] + }, + { + "type": "error", + "name": "TokenDoesNotExist", + "inputs": [ + { + "type": "uint256", + "name": "id" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "Approval", + "inputs": [ + { + "type": "address", + "name": "owner", + "indexed": true + }, + { + "type": "address", + "name": "approved", + "indexed": true + }, + { + "type": "uint256", + "name": "tokenId", + "indexed": true + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "ApprovalForAll", + "inputs": [ + { + "type": "address", + "name": "owner", + "indexed": true + }, + { + "type": "address", + "name": "operator", + "indexed": true + }, + { + "type": "bool", + "name": "approved", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "Transfer", + "inputs": [ + { + "type": "address", + "name": "from", + "indexed": true + }, + { + "type": "address", + "name": "to", + "indexed": true + }, + { + "type": "uint256", + "name": "tokenId", + "indexed": true + } + ] + }, + { + "type": "function", + "name": "approve", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "tokenId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "balanceOf", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "holder" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "balance" + } + ] + }, + { + "type": "function", + "name": "burn", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint256", + "name": "tokenId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "getApproved", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint256", + "name": "tokenId" + } + ], + "outputs": [ + { + "type": "address", + "name": "operator" + } + ] + }, + { + "type": "function", + "name": "initialize", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "string", + "name": "tokenName" + }, + { + "type": "string", + "name": "tokenSymbol" + }, + { + "type": "string", + "name": "uri" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "isApprovedForAll", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "holder" + }, + { + "type": "address", + "name": "operator" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "isInitialized", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "mint", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "tokenId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "name", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "string" + } + ] + }, + { + "type": "function", + "name": "ownerOf", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint256", + "name": "tokenId" + } + ], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "safeMint", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "tokenId" + }, + { + "type": "bytes", + "name": "data" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "safeTransferFrom", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "from" + }, + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "tokenId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "safeTransferFrom", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "from" + }, + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "tokenId" + }, + { + "type": "bytes", + "name": "data" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setAllowance", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint256", + "name": "tokenId" + }, + { + "type": "address", + "name": "spender" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setApprovalForAll", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "operator" + }, + { + "type": "bool", + "name": "approved" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setBaseTokenURI", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "string", + "name": "uri" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "supportsInterface", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes4", + "name": "interfaceId" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "symbol", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "string" + } + ] + }, + { + "type": "function", + "name": "tokenByIndex", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint256", + "name": "index" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "tokenOfOwnerByIndex", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "owner" + }, + { + "type": "uint256", + "name": "index" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "tokenURI", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint256", + "name": "tokenId" + } + ], + "outputs": [ + { + "type": "string" + } + ] + }, + { + "type": "function", + "name": "totalSupply", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "transferFrom", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "from" + }, + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "tokenId" + } + ], + "outputs": [] + } +] \ No newline at end of file diff --git a/42161-arbthetix/AccountProxy.readable.json b/42161-arbthetix/AccountProxy.readable.json new file mode 100644 index 000000000..08373974d --- /dev/null +++ b/42161-arbthetix/AccountProxy.readable.json @@ -0,0 +1,55 @@ +[ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error AlreadyInitialized()", + "error CannotSelfApprove(address addr)", + "error IndexOverrun(uint256 requestedIndex, uint256 length)", + "error InvalidOwner(address addr)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidTransferRecipient(address addr)", + "error OverflowUint256ToUint128()", + "error TokenAlreadyMinted(uint256 id)", + "error TokenDoesNotExist(uint256 id)", + "event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)", + "event ApprovalForAll(address indexed owner, address indexed operator, bool approved)", + "event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)", + "function approve(address to, uint256 tokenId)", + "function balanceOf(address holder) view returns (uint256 balance)", + "function burn(uint256 tokenId)", + "function getApproved(uint256 tokenId) view returns (address operator)", + "function initialize(string tokenName, string tokenSymbol, string uri)", + "function isApprovedForAll(address holder, address operator) view returns (bool)", + "function isInitialized() view returns (bool)", + "function mint(address to, uint256 tokenId)", + "function name() view returns (string)", + "function ownerOf(uint256 tokenId) view returns (address)", + "function safeMint(address to, uint256 tokenId, bytes data)", + "function safeTransferFrom(address from, address to, uint256 tokenId)", + "function safeTransferFrom(address from, address to, uint256 tokenId, bytes data)", + "function setAllowance(uint256 tokenId, address spender)", + "function setApprovalForAll(address operator, bool approved)", + "function setBaseTokenURI(string uri)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function symbol() view returns (string)", + "function tokenByIndex(uint256 index) view returns (uint256)", + "function tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)", + "function tokenURI(uint256 tokenId) view returns (string)", + "function totalSupply() view returns (uint256)", + "function transferFrom(address from, address to, uint256 tokenId)" +] \ No newline at end of file diff --git a/42161-arbthetix/AllErrors.json b/42161-arbthetix/AllErrors.json new file mode 100644 index 000000000..c9449211d --- /dev/null +++ b/42161-arbthetix/AllErrors.json @@ -0,0 +1,1553 @@ +[ + { + "type": "error", + "name": "ImplementationIsSterile", + "inputs": [ + { + "type": "address", + "name": "implementation" + } + ] + }, + { + "type": "error", + "name": "NoChange", + "inputs": [] + }, + { + "type": "error", + "name": "NotAContract", + "inputs": [ + { + "type": "address", + "name": "contr" + } + ] + }, + { + "type": "error", + "name": "NotNominated", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "UpgradeSimulationFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ValueAlreadyInSet", + "inputs": [] + }, + { + "type": "error", + "name": "ValueNotInSet", + "inputs": [] + }, + { + "type": "error", + "name": "FeatureUnavailable", + "inputs": [ + { + "type": "bytes32", + "name": "which" + } + ] + }, + { + "type": "error", + "name": "InvalidAccountId", + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ] + }, + { + "type": "error", + "name": "InvalidPermission", + "inputs": [ + { + "type": "bytes32", + "name": "permission" + } + ] + }, + { + "type": "error", + "name": "OnlyAccountTokenProxy", + "inputs": [ + { + "type": "address", + "name": "origin" + } + ] + }, + { + "type": "error", + "name": "PermissionDenied", + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "bytes32", + "name": "permission" + }, + { + "type": "address", + "name": "target" + } + ] + }, + { + "type": "error", + "name": "PermissionNotGranted", + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "bytes32", + "name": "permission" + }, + { + "type": "address", + "name": "user" + } + ] + }, + { + "type": "error", + "name": "PositionOutOfBounds", + "inputs": [] + }, + { + "type": "error", + "name": "AccountNotFound", + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ] + }, + { + "type": "error", + "name": "EmptyDistribution", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientCollateralRatio", + "inputs": [ + { + "type": "uint256", + "name": "collateralValue" + }, + { + "type": "uint256", + "name": "debt" + }, + { + "type": "uint256", + "name": "ratio" + }, + { + "type": "uint256", + "name": "minRatio" + } + ] + }, + { + "type": "error", + "name": "MarketNotFound", + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ] + }, + { + "type": "error", + "name": "NotFundedByPool", + "inputs": [ + { + "type": "uint256", + "name": "marketId" + }, + { + "type": "uint256", + "name": "poolId" + } + ] + }, + { + "type": "error", + "name": "OverflowInt256ToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowInt256ToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowUint128ToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowUint256ToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowUint256ToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "MismatchAssociatedSystemKind", + "inputs": [ + { + "type": "bytes32", + "name": "expected" + }, + { + "type": "bytes32", + "name": "actual" + } + ] + }, + { + "type": "error", + "name": "MissingAssociatedSystem", + "inputs": [ + { + "type": "bytes32", + "name": "id" + } + ] + }, + { + "type": "error", + "name": "InvalidMessage", + "inputs": [] + }, + { + "type": "error", + "name": "NotCcipRouter", + "inputs": [ + { + "type": "address" + } + ] + }, + { + "type": "error", + "name": "UnsupportedNetwork", + "inputs": [ + { + "type": "uint64" + } + ] + }, + { + "type": "error", + "name": "AccountActivityTimeoutPending", + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "uint256", + "name": "currentTime" + }, + { + "type": "uint256", + "name": "requiredTime" + } + ] + }, + { + "type": "error", + "name": "CollateralDepositDisabled", + "inputs": [ + { + "type": "address", + "name": "collateralType" + } + ] + }, + { + "type": "error", + "name": "CollateralNotFound", + "inputs": [] + }, + { + "type": "error", + "name": "FailedTransfer", + "inputs": [ + { + "type": "address", + "name": "from" + }, + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "value" + } + ] + }, + { + "type": "error", + "name": "InsufficentAvailableCollateral", + "inputs": [ + { + "type": "uint256", + "name": "amountAvailableForDelegationD18" + }, + { + "type": "uint256", + "name": "amountD18" + } + ] + }, + { + "type": "error", + "name": "InsufficientAccountCollateral", + "inputs": [ + { + "type": "uint256", + "name": "amount" + } + ] + }, + { + "type": "error", + "name": "InsufficientAllowance", + "inputs": [ + { + "type": "uint256", + "name": "required" + }, + { + "type": "uint256", + "name": "existing" + } + ] + }, + { + "type": "error", + "name": "InvalidParameter", + "inputs": [ + { + "type": "string", + "name": "parameter" + }, + { + "type": "string", + "name": "reason" + } + ] + }, + { + "type": "error", + "name": "OverflowUint256ToUint64", + "inputs": [] + }, + { + "type": "error", + "name": "PrecisionLost", + "inputs": [ + { + "type": "uint256", + "name": "tokenAmount" + }, + { + "type": "uint8", + "name": "decimals" + } + ] + }, + { + "type": "error", + "name": "InsufficientCcipFee", + "inputs": [ + { + "type": "uint256", + "name": "requiredAmount" + }, + { + "type": "uint256", + "name": "availableAmount" + } + ] + }, + { + "type": "error", + "name": "InsufficientDebt", + "inputs": [ + { + "type": "int256", + "name": "currentDebt" + } + ] + }, + { + "type": "error", + "name": "PoolNotFound", + "inputs": [ + { + "type": "uint128", + "name": "poolId" + } + ] + }, + { + "type": "error", + "name": "CannotScaleEmptyMapping", + "inputs": [] + }, + { + "type": "error", + "name": "IneligibleForLiquidation", + "inputs": [ + { + "type": "uint256", + "name": "collateralValue" + }, + { + "type": "int256", + "name": "debt" + }, + { + "type": "uint256", + "name": "currentCRatio" + }, + { + "type": "uint256", + "name": "cratio" + } + ] + }, + { + "type": "error", + "name": "InsufficientMappedAmount", + "inputs": [] + }, + { + "type": "error", + "name": "MustBeVaultLiquidated", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowInt128ToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientMarketCollateralDepositable", + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "uint256", + "name": "tokenAmountToDeposit" + } + ] + }, + { + "type": "error", + "name": "InsufficientMarketCollateralWithdrawable", + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "uint256", + "name": "tokenAmountToWithdraw" + } + ] + }, + { + "type": "error", + "name": "IncorrectMarketInterface", + "inputs": [ + { + "type": "address", + "name": "market" + } + ] + }, + { + "type": "error", + "name": "NotEnoughLiquidity", + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "amount" + } + ] + }, + { + "type": "error", + "name": "CapacityLocked", + "inputs": [ + { + "type": "uint256", + "name": "marketId" + } + ] + }, + { + "type": "error", + "name": "MinDelegationTimeoutPending", + "inputs": [ + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "uint32", + "name": "timeRemaining" + } + ] + }, + { + "type": "error", + "name": "PoolAlreadyExists", + "inputs": [ + { + "type": "uint128", + "name": "poolId" + } + ] + }, + { + "type": "error", + "name": "OverflowUint256ToUint32", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowUint32ToInt32", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowUint64ToInt64", + "inputs": [] + }, + { + "type": "error", + "name": "RewardDistributorNotFound", + "inputs": [] + }, + { + "type": "error", + "name": "RewardUnavailable", + "inputs": [ + { + "type": "address", + "name": "distributor" + } + ] + }, + { + "type": "error", + "name": "InsufficientDelegation", + "inputs": [ + { + "type": "uint256", + "name": "minDelegation" + } + ] + }, + { + "type": "error", + "name": "InvalidCollateralAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLeverage", + "inputs": [ + { + "type": "uint256", + "name": "leverage" + } + ] + }, + { + "type": "error", + "name": "PoolCollateralLimitExceeded", + "inputs": [ + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "uint256", + "name": "currentCollateral" + }, + { + "type": "uint256", + "name": "maxCollateral" + } + ] + }, + { + "type": "error", + "name": "AlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "CannotSelfApprove", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "IndexOverrun", + "inputs": [ + { + "type": "uint256", + "name": "requestedIndex" + }, + { + "type": "uint256", + "name": "length" + } + ] + }, + { + "type": "error", + "name": "InvalidOwner", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "InvalidTransferRecipient", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "TokenAlreadyMinted", + "inputs": [ + { + "type": "uint256", + "name": "id" + } + ] + }, + { + "type": "error", + "name": "TokenDoesNotExist", + "inputs": [ + { + "type": "uint256", + "name": "id" + } + ] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [ + { + "type": "uint256", + "name": "required" + }, + { + "type": "uint256", + "name": "existing" + } + ] + }, + { + "type": "error", + "name": "DeviationToleranceExceeded", + "inputs": [ + { + "type": "int256", + "name": "deviation" + } + ] + }, + { + "type": "error", + "name": "InvalidInputPrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidNodeDefinition", + "inputs": [ + { + "type": "tuple", + "name": "nodeType", + "components": [ + { + "type": "uint8", + "name": "nodeType" + }, + { + "type": "bytes", + "name": "parameters" + }, + { + "type": "bytes32[]", + "name": "parents" + } + ] + } + ] + }, + { + "type": "error", + "name": "InvalidPrice", + "inputs": [ + { + "type": "int256", + "name": "price" + } + ] + }, + { + "type": "error", + "name": "NodeNotRegistered", + "inputs": [ + { + "type": "bytes32", + "name": "nodeId" + } + ] + }, + { + "type": "error", + "name": "OracleDataRequired", + "inputs": [ + { + "type": "address", + "name": "oracleContract" + }, + { + "type": "bytes", + "name": "oracleQuery" + } + ] + }, + { + "type": "error", + "name": "OverflowInt56ToInt24", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowUint256ToUint160", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowUint56ToInt56", + "inputs": [] + }, + { + "type": "error", + "name": "StalenessToleranceExceeded", + "inputs": [] + }, + { + "type": "error", + "name": "UnprocessableNode", + "inputs": [ + { + "type": "bytes32", + "name": "nodeId" + } + ] + }, + { + "type": "error", + "name": "UnsupportedOperation", + "inputs": [ + { + "type": "uint8", + "name": "operation" + } + ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "type": "address", + "name": "account" + } + ] + }, + { + "type": "error", + "name": "ERC2771ForwarderExpiredRequest", + "inputs": [ + { + "type": "uint48", + "name": "deadline" + } + ] + }, + { + "type": "error", + "name": "ERC2771ForwarderInvalidSigner", + "inputs": [ + { + "type": "address", + "name": "signer" + }, + { + "type": "address", + "name": "from" + } + ] + }, + { + "type": "error", + "name": "ERC2771ForwarderMismatchedValue", + "inputs": [ + { + "type": "uint256", + "name": "requestedValue" + }, + { + "type": "uint256", + "name": "msgValue" + } + ] + }, + { + "type": "error", + "name": "ERC2771UntrustfulTarget", + "inputs": [ + { + "type": "address", + "name": "target" + }, + { + "type": "address", + "name": "forwarder" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidAccountNonce", + "inputs": [ + { + "type": "address", + "name": "account" + }, + { + "type": "uint256", + "name": "currentNonce" + } + ] + }, + { + "type": "error", + "name": "InvalidShortString", + "inputs": [] + }, + { + "type": "error", + "name": "StringTooLong", + "inputs": [ + { + "type": "string", + "name": "str" + } + ] + }, + { + "type": "error", + "name": "InvalidMarketOwner", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSynthImplementation", + "inputs": [ + { + "type": "uint256", + "name": "synthImplementation" + } + ] + }, + { + "type": "error", + "name": "OnlyMarketOwner", + "inputs": [ + { + "type": "address", + "name": "marketOwner" + }, + { + "type": "address", + "name": "sender" + } + ] + }, + { + "type": "error", + "name": "ExceedsMaxSynthAmount", + "inputs": [ + { + "type": "uint256", + "name": "maxSynthAmount" + }, + { + "type": "uint256", + "name": "synthAmountCharged" + } + ] + }, + { + "type": "error", + "name": "ExceedsMaxUsdAmount", + "inputs": [ + { + "type": "uint256", + "name": "maxUsdAmount" + }, + { + "type": "uint256", + "name": "usdAmountCharged" + } + ] + }, + { + "type": "error", + "name": "InsufficientAmountReceived", + "inputs": [ + { + "type": "uint256", + "name": "expected" + }, + { + "type": "uint256", + "name": "current" + } + ] + }, + { + "type": "error", + "name": "InvalidMarket", + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ] + }, + { + "type": "error", + "name": "InvalidPrices", + "inputs": [] + }, + { + "type": "error", + "name": "IneligibleForCancellation", + "inputs": [ + { + "type": "uint256", + "name": "timestamp" + }, + { + "type": "uint256", + "name": "expirationTime" + } + ] + }, + { + "type": "error", + "name": "InsufficientSharesAmount", + "inputs": [ + { + "type": "uint256", + "name": "expected" + }, + { + "type": "uint256", + "name": "actual" + } + ] + }, + { + "type": "error", + "name": "InvalidAsyncTransactionType", + "inputs": [ + { + "type": "uint8", + "name": "transactionType" + } + ] + }, + { + "type": "error", + "name": "InvalidClaim", + "inputs": [ + { + "type": "uint256", + "name": "asyncOrderId" + } + ] + }, + { + "type": "error", + "name": "InvalidCommitmentAmount", + "inputs": [ + { + "type": "uint256", + "name": "minimumAmount" + }, + { + "type": "uint256", + "name": "amount" + } + ] + }, + { + "type": "error", + "name": "InvalidSettlementStrategy", + "inputs": [ + { + "type": "uint256", + "name": "settlementStrategyId" + } + ] + }, + { + "type": "error", + "name": "OrderAlreadySettled", + "inputs": [ + { + "type": "uint256", + "name": "asyncOrderId" + }, + { + "type": "uint256", + "name": "settledAt" + } + ] + }, + { + "type": "error", + "name": "InvalidSettlementStrategy", + "inputs": [ + { + "type": "uint8", + "name": "strategyType" + } + ] + }, + { + "type": "error", + "name": "InvalidVerificationResponse", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSettlementAmountNotMet", + "inputs": [ + { + "type": "uint256", + "name": "minimum" + }, + { + "type": "uint256", + "name": "actual" + } + ] + }, + { + "type": "error", + "name": "OutsideSettlementWindow", + "inputs": [ + { + "type": "uint256", + "name": "timestamp" + }, + { + "type": "uint256", + "name": "startTime" + }, + { + "type": "uint256", + "name": "expirationTime" + } + ] + }, + { + "type": "error", + "name": "SettlementStrategyNotFound", + "inputs": [ + { + "type": "uint8", + "name": "strategyType" + } + ] + }, + { + "type": "error", + "name": "InvalidSettlementWindowDuration", + "inputs": [ + { + "type": "uint256", + "name": "duration" + } + ] + }, + { + "type": "error", + "name": "InvalidCollateralType", + "inputs": [ + { + "type": "address", + "name": "configuredCollateralType" + } + ] + }, + { + "type": "error", + "name": "WrapperExceedsMaxAmount", + "inputs": [ + { + "type": "uint256", + "name": "maxWrappableAmount" + }, + { + "type": "uint256", + "name": "currentSupply" + }, + { + "type": "uint256", + "name": "amountToWrap" + } + ] + }, + { + "type": "error", + "name": "InvalidCollateralLeverage", + "inputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "error", + "name": "InvalidFeeCollectorInterface", + "inputs": [ + { + "type": "address", + "name": "invalidFeeCollector" + } + ] + }, + { + "type": "error", + "name": "InvalidWrapperFees", + "inputs": [] + }, + { + "type": "error", + "name": "PerpsMarketAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PerpsMarketNotInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "AccountLiquidatable", + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ] + }, + { + "type": "error", + "name": "InsufficientCollateral", + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + }, + { + "type": "uint256", + "name": "collateralAmount" + }, + { + "type": "uint256", + "name": "withdrawAmount" + } + ] + }, + { + "type": "error", + "name": "InsufficientCollateralAvailableForWithdraw", + "inputs": [ + { + "type": "uint256", + "name": "availableUsdDenominated" + }, + { + "type": "uint256", + "name": "requiredUsdDenominated" + } + ] + }, + { + "type": "error", + "name": "InsufficientSynthCollateral", + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + }, + { + "type": "uint256", + "name": "collateralAmount" + }, + { + "type": "uint256", + "name": "withdrawAmount" + } + ] + }, + { + "type": "error", + "name": "InvalidAmountDelta", + "inputs": [ + { + "type": "int256", + "name": "amountDelta" + } + ] + }, + { + "type": "error", + "name": "KeeperCostsNotSet", + "inputs": [] + }, + { + "type": "error", + "name": "MaxCollateralExceeded", + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + }, + { + "type": "uint256", + "name": "maxAmount" + }, + { + "type": "uint256", + "name": "collateralAmount" + }, + { + "type": "uint256", + "name": "depositAmount" + } + ] + }, + { + "type": "error", + "name": "MaxCollateralsPerAccountReached", + "inputs": [ + { + "type": "uint128", + "name": "maxCollateralsPerAccount" + } + ] + }, + { + "type": "error", + "name": "PendingOrderExists", + "inputs": [] + }, + { + "type": "error", + "name": "PriceFeedNotSet", + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ] + }, + { + "type": "error", + "name": "SynthNotEnabledForCollateral", + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + } + ] + }, + { + "type": "error", + "name": "AcceptablePriceExceeded", + "inputs": [ + { + "type": "uint256", + "name": "fillPrice" + }, + { + "type": "uint256", + "name": "acceptablePrice" + } + ] + }, + { + "type": "error", + "name": "InsufficientMargin", + "inputs": [ + { + "type": "int256", + "name": "availableMargin" + }, + { + "type": "uint256", + "name": "minMargin" + } + ] + }, + { + "type": "error", + "name": "MaxOpenInterestReached", + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "maxMarketSize" + }, + { + "type": "int256", + "name": "newSideSize" + } + ] + }, + { + "type": "error", + "name": "MaxPositionsPerAccountReached", + "inputs": [ + { + "type": "uint128", + "name": "maxPositionsPerAccount" + } + ] + }, + { + "type": "error", + "name": "MaxUSDOpenInterestReached", + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "maxMarketValue" + }, + { + "type": "int256", + "name": "newSideSize" + }, + { + "type": "uint256", + "name": "price" + } + ] + }, + { + "type": "error", + "name": "ZeroSizeOrder", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientAccountMargin", + "inputs": [ + { + "type": "uint256", + "name": "leftover" + } + ] + }, + { + "type": "error", + "name": "OrderNotValid", + "inputs": [] + }, + { + "type": "error", + "name": "SettlementWindowExpired", + "inputs": [ + { + "type": "uint256", + "name": "timestamp" + }, + { + "type": "uint256", + "name": "settlementTime" + }, + { + "type": "uint256", + "name": "settlementExpiration" + } + ] + }, + { + "type": "error", + "name": "SettlementWindowNotOpen", + "inputs": [ + { + "type": "uint256", + "name": "timestamp" + }, + { + "type": "uint256", + "name": "settlementTime" + } + ] + }, + { + "type": "error", + "name": "AcceptablePriceNotExceeded", + "inputs": [ + { + "type": "uint256", + "name": "fillPrice" + }, + { + "type": "uint256", + "name": "acceptablePrice" + } + ] + }, + { + "type": "error", + "name": "NotEligibleForLiquidation", + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ] + }, + { + "type": "error", + "name": "InvalidInterestRateParameters", + "inputs": [ + { + "type": "uint128", + "name": "lowUtilizationInterestRateGradient" + }, + { + "type": "uint128", + "name": "highUtilizationInterestRateGradient" + } + ] + }, + { + "type": "error", + "name": "InvalidReferrerShareRatio", + "inputs": [ + { + "type": "uint256", + "name": "shareRatioD18" + } + ] + } +] \ No newline at end of file diff --git a/42161-arbthetix/AllErrors.readable.json b/42161-arbthetix/AllErrors.readable.json new file mode 100644 index 000000000..59e661837 --- /dev/null +++ b/42161-arbthetix/AllErrors.readable.json @@ -0,0 +1,149 @@ +[ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "error FeatureUnavailable(bytes32 which)", + "error InvalidAccountId(uint128 accountId)", + "error InvalidPermission(bytes32 permission)", + "error OnlyAccountTokenProxy(address origin)", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PermissionNotGranted(uint128 accountId, bytes32 permission, address user)", + "error PositionOutOfBounds()", + "error AccountNotFound(uint128 accountId)", + "error EmptyDistribution()", + "error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)", + "error MarketNotFound(uint128 marketId)", + "error NotFundedByPool(uint256 marketId, uint256 poolId)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "error InvalidMessage()", + "error NotCcipRouter(address)", + "error UnsupportedNetwork(uint64)", + "error AccountActivityTimeoutPending(uint128 accountId, uint256 currentTime, uint256 requiredTime)", + "error CollateralDepositDisabled(address collateralType)", + "error CollateralNotFound()", + "error FailedTransfer(address from, address to, uint256 value)", + "error InsufficentAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)", + "error InsufficientAccountCollateral(uint256 amount)", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "error OverflowUint256ToUint64()", + "error PrecisionLost(uint256 tokenAmount, uint8 decimals)", + "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", + "error InsufficientDebt(int256 currentDebt)", + "error PoolNotFound(uint128 poolId)", + "error CannotScaleEmptyMapping()", + "error IneligibleForLiquidation(uint256 collateralValue, int256 debt, uint256 currentCRatio, uint256 cratio)", + "error InsufficientMappedAmount()", + "error MustBeVaultLiquidated()", + "error OverflowInt128ToUint128()", + "error InsufficientMarketCollateralDepositable(uint128 marketId, address collateralType, uint256 tokenAmountToDeposit)", + "error InsufficientMarketCollateralWithdrawable(uint128 marketId, address collateralType, uint256 tokenAmountToWithdraw)", + "error IncorrectMarketInterface(address market)", + "error NotEnoughLiquidity(uint128 marketId, uint256 amount)", + "error CapacityLocked(uint256 marketId)", + "error MinDelegationTimeoutPending(uint128 poolId, uint32 timeRemaining)", + "error PoolAlreadyExists(uint128 poolId)", + "error OverflowUint256ToUint32()", + "error OverflowUint32ToInt32()", + "error OverflowUint64ToInt64()", + "error RewardDistributorNotFound()", + "error RewardUnavailable(address distributor)", + "error InsufficientDelegation(uint256 minDelegation)", + "error InvalidCollateralAmount()", + "error InvalidLeverage(uint256 leverage)", + "error PoolCollateralLimitExceeded(uint128 poolId, address collateralType, uint256 currentCollateral, uint256 maxCollateral)", + "error AlreadyInitialized()", + "error CannotSelfApprove(address addr)", + "error IndexOverrun(uint256 requestedIndex, uint256 length)", + "error InvalidOwner(address addr)", + "error InvalidTransferRecipient(address addr)", + "error TokenAlreadyMinted(uint256 id)", + "error TokenDoesNotExist(uint256 id)", + "error InsufficientBalance(uint256 required, uint256 existing)", + "error DeviationToleranceExceeded(int256 deviation)", + "error InvalidInputPrice()", + "error InvalidNodeDefinition(tuple(uint8 nodeType, bytes parameters, bytes32[] parents) nodeType)", + "error InvalidPrice(int256 price)", + "error NodeNotRegistered(bytes32 nodeId)", + "error OracleDataRequired(address oracleContract, bytes oracleQuery)", + "error OverflowInt56ToInt24()", + "error OverflowUint256ToUint160()", + "error OverflowUint56ToInt56()", + "error StalenessToleranceExceeded()", + "error UnprocessableNode(bytes32 nodeId)", + "error UnsupportedOperation(uint8 operation)", + "error AddressInsufficientBalance(address account)", + "error ERC2771ForwarderExpiredRequest(uint48 deadline)", + "error ERC2771ForwarderInvalidSigner(address signer, address from)", + "error ERC2771ForwarderMismatchedValue(uint256 requestedValue, uint256 msgValue)", + "error ERC2771UntrustfulTarget(address target, address forwarder)", + "error FailedInnerCall()", + "error InvalidAccountNonce(address account, uint256 currentNonce)", + "error InvalidShortString()", + "error StringTooLong(string str)", + "error InvalidMarketOwner()", + "error InvalidSynthImplementation(uint256 synthImplementation)", + "error OnlyMarketOwner(address marketOwner, address sender)", + "error ExceedsMaxSynthAmount(uint256 maxSynthAmount, uint256 synthAmountCharged)", + "error ExceedsMaxUsdAmount(uint256 maxUsdAmount, uint256 usdAmountCharged)", + "error InsufficientAmountReceived(uint256 expected, uint256 current)", + "error InvalidMarket(uint128 marketId)", + "error InvalidPrices()", + "error IneligibleForCancellation(uint256 timestamp, uint256 expirationTime)", + "error InsufficientSharesAmount(uint256 expected, uint256 actual)", + "error InvalidAsyncTransactionType(uint8 transactionType)", + "error InvalidClaim(uint256 asyncOrderId)", + "error InvalidCommitmentAmount(uint256 minimumAmount, uint256 amount)", + "error InvalidSettlementStrategy(uint256 settlementStrategyId)", + "error OrderAlreadySettled(uint256 asyncOrderId, uint256 settledAt)", + "error InvalidSettlementStrategy(uint8 strategyType)", + "error InvalidVerificationResponse()", + "error MinimumSettlementAmountNotMet(uint256 minimum, uint256 actual)", + "error OutsideSettlementWindow(uint256 timestamp, uint256 startTime, uint256 expirationTime)", + "error SettlementStrategyNotFound(uint8 strategyType)", + "error InvalidSettlementWindowDuration(uint256 duration)", + "error InvalidCollateralType(address configuredCollateralType)", + "error WrapperExceedsMaxAmount(uint256 maxWrappableAmount, uint256 currentSupply, uint256 amountToWrap)", + "error InvalidCollateralLeverage(uint256)", + "error InvalidFeeCollectorInterface(address invalidFeeCollector)", + "error InvalidWrapperFees()", + "error PerpsMarketAlreadyInitialized()", + "error PerpsMarketNotInitialized()", + "error AccountLiquidatable(uint128 accountId)", + "error InsufficientCollateral(uint128 synthMarketId, uint256 collateralAmount, uint256 withdrawAmount)", + "error InsufficientCollateralAvailableForWithdraw(uint256 availableUsdDenominated, uint256 requiredUsdDenominated)", + "error InsufficientSynthCollateral(uint128 synthMarketId, uint256 collateralAmount, uint256 withdrawAmount)", + "error InvalidAmountDelta(int256 amountDelta)", + "error KeeperCostsNotSet()", + "error MaxCollateralExceeded(uint128 synthMarketId, uint256 maxAmount, uint256 collateralAmount, uint256 depositAmount)", + "error MaxCollateralsPerAccountReached(uint128 maxCollateralsPerAccount)", + "error PendingOrderExists()", + "error PriceFeedNotSet(uint128 marketId)", + "error SynthNotEnabledForCollateral(uint128 synthMarketId)", + "error AcceptablePriceExceeded(uint256 fillPrice, uint256 acceptablePrice)", + "error InsufficientMargin(int256 availableMargin, uint256 minMargin)", + "error MaxOpenInterestReached(uint128 marketId, uint256 maxMarketSize, int256 newSideSize)", + "error MaxPositionsPerAccountReached(uint128 maxPositionsPerAccount)", + "error MaxUSDOpenInterestReached(uint128 marketId, uint256 maxMarketValue, int256 newSideSize, uint256 price)", + "error ZeroSizeOrder()", + "error InsufficientAccountMargin(uint256 leftover)", + "error OrderNotValid()", + "error SettlementWindowExpired(uint256 timestamp, uint256 settlementTime, uint256 settlementExpiration)", + "error SettlementWindowNotOpen(uint256 timestamp, uint256 settlementTime)", + "error AcceptablePriceNotExceeded(uint256 fillPrice, uint256 acceptablePrice)", + "error NotEligibleForLiquidation(uint128 accountId)", + "error InvalidInterestRateParameters(uint128 lowUtilizationInterestRateGradient, uint128 highUtilizationInterestRateGradient)", + "error InvalidReferrerShareRatio(uint256 shareRatioD18)" +] \ No newline at end of file diff --git a/42161-arbthetix/CoreProxy.json b/42161-arbthetix/CoreProxy.json new file mode 100644 index 000000000..20e7ff4cc --- /dev/null +++ b/42161-arbthetix/CoreProxy.json @@ -0,0 +1,4763 @@ +[ + { + "type": "error", + "name": "ImplementationIsSterile", + "inputs": [ + { + "type": "address", + "name": "implementation" + } + ] + }, + { + "type": "error", + "name": "NoChange", + "inputs": [] + }, + { + "type": "error", + "name": "NotAContract", + "inputs": [ + { + "type": "address", + "name": "contr" + } + ] + }, + { + "type": "error", + "name": "NotNominated", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "UpgradeSimulationFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroAddress", + "inputs": [] + }, + { + "type": "event", + "anonymous": false, + "name": "OwnerChanged", + "inputs": [ + { + "type": "address", + "name": "oldOwner", + "indexed": false + }, + { + "type": "address", + "name": "newOwner", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "OwnerNominated", + "inputs": [ + { + "type": "address", + "name": "newOwner", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "Upgraded", + "inputs": [ + { + "type": "address", + "name": "self", + "indexed": true + }, + { + "type": "address", + "name": "implementation", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "acceptOwnership", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "type": "function", + "name": "getImplementation", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "nominateNewOwner", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "newNominatedOwner" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "nominatedOwner", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "owner", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "renounceNomination", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "type": "function", + "name": "simulateUpgradeTo", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "newImplementation" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "upgradeTo", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "newImplementation" + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "ValueAlreadyInSet", + "inputs": [] + }, + { + "type": "error", + "name": "ValueNotInSet", + "inputs": [] + }, + { + "type": "event", + "anonymous": false, + "name": "FeatureFlagAllowAllSet", + "inputs": [ + { + "type": "bytes32", + "name": "feature", + "indexed": true + }, + { + "type": "bool", + "name": "allowAll", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "FeatureFlagAllowlistAdded", + "inputs": [ + { + "type": "bytes32", + "name": "feature", + "indexed": true + }, + { + "type": "address", + "name": "account", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "FeatureFlagAllowlistRemoved", + "inputs": [ + { + "type": "bytes32", + "name": "feature", + "indexed": true + }, + { + "type": "address", + "name": "account", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "FeatureFlagDeniersReset", + "inputs": [ + { + "type": "bytes32", + "name": "feature", + "indexed": true + }, + { + "type": "address[]", + "name": "deniers", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "FeatureFlagDenyAllSet", + "inputs": [ + { + "type": "bytes32", + "name": "feature", + "indexed": true + }, + { + "type": "bool", + "name": "denyAll", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "addToFeatureFlagAllowlist", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + }, + { + "type": "address", + "name": "account" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "getDeniers", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + } + ], + "outputs": [ + { + "type": "address[]" + } + ] + }, + { + "type": "function", + "name": "getFeatureFlagAllowAll", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "getFeatureFlagAllowlist", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + } + ], + "outputs": [ + { + "type": "address[]" + } + ] + }, + { + "type": "function", + "name": "getFeatureFlagDenyAll", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "isFeatureAllowed", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + }, + { + "type": "address", + "name": "account" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "removeFromFeatureFlagAllowlist", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + }, + { + "type": "address", + "name": "account" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setDeniers", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + }, + { + "type": "address[]", + "name": "deniers" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setFeatureFlagAllowAll", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + }, + { + "type": "bool", + "name": "allowAll" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setFeatureFlagDenyAll", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + }, + { + "type": "bool", + "name": "denyAll" + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "FeatureUnavailable", + "inputs": [ + { + "type": "bytes32", + "name": "which" + } + ] + }, + { + "type": "error", + "name": "InvalidAccountId", + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ] + }, + { + "type": "error", + "name": "InvalidPermission", + "inputs": [ + { + "type": "bytes32", + "name": "permission" + } + ] + }, + { + "type": "error", + "name": "OnlyAccountTokenProxy", + "inputs": [ + { + "type": "address", + "name": "origin" + } + ] + }, + { + "type": "error", + "name": "PermissionDenied", + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "bytes32", + "name": "permission" + }, + { + "type": "address", + "name": "target" + } + ] + }, + { + "type": "error", + "name": "PermissionNotGranted", + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "bytes32", + "name": "permission" + }, + { + "type": "address", + "name": "user" + } + ] + }, + { + "type": "error", + "name": "PositionOutOfBounds", + "inputs": [] + }, + { + "type": "event", + "anonymous": false, + "name": "AccountCreated", + "inputs": [ + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "address", + "name": "owner", + "indexed": true + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "PermissionGranted", + "inputs": [ + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "bytes32", + "name": "permission", + "indexed": true + }, + { + "type": "address", + "name": "user", + "indexed": true + }, + { + "type": "address", + "name": "sender", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "PermissionRevoked", + "inputs": [ + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "bytes32", + "name": "permission", + "indexed": true + }, + { + "type": "address", + "name": "user", + "indexed": true + }, + { + "type": "address", + "name": "sender", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "createAccount", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint128", + "name": "accountId" + } + ] + }, + { + "type": "function", + "name": "createAccount", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "requestedAccountId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "getAccountLastInteraction", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "getAccountOwner", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "getAccountPermissions", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ], + "outputs": [ + { + "type": "tuple[]", + "name": "accountPerms", + "components": [ + { + "type": "address", + "name": "user" + }, + { + "type": "bytes32[]", + "name": "permissions" + } + ] + } + ] + }, + { + "type": "function", + "name": "getAccountTokenAddress", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "grantPermission", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "bytes32", + "name": "permission" + }, + { + "type": "address", + "name": "user" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "hasPermission", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "bytes32", + "name": "permission" + }, + { + "type": "address", + "name": "user" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "isAuthorized", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "bytes32", + "name": "permission" + }, + { + "type": "address", + "name": "user" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "notifyAccountTransfer", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "to" + }, + { + "type": "uint128", + "name": "accountId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "renouncePermission", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "bytes32", + "name": "permission" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "revokePermission", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "bytes32", + "name": "permission" + }, + { + "type": "address", + "name": "user" + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "AccountNotFound", + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ] + }, + { + "type": "error", + "name": "EmptyDistribution", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientCollateralRatio", + "inputs": [ + { + "type": "uint256", + "name": "collateralValue" + }, + { + "type": "uint256", + "name": "debt" + }, + { + "type": "uint256", + "name": "ratio" + }, + { + "type": "uint256", + "name": "minRatio" + } + ] + }, + { + "type": "error", + "name": "MarketNotFound", + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ] + }, + { + "type": "error", + "name": "NotFundedByPool", + "inputs": [ + { + "type": "uint256", + "name": "marketId" + }, + { + "type": "uint256", + "name": "poolId" + } + ] + }, + { + "type": "error", + "name": "OverflowInt256ToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowInt256ToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowUint128ToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowUint256ToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowUint256ToUint128", + "inputs": [] + }, + { + "type": "event", + "anonymous": false, + "name": "DebtAssociated", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "uint128", + "name": "poolId", + "indexed": true + }, + { + "type": "address", + "name": "collateralType", + "indexed": true + }, + { + "type": "uint128", + "name": "accountId", + "indexed": false + }, + { + "type": "uint256", + "name": "amount", + "indexed": false + }, + { + "type": "int256", + "name": "updatedDebt", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "associateDebt", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [ + { + "type": "int256" + } + ] + }, + { + "type": "error", + "name": "MismatchAssociatedSystemKind", + "inputs": [ + { + "type": "bytes32", + "name": "expected" + }, + { + "type": "bytes32", + "name": "actual" + } + ] + }, + { + "type": "error", + "name": "MissingAssociatedSystem", + "inputs": [ + { + "type": "bytes32", + "name": "id" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "AssociatedSystemSet", + "inputs": [ + { + "type": "bytes32", + "name": "kind", + "indexed": true + }, + { + "type": "bytes32", + "name": "id", + "indexed": true + }, + { + "type": "address", + "name": "proxy", + "indexed": false + }, + { + "type": "address", + "name": "impl", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "getAssociatedSystem", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "id" + } + ], + "outputs": [ + { + "type": "address", + "name": "addr" + }, + { + "type": "bytes32", + "name": "kind" + } + ] + }, + { + "type": "function", + "name": "initOrUpgradeNft", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "id" + }, + { + "type": "string", + "name": "name" + }, + { + "type": "string", + "name": "symbol" + }, + { + "type": "string", + "name": "uri" + }, + { + "type": "address", + "name": "impl" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "initOrUpgradeToken", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "id" + }, + { + "type": "string", + "name": "name" + }, + { + "type": "string", + "name": "symbol" + }, + { + "type": "uint8", + "name": "decimals" + }, + { + "type": "address", + "name": "impl" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "registerUnmanagedSystem", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "id" + }, + { + "type": "address", + "name": "endpoint" + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "InvalidMessage", + "inputs": [] + }, + { + "type": "error", + "name": "NotCcipRouter", + "inputs": [ + { + "type": "address" + } + ] + }, + { + "type": "error", + "name": "UnsupportedNetwork", + "inputs": [ + { + "type": "uint64" + } + ] + }, + { + "type": "function", + "name": "ccipReceive", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "tuple", + "name": "message", + "components": [ + { + "type": "bytes32", + "name": "messageId" + }, + { + "type": "uint64", + "name": "sourceChainSelector" + }, + { + "type": "bytes", + "name": "sender" + }, + { + "type": "bytes", + "name": "data" + }, + { + "type": "tuple[]", + "name": "tokenAmounts", + "components": [ + { + "type": "address", + "name": "token" + }, + { + "type": "uint256", + "name": "amount" + } + ] + } + ] + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "AccountActivityTimeoutPending", + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "uint256", + "name": "currentTime" + }, + { + "type": "uint256", + "name": "requiredTime" + } + ] + }, + { + "type": "error", + "name": "CollateralDepositDisabled", + "inputs": [ + { + "type": "address", + "name": "collateralType" + } + ] + }, + { + "type": "error", + "name": "CollateralNotFound", + "inputs": [] + }, + { + "type": "error", + "name": "FailedTransfer", + "inputs": [ + { + "type": "address", + "name": "from" + }, + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "value" + } + ] + }, + { + "type": "error", + "name": "InsufficentAvailableCollateral", + "inputs": [ + { + "type": "uint256", + "name": "amountAvailableForDelegationD18" + }, + { + "type": "uint256", + "name": "amountD18" + } + ] + }, + { + "type": "error", + "name": "InsufficientAccountCollateral", + "inputs": [ + { + "type": "uint256", + "name": "amount" + } + ] + }, + { + "type": "error", + "name": "InsufficientAllowance", + "inputs": [ + { + "type": "uint256", + "name": "required" + }, + { + "type": "uint256", + "name": "existing" + } + ] + }, + { + "type": "error", + "name": "InvalidParameter", + "inputs": [ + { + "type": "string", + "name": "parameter" + }, + { + "type": "string", + "name": "reason" + } + ] + }, + { + "type": "error", + "name": "OverflowUint256ToUint64", + "inputs": [] + }, + { + "type": "error", + "name": "PrecisionLost", + "inputs": [ + { + "type": "uint256", + "name": "tokenAmount" + }, + { + "type": "uint8", + "name": "decimals" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "CollateralLockCreated", + "inputs": [ + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "address", + "name": "collateralType", + "indexed": true + }, + { + "type": "uint256", + "name": "tokenAmount", + "indexed": false + }, + { + "type": "uint64", + "name": "expireTimestamp", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "CollateralLockExpired", + "inputs": [ + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "address", + "name": "collateralType", + "indexed": true + }, + { + "type": "uint256", + "name": "tokenAmount", + "indexed": false + }, + { + "type": "uint64", + "name": "expireTimestamp", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "Deposited", + "inputs": [ + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "address", + "name": "collateralType", + "indexed": true + }, + { + "type": "uint256", + "name": "tokenAmount", + "indexed": false + }, + { + "type": "address", + "name": "sender", + "indexed": true + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "Withdrawn", + "inputs": [ + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "address", + "name": "collateralType", + "indexed": true + }, + { + "type": "uint256", + "name": "tokenAmount", + "indexed": false + }, + { + "type": "address", + "name": "sender", + "indexed": true + } + ] + }, + { + "type": "function", + "name": "cleanExpiredLocks", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "uint256", + "name": "offset" + }, + { + "type": "uint256", + "name": "count" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "cleared" + } + ] + }, + { + "type": "function", + "name": "createLock", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "uint256", + "name": "amount" + }, + { + "type": "uint64", + "name": "expireTimestamp" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "deposit", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "uint256", + "name": "tokenAmount" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "getAccountAvailableCollateral", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "address", + "name": "collateralType" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "getAccountCollateral", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "address", + "name": "collateralType" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "totalDeposited" + }, + { + "type": "uint256", + "name": "totalAssigned" + }, + { + "type": "uint256", + "name": "totalLocked" + } + ] + }, + { + "type": "function", + "name": "getLocks", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "uint256", + "name": "offset" + }, + { + "type": "uint256", + "name": "count" + } + ], + "outputs": [ + { + "type": "tuple[]", + "name": "locks", + "components": [ + { + "type": "uint128", + "name": "amountD18" + }, + { + "type": "uint64", + "name": "lockExpirationTime" + } + ] + } + ] + }, + { + "type": "function", + "name": "withdraw", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "uint256", + "name": "tokenAmount" + } + ], + "outputs": [] + }, + { + "type": "event", + "anonymous": false, + "name": "CollateralConfigured", + "inputs": [ + { + "type": "address", + "name": "collateralType", + "indexed": true + }, + { + "type": "tuple", + "name": "config", + "indexed": false, + "components": [ + { + "type": "bool", + "name": "depositingEnabled" + }, + { + "type": "uint256", + "name": "issuanceRatioD18" + }, + { + "type": "uint256", + "name": "liquidationRatioD18" + }, + { + "type": "uint256", + "name": "liquidationRewardD18" + }, + { + "type": "bytes32", + "name": "oracleNodeId" + }, + { + "type": "address", + "name": "tokenAddress" + }, + { + "type": "uint256", + "name": "minDelegationD18" + } + ] + } + ] + }, + { + "type": "function", + "name": "configureCollateral", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "tuple", + "name": "config", + "components": [ + { + "type": "bool", + "name": "depositingEnabled" + }, + { + "type": "uint256", + "name": "issuanceRatioD18" + }, + { + "type": "uint256", + "name": "liquidationRatioD18" + }, + { + "type": "uint256", + "name": "liquidationRewardD18" + }, + { + "type": "bytes32", + "name": "oracleNodeId" + }, + { + "type": "address", + "name": "tokenAddress" + }, + { + "type": "uint256", + "name": "minDelegationD18" + } + ] + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "getCollateralConfiguration", + "constant": true, + "stateMutability": "pure", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "collateralType" + } + ], + "outputs": [ + { + "type": "tuple", + "components": [ + { + "type": "bool", + "name": "depositingEnabled" + }, + { + "type": "uint256", + "name": "issuanceRatioD18" + }, + { + "type": "uint256", + "name": "liquidationRatioD18" + }, + { + "type": "uint256", + "name": "liquidationRewardD18" + }, + { + "type": "bytes32", + "name": "oracleNodeId" + }, + { + "type": "address", + "name": "tokenAddress" + }, + { + "type": "uint256", + "name": "minDelegationD18" + } + ] + } + ] + }, + { + "type": "function", + "name": "getCollateralConfigurations", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bool", + "name": "hideDisabled" + } + ], + "outputs": [ + { + "type": "tuple[]", + "components": [ + { + "type": "bool", + "name": "depositingEnabled" + }, + { + "type": "uint256", + "name": "issuanceRatioD18" + }, + { + "type": "uint256", + "name": "liquidationRatioD18" + }, + { + "type": "uint256", + "name": "liquidationRewardD18" + }, + { + "type": "bytes32", + "name": "oracleNodeId" + }, + { + "type": "address", + "name": "tokenAddress" + }, + { + "type": "uint256", + "name": "minDelegationD18" + } + ] + } + ] + }, + { + "type": "function", + "name": "getCollateralPrice", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "collateralType" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "error", + "name": "InsufficientCcipFee", + "inputs": [ + { + "type": "uint256", + "name": "requiredAmount" + }, + { + "type": "uint256", + "name": "availableAmount" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "TransferCrossChainInitiated", + "inputs": [ + { + "type": "uint64", + "name": "destChainId", + "indexed": true + }, + { + "type": "uint256", + "name": "amount", + "indexed": true + }, + { + "type": "address", + "name": "sender", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "transferCrossChain", + "constant": false, + "stateMutability": "payable", + "payable": true, + "inputs": [ + { + "type": "uint64", + "name": "destChainId" + }, + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "gasTokenUsed" + } + ] + }, + { + "type": "error", + "name": "InsufficientDebt", + "inputs": [ + { + "type": "int256", + "name": "currentDebt" + } + ] + }, + { + "type": "error", + "name": "PoolNotFound", + "inputs": [ + { + "type": "uint128", + "name": "poolId" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "IssuanceFeePaid", + "inputs": [ + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "uint128", + "name": "poolId", + "indexed": true + }, + { + "type": "address", + "name": "collateralType", + "indexed": false + }, + { + "type": "uint256", + "name": "feeAmount", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "UsdBurned", + "inputs": [ + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "uint128", + "name": "poolId", + "indexed": true + }, + { + "type": "address", + "name": "collateralType", + "indexed": false + }, + { + "type": "uint256", + "name": "amount", + "indexed": false + }, + { + "type": "address", + "name": "sender", + "indexed": true + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "UsdMinted", + "inputs": [ + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "uint128", + "name": "poolId", + "indexed": true + }, + { + "type": "address", + "name": "collateralType", + "indexed": false + }, + { + "type": "uint256", + "name": "amount", + "indexed": false + }, + { + "type": "address", + "name": "sender", + "indexed": true + } + ] + }, + { + "type": "function", + "name": "burnUsd", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "mintUsd", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "CannotScaleEmptyMapping", + "inputs": [] + }, + { + "type": "error", + "name": "IneligibleForLiquidation", + "inputs": [ + { + "type": "uint256", + "name": "collateralValue" + }, + { + "type": "int256", + "name": "debt" + }, + { + "type": "uint256", + "name": "currentCRatio" + }, + { + "type": "uint256", + "name": "cratio" + } + ] + }, + { + "type": "error", + "name": "InsufficientMappedAmount", + "inputs": [] + }, + { + "type": "error", + "name": "MustBeVaultLiquidated", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowInt128ToUint128", + "inputs": [] + }, + { + "type": "event", + "anonymous": false, + "name": "Liquidation", + "inputs": [ + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "uint128", + "name": "poolId", + "indexed": true + }, + { + "type": "address", + "name": "collateralType", + "indexed": true + }, + { + "type": "tuple", + "name": "liquidationData", + "indexed": false, + "components": [ + { + "type": "uint256", + "name": "debtLiquidated" + }, + { + "type": "uint256", + "name": "collateralLiquidated" + }, + { + "type": "uint256", + "name": "amountRewarded" + } + ] + }, + { + "type": "uint128", + "name": "liquidateAsAccountId", + "indexed": false + }, + { + "type": "address", + "name": "sender", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "VaultLiquidation", + "inputs": [ + { + "type": "uint128", + "name": "poolId", + "indexed": true + }, + { + "type": "address", + "name": "collateralType", + "indexed": true + }, + { + "type": "tuple", + "name": "liquidationData", + "indexed": false, + "components": [ + { + "type": "uint256", + "name": "debtLiquidated" + }, + { + "type": "uint256", + "name": "collateralLiquidated" + }, + { + "type": "uint256", + "name": "amountRewarded" + } + ] + }, + { + "type": "uint128", + "name": "liquidateAsAccountId", + "indexed": false + }, + { + "type": "address", + "name": "sender", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "isPositionLiquidatable", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "isVaultLiquidatable", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "liquidate", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "uint128", + "name": "liquidateAsAccountId" + } + ], + "outputs": [ + { + "type": "tuple", + "name": "liquidationData", + "components": [ + { + "type": "uint256", + "name": "debtLiquidated" + }, + { + "type": "uint256", + "name": "collateralLiquidated" + }, + { + "type": "uint256", + "name": "amountRewarded" + } + ] + } + ] + }, + { + "type": "function", + "name": "liquidateVault", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "uint128", + "name": "liquidateAsAccountId" + }, + { + "type": "uint256", + "name": "maxUsd" + } + ], + "outputs": [ + { + "type": "tuple", + "name": "liquidationData", + "components": [ + { + "type": "uint256", + "name": "debtLiquidated" + }, + { + "type": "uint256", + "name": "collateralLiquidated" + }, + { + "type": "uint256", + "name": "amountRewarded" + } + ] + } + ] + }, + { + "type": "error", + "name": "InsufficientMarketCollateralDepositable", + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "uint256", + "name": "tokenAmountToDeposit" + } + ] + }, + { + "type": "error", + "name": "InsufficientMarketCollateralWithdrawable", + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "uint256", + "name": "tokenAmountToWithdraw" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "MarketCollateralDeposited", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "address", + "name": "collateralType", + "indexed": true + }, + { + "type": "uint256", + "name": "tokenAmount", + "indexed": false + }, + { + "type": "address", + "name": "sender", + "indexed": true + }, + { + "type": "int128", + "name": "creditCapacity", + "indexed": false + }, + { + "type": "int128", + "name": "netIssuance", + "indexed": false + }, + { + "type": "uint256", + "name": "depositedCollateralValue", + "indexed": false + }, + { + "type": "uint256", + "name": "reportedDebt", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "MarketCollateralWithdrawn", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "address", + "name": "collateralType", + "indexed": true + }, + { + "type": "uint256", + "name": "tokenAmount", + "indexed": false + }, + { + "type": "address", + "name": "sender", + "indexed": true + }, + { + "type": "int128", + "name": "creditCapacity", + "indexed": false + }, + { + "type": "int128", + "name": "netIssuance", + "indexed": false + }, + { + "type": "uint256", + "name": "depositedCollateralValue", + "indexed": false + }, + { + "type": "uint256", + "name": "reportedDebt", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "MaximumMarketCollateralConfigured", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "address", + "name": "collateralType", + "indexed": true + }, + { + "type": "uint256", + "name": "systemAmount", + "indexed": false + }, + { + "type": "address", + "name": "owner", + "indexed": true + } + ] + }, + { + "type": "function", + "name": "configureMaximumMarketCollateral", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "depositMarketCollateral", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "uint256", + "name": "tokenAmount" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "getMarketCollateralAmount", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "address", + "name": "collateralType" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "collateralAmountD18" + } + ] + }, + { + "type": "function", + "name": "getMarketCollateralValue", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "getMaximumMarketCollateral", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "address", + "name": "collateralType" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "withdrawMarketCollateral", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "uint256", + "name": "tokenAmount" + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "IncorrectMarketInterface", + "inputs": [ + { + "type": "address", + "name": "market" + } + ] + }, + { + "type": "error", + "name": "NotEnoughLiquidity", + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "amount" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "MarketRegistered", + "inputs": [ + { + "type": "address", + "name": "market", + "indexed": true + }, + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "address", + "name": "sender", + "indexed": true + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "MarketSystemFeePaid", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "uint256", + "name": "feeAmount", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "MarketUsdDeposited", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "address", + "name": "target", + "indexed": true + }, + { + "type": "uint256", + "name": "amount", + "indexed": false + }, + { + "type": "address", + "name": "market", + "indexed": true + }, + { + "type": "int128", + "name": "creditCapacity", + "indexed": false + }, + { + "type": "int128", + "name": "netIssuance", + "indexed": false + }, + { + "type": "uint256", + "name": "depositedCollateralValue", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "MarketUsdWithdrawn", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "address", + "name": "target", + "indexed": true + }, + { + "type": "uint256", + "name": "amount", + "indexed": false + }, + { + "type": "address", + "name": "market", + "indexed": true + }, + { + "type": "int128", + "name": "creditCapacity", + "indexed": false + }, + { + "type": "int128", + "name": "netIssuance", + "indexed": false + }, + { + "type": "uint256", + "name": "depositedCollateralValue", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "SetMarketMinLiquidityRatio", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "uint256", + "name": "minLiquidityRatio", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "SetMinDelegateTime", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "uint32", + "name": "minDelegateTime", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "depositMarketUsd", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "address", + "name": "target" + }, + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "feeAmount" + } + ] + }, + { + "type": "function", + "name": "distributeDebtToPools", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "maxIter" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "getMarketAddress", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "getMarketCollateral", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "getMarketDebtPerShare", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "int256" + } + ] + }, + { + "type": "function", + "name": "getMarketFees", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128" + }, + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "depositFeeAmount" + }, + { + "type": "uint256", + "name": "withdrawFeeAmount" + } + ] + }, + { + "type": "function", + "name": "getMarketMinDelegateTime", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "uint32" + } + ] + }, + { + "type": "function", + "name": "getMarketNetIssuance", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "int128" + } + ] + }, + { + "type": "function", + "name": "getMarketPoolDebtDistribution", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint128", + "name": "poolId" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "sharesD18" + }, + { + "type": "uint128", + "name": "totalSharesD18" + }, + { + "type": "int128", + "name": "valuePerShareD27" + } + ] + }, + { + "type": "function", + "name": "getMarketPools", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "uint128[]", + "name": "inRangePoolIds" + }, + { + "type": "uint128[]", + "name": "outRangePoolIds" + } + ] + }, + { + "type": "function", + "name": "getMarketReportedDebt", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "getMarketTotalDebt", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "int256" + } + ] + }, + { + "type": "function", + "name": "getMinLiquidityRatio", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "getOracleManager", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "getUsdToken", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "getWithdrawableMarketUsd", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "isMarketCapacityLocked", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "registerMarket", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "market" + } + ], + "outputs": [ + { + "type": "uint128", + "name": "marketId" + } + ] + }, + { + "type": "function", + "name": "setMarketMinDelegateTime", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint32", + "name": "minDelegateTime" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setMinLiquidityRatio", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "minLiquidityRatio" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "withdrawMarketUsd", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "address", + "name": "target" + }, + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "feeAmount" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "PoolApprovedAdded", + "inputs": [ + { + "type": "uint256", + "name": "poolId", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "PoolApprovedRemoved", + "inputs": [ + { + "type": "uint256", + "name": "poolId", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "PreferredPoolSet", + "inputs": [ + { + "type": "uint256", + "name": "poolId", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "addApprovedPool", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "getApprovedPools", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint256[]" + } + ] + }, + { + "type": "function", + "name": "getPreferredPool", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint128" + } + ] + }, + { + "type": "function", + "name": "removeApprovedPool", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setPreferredPool", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "CapacityLocked", + "inputs": [ + { + "type": "uint256", + "name": "marketId" + } + ] + }, + { + "type": "error", + "name": "MinDelegationTimeoutPending", + "inputs": [ + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "uint32", + "name": "timeRemaining" + } + ] + }, + { + "type": "error", + "name": "PoolAlreadyExists", + "inputs": [ + { + "type": "uint128", + "name": "poolId" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "PoolCollateralConfigurationUpdated", + "inputs": [ + { + "type": "uint128", + "name": "poolId", + "indexed": true + }, + { + "type": "address", + "name": "collateralType", + "indexed": false + }, + { + "type": "tuple", + "name": "config", + "indexed": false, + "components": [ + { + "type": "uint256", + "name": "collateralLimitD18" + }, + { + "type": "uint256", + "name": "issuanceRatioD18" + } + ] + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "PoolCollateralDisabledByDefaultSet", + "inputs": [ + { + "type": "uint128", + "name": "poolId", + "indexed": false + }, + { + "type": "bool", + "name": "disabled", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "PoolConfigurationSet", + "inputs": [ + { + "type": "uint128", + "name": "poolId", + "indexed": true + }, + { + "type": "tuple[]", + "name": "markets", + "indexed": false, + "components": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint128", + "name": "weightD18" + }, + { + "type": "int128", + "name": "maxDebtShareValueD18" + } + ] + }, + { + "type": "address", + "name": "sender", + "indexed": true + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "PoolCreated", + "inputs": [ + { + "type": "uint128", + "name": "poolId", + "indexed": true + }, + { + "type": "address", + "name": "owner", + "indexed": true + }, + { + "type": "address", + "name": "sender", + "indexed": true + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "PoolNameUpdated", + "inputs": [ + { + "type": "uint128", + "name": "poolId", + "indexed": true + }, + { + "type": "string", + "name": "name", + "indexed": false + }, + { + "type": "address", + "name": "sender", + "indexed": true + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "PoolNominationRenounced", + "inputs": [ + { + "type": "uint128", + "name": "poolId", + "indexed": true + }, + { + "type": "address", + "name": "owner", + "indexed": true + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "PoolNominationRevoked", + "inputs": [ + { + "type": "uint128", + "name": "poolId", + "indexed": true + }, + { + "type": "address", + "name": "owner", + "indexed": true + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "PoolOwnerNominated", + "inputs": [ + { + "type": "uint128", + "name": "poolId", + "indexed": true + }, + { + "type": "address", + "name": "nominatedOwner", + "indexed": true + }, + { + "type": "address", + "name": "owner", + "indexed": true + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "PoolOwnershipAccepted", + "inputs": [ + { + "type": "uint128", + "name": "poolId", + "indexed": true + }, + { + "type": "address", + "name": "owner", + "indexed": true + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "PoolOwnershipRenounced", + "inputs": [ + { + "type": "uint128", + "name": "poolId", + "indexed": true + }, + { + "type": "address", + "name": "owner", + "indexed": true + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "SetMinLiquidityRatio", + "inputs": [ + { + "type": "uint256", + "name": "minLiquidityRatio", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "acceptPoolOwnership", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "createPool", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "requestedPoolId" + }, + { + "type": "address", + "name": "owner" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "getMinLiquidityRatio", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "getNominatedPoolOwner", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + } + ], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "getPoolCollateralConfiguration", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + } + ], + "outputs": [ + { + "type": "tuple", + "name": "config", + "components": [ + { + "type": "uint256", + "name": "collateralLimitD18" + }, + { + "type": "uint256", + "name": "issuanceRatioD18" + } + ] + } + ] + }, + { + "type": "function", + "name": "getPoolCollateralIssuanceRatio", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateral" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "getPoolConfiguration", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + } + ], + "outputs": [ + { + "type": "tuple[]", + "components": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint128", + "name": "weightD18" + }, + { + "type": "int128", + "name": "maxDebtShareValueD18" + } + ] + } + ] + }, + { + "type": "function", + "name": "getPoolName", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + } + ], + "outputs": [ + { + "type": "string", + "name": "poolName" + } + ] + }, + { + "type": "function", + "name": "getPoolOwner", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + } + ], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "nominatePoolOwner", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "nominatedOwner" + }, + { + "type": "uint128", + "name": "poolId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "rebalancePool", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "optionalCollateralType" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "renouncePoolNomination", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "renouncePoolOwnership", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "revokePoolNomination", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setMinLiquidityRatio", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint256", + "name": "minLiquidityRatio" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setPoolCollateralConfiguration", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "tuple", + "name": "newConfig", + "components": [ + { + "type": "uint256", + "name": "collateralLimitD18" + }, + { + "type": "uint256", + "name": "issuanceRatioD18" + } + ] + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setPoolCollateralDisabledByDefault", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "bool", + "name": "disabled" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setPoolConfiguration", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "tuple[]", + "name": "newMarketConfigurations", + "components": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint128", + "name": "weightD18" + }, + { + "type": "int128", + "name": "maxDebtShareValueD18" + } + ] + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setPoolName", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "string", + "name": "name" + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "OverflowUint256ToUint32", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowUint32ToInt32", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowUint64ToInt64", + "inputs": [] + }, + { + "type": "error", + "name": "RewardDistributorNotFound", + "inputs": [] + }, + { + "type": "error", + "name": "RewardUnavailable", + "inputs": [ + { + "type": "address", + "name": "distributor" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "RewardsClaimed", + "inputs": [ + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "uint128", + "name": "poolId", + "indexed": true + }, + { + "type": "address", + "name": "collateralType", + "indexed": true + }, + { + "type": "address", + "name": "distributor", + "indexed": false + }, + { + "type": "uint256", + "name": "amount", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "RewardsDistributed", + "inputs": [ + { + "type": "uint128", + "name": "poolId", + "indexed": true + }, + { + "type": "address", + "name": "collateralType", + "indexed": true + }, + { + "type": "address", + "name": "distributor", + "indexed": false + }, + { + "type": "uint256", + "name": "amount", + "indexed": false + }, + { + "type": "uint256", + "name": "start", + "indexed": false + }, + { + "type": "uint256", + "name": "duration", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "RewardsDistributorRegistered", + "inputs": [ + { + "type": "uint128", + "name": "poolId", + "indexed": true + }, + { + "type": "address", + "name": "collateralType", + "indexed": true + }, + { + "type": "address", + "name": "distributor", + "indexed": true + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "RewardsDistributorRemoved", + "inputs": [ + { + "type": "uint128", + "name": "poolId", + "indexed": true + }, + { + "type": "address", + "name": "collateralType", + "indexed": true + }, + { + "type": "address", + "name": "distributor", + "indexed": true + } + ] + }, + { + "type": "function", + "name": "claimRewards", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "address", + "name": "distributor" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "distributeRewards", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "uint256", + "name": "amount" + }, + { + "type": "uint64", + "name": "start" + }, + { + "type": "uint32", + "name": "duration" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "getAvailableRewards", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "address", + "name": "distributor" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "getRewardRate", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "address", + "name": "distributor" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "registerRewardsDistributor", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "address", + "name": "distributor" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "removeRewardsDistributor", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "address", + "name": "distributor" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "updateRewards", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "uint128", + "name": "accountId" + } + ], + "outputs": [ + { + "type": "uint256[]" + }, + { + "type": "address[]" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "NewSupportedCrossChainNetwork", + "inputs": [ + { + "type": "uint64", + "name": "newChainId", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "configureChainlinkCrossChain", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "ccipRouter" + }, + { + "type": "address", + "name": "ccipTokenPool" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "configureOracleManager", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "oracleManagerAddress" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "getConfig", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "k" + } + ], + "outputs": [ + { + "type": "bytes32", + "name": "v" + } + ] + }, + { + "type": "function", + "name": "getConfigAddress", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "k" + } + ], + "outputs": [ + { + "type": "address", + "name": "v" + } + ] + }, + { + "type": "function", + "name": "getConfigUint", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "k" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "v" + } + ] + }, + { + "type": "function", + "name": "getTrustedForwarder", + "constant": true, + "stateMutability": "pure", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "isTrustedForwarder", + "constant": true, + "stateMutability": "pure", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "forwarder" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "setConfig", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "k" + }, + { + "type": "bytes32", + "name": "v" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setSupportedCrossChainNetworks", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint64[]", + "name": "supportedNetworks" + }, + { + "type": "uint64[]", + "name": "ccipSelectors" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "numRegistered" + } + ] + }, + { + "type": "function", + "name": "supportsInterface", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes4", + "name": "interfaceId" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "error", + "name": "InsufficientDelegation", + "inputs": [ + { + "type": "uint256", + "name": "minDelegation" + } + ] + }, + { + "type": "error", + "name": "InvalidCollateralAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidLeverage", + "inputs": [ + { + "type": "uint256", + "name": "leverage" + } + ] + }, + { + "type": "error", + "name": "PoolCollateralLimitExceeded", + "inputs": [ + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "uint256", + "name": "currentCollateral" + }, + { + "type": "uint256", + "name": "maxCollateral" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "DelegationUpdated", + "inputs": [ + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "uint128", + "name": "poolId", + "indexed": true + }, + { + "type": "address", + "name": "collateralType", + "indexed": false + }, + { + "type": "uint256", + "name": "amount", + "indexed": false + }, + { + "type": "uint256", + "name": "leverage", + "indexed": false + }, + { + "type": "address", + "name": "sender", + "indexed": true + } + ] + }, + { + "type": "function", + "name": "delegateCollateral", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + }, + { + "type": "uint256", + "name": "newCollateralAmountD18" + }, + { + "type": "uint256", + "name": "leverage" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "getPosition", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "collateralAmount" + }, + { + "type": "uint256", + "name": "collateralValue" + }, + { + "type": "int256", + "name": "debt" + }, + { + "type": "uint256", + "name": "collateralizationRatio" + } + ] + }, + { + "type": "function", + "name": "getPositionCollateral", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "amount" + } + ] + }, + { + "type": "function", + "name": "getPositionCollateralRatio", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "getPositionDebt", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + } + ], + "outputs": [ + { + "type": "int256", + "name": "debt" + } + ] + }, + { + "type": "function", + "name": "getVaultCollateral", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "amount" + }, + { + "type": "uint256", + "name": "value" + } + ] + }, + { + "type": "function", + "name": "getVaultCollateralRatio", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "getVaultDebt", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + }, + { + "type": "address", + "name": "collateralType" + } + ], + "outputs": [ + { + "type": "int256" + } + ] + } +] \ No newline at end of file diff --git a/42161-arbthetix/CoreProxy.readable.json b/42161-arbthetix/CoreProxy.readable.json new file mode 100644 index 000000000..4ccc882a9 --- /dev/null +++ b/42161-arbthetix/CoreProxy.readable.json @@ -0,0 +1,250 @@ +[ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)", + "error FeatureUnavailable(bytes32 which)", + "error InvalidAccountId(uint128 accountId)", + "error InvalidPermission(bytes32 permission)", + "error OnlyAccountTokenProxy(address origin)", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PermissionNotGranted(uint128 accountId, bytes32 permission, address user)", + "error PositionOutOfBounds()", + "event AccountCreated(uint128 indexed accountId, address indexed owner)", + "event PermissionGranted(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "event PermissionRevoked(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "function createAccount() returns (uint128 accountId)", + "function createAccount(uint128 requestedAccountId)", + "function getAccountLastInteraction(uint128 accountId) view returns (uint256)", + "function getAccountOwner(uint128 accountId) view returns (address)", + "function getAccountPermissions(uint128 accountId) view returns (tuple(address user, bytes32[] permissions)[] accountPerms)", + "function getAccountTokenAddress() view returns (address)", + "function grantPermission(uint128 accountId, bytes32 permission, address user)", + "function hasPermission(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function isAuthorized(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function notifyAccountTransfer(address to, uint128 accountId)", + "function renouncePermission(uint128 accountId, bytes32 permission)", + "function revokePermission(uint128 accountId, bytes32 permission, address user)", + "error AccountNotFound(uint128 accountId)", + "error EmptyDistribution()", + "error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)", + "error MarketNotFound(uint128 marketId)", + "error NotFundedByPool(uint256 marketId, uint256 poolId)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "event DebtAssociated(uint128 indexed marketId, uint128 indexed poolId, address indexed collateralType, uint128 accountId, uint256 amount, int256 updatedDebt)", + "function associateDebt(uint128 marketId, uint128 poolId, address collateralType, uint128 accountId, uint256 amount) returns (int256)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "error InvalidMessage()", + "error NotCcipRouter(address)", + "error UnsupportedNetwork(uint64)", + "function ccipReceive(tuple(bytes32 messageId, uint64 sourceChainSelector, bytes sender, bytes data, tuple(address token, uint256 amount)[] tokenAmounts) message)", + "error AccountActivityTimeoutPending(uint128 accountId, uint256 currentTime, uint256 requiredTime)", + "error CollateralDepositDisabled(address collateralType)", + "error CollateralNotFound()", + "error FailedTransfer(address from, address to, uint256 value)", + "error InsufficentAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)", + "error InsufficientAccountCollateral(uint256 amount)", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "error OverflowUint256ToUint64()", + "error PrecisionLost(uint256 tokenAmount, uint8 decimals)", + "event CollateralLockCreated(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event CollateralLockExpired(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event Deposited(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "event Withdrawn(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "function cleanExpiredLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) returns (uint256 cleared)", + "function createLock(uint128 accountId, address collateralType, uint256 amount, uint64 expireTimestamp)", + "function deposit(uint128 accountId, address collateralType, uint256 tokenAmount)", + "function getAccountAvailableCollateral(uint128 accountId, address collateralType) view returns (uint256)", + "function getAccountCollateral(uint128 accountId, address collateralType) view returns (uint256 totalDeposited, uint256 totalAssigned, uint256 totalLocked)", + "function getLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) view returns (tuple(uint128 amountD18, uint64 lockExpirationTime)[] locks)", + "function withdraw(uint128 accountId, address collateralType, uint256 tokenAmount)", + "event CollateralConfigured(address indexed collateralType, tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function configureCollateral(tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function getCollateralConfiguration(address collateralType) pure returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18))", + "function getCollateralConfigurations(bool hideDisabled) view returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18)[])", + "function getCollateralPrice(address collateralType) view returns (uint256)", + "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", + "event TransferCrossChainInitiated(uint64 indexed destChainId, uint256 indexed amount, address sender)", + "function transferCrossChain(uint64 destChainId, uint256 amount) payable returns (uint256 gasTokenUsed)", + "error InsufficientDebt(int256 currentDebt)", + "error PoolNotFound(uint128 poolId)", + "event IssuanceFeePaid(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 feeAmount)", + "event UsdBurned(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "event UsdMinted(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "function burnUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)", + "function mintUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)", + "error CannotScaleEmptyMapping()", + "error IneligibleForLiquidation(uint256 collateralValue, int256 debt, uint256 currentCRatio, uint256 cratio)", + "error InsufficientMappedAmount()", + "error MustBeVaultLiquidated()", + "error OverflowInt128ToUint128()", + "event Liquidation(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "event VaultLiquidation(uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "function isPositionLiquidatable(uint128 accountId, uint128 poolId, address collateralType) returns (bool)", + "function isVaultLiquidatable(uint128 poolId, address collateralType) returns (bool)", + "function liquidate(uint128 accountId, uint128 poolId, address collateralType, uint128 liquidateAsAccountId) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)", + "function liquidateVault(uint128 poolId, address collateralType, uint128 liquidateAsAccountId, uint256 maxUsd) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)", + "error InsufficientMarketCollateralDepositable(uint128 marketId, address collateralType, uint256 tokenAmountToDeposit)", + "error InsufficientMarketCollateralWithdrawable(uint128 marketId, address collateralType, uint256 tokenAmountToWithdraw)", + "event MarketCollateralDeposited(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MarketCollateralWithdrawn(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MaximumMarketCollateralConfigured(uint128 indexed marketId, address indexed collateralType, uint256 systemAmount, address indexed owner)", + "function configureMaximumMarketCollateral(uint128 marketId, address collateralType, uint256 amount)", + "function depositMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)", + "function getMarketCollateralAmount(uint128 marketId, address collateralType) view returns (uint256 collateralAmountD18)", + "function getMarketCollateralValue(uint128 marketId) view returns (uint256)", + "function getMaximumMarketCollateral(uint128 marketId, address collateralType) view returns (uint256)", + "function withdrawMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)", + "error IncorrectMarketInterface(address market)", + "error NotEnoughLiquidity(uint128 marketId, uint256 amount)", + "event MarketRegistered(address indexed market, uint128 indexed marketId, address indexed sender)", + "event MarketSystemFeePaid(uint128 indexed marketId, uint256 feeAmount)", + "event MarketUsdDeposited(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event MarketUsdWithdrawn(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event SetMarketMinLiquidityRatio(uint128 indexed marketId, uint256 minLiquidityRatio)", + "event SetMinDelegateTime(uint128 indexed marketId, uint32 minDelegateTime)", + "function depositMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", + "function distributeDebtToPools(uint128 marketId, uint256 maxIter) returns (bool)", + "function getMarketAddress(uint128 marketId) view returns (address)", + "function getMarketCollateral(uint128 marketId) view returns (uint256)", + "function getMarketDebtPerShare(uint128 marketId) returns (int256)", + "function getMarketFees(uint128, uint256 amount) view returns (uint256 depositFeeAmount, uint256 withdrawFeeAmount)", + "function getMarketMinDelegateTime(uint128 marketId) view returns (uint32)", + "function getMarketNetIssuance(uint128 marketId) view returns (int128)", + "function getMarketPoolDebtDistribution(uint128 marketId, uint128 poolId) returns (uint256 sharesD18, uint128 totalSharesD18, int128 valuePerShareD27)", + "function getMarketPools(uint128 marketId) returns (uint128[] inRangePoolIds, uint128[] outRangePoolIds)", + "function getMarketReportedDebt(uint128 marketId) view returns (uint256)", + "function getMarketTotalDebt(uint128 marketId) view returns (int256)", + "function getMinLiquidityRatio(uint128 marketId) view returns (uint256)", + "function getOracleManager() view returns (address)", + "function getUsdToken() view returns (address)", + "function getWithdrawableMarketUsd(uint128 marketId) view returns (uint256)", + "function isMarketCapacityLocked(uint128 marketId) view returns (bool)", + "function registerMarket(address market) returns (uint128 marketId)", + "function setMarketMinDelegateTime(uint128 marketId, uint32 minDelegateTime)", + "function setMinLiquidityRatio(uint128 marketId, uint256 minLiquidityRatio)", + "function withdrawMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", + "event PoolApprovedAdded(uint256 poolId)", + "event PoolApprovedRemoved(uint256 poolId)", + "event PreferredPoolSet(uint256 poolId)", + "function addApprovedPool(uint128 poolId)", + "function getApprovedPools() view returns (uint256[])", + "function getPreferredPool() view returns (uint128)", + "function removeApprovedPool(uint128 poolId)", + "function setPreferredPool(uint128 poolId)", + "error CapacityLocked(uint256 marketId)", + "error MinDelegationTimeoutPending(uint128 poolId, uint32 timeRemaining)", + "error PoolAlreadyExists(uint128 poolId)", + "event PoolCollateralConfigurationUpdated(uint128 indexed poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "event PoolCollateralDisabledByDefaultSet(uint128 poolId, bool disabled)", + "event PoolConfigurationSet(uint128 indexed poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] markets, address indexed sender)", + "event PoolCreated(uint128 indexed poolId, address indexed owner, address indexed sender)", + "event PoolNameUpdated(uint128 indexed poolId, string name, address indexed sender)", + "event PoolNominationRenounced(uint128 indexed poolId, address indexed owner)", + "event PoolNominationRevoked(uint128 indexed poolId, address indexed owner)", + "event PoolOwnerNominated(uint128 indexed poolId, address indexed nominatedOwner, address indexed owner)", + "event PoolOwnershipAccepted(uint128 indexed poolId, address indexed owner)", + "event PoolOwnershipRenounced(uint128 indexed poolId, address indexed owner)", + "event SetMinLiquidityRatio(uint256 minLiquidityRatio)", + "function acceptPoolOwnership(uint128 poolId)", + "function createPool(uint128 requestedPoolId, address owner)", + "function getMinLiquidityRatio() view returns (uint256)", + "function getNominatedPoolOwner(uint128 poolId) view returns (address)", + "function getPoolCollateralConfiguration(uint128 poolId, address collateralType) view returns (tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "function getPoolCollateralIssuanceRatio(uint128 poolId, address collateral) view returns (uint256)", + "function getPoolConfiguration(uint128 poolId) view returns (tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[])", + "function getPoolName(uint128 poolId) view returns (string poolName)", + "function getPoolOwner(uint128 poolId) view returns (address)", + "function nominatePoolOwner(address nominatedOwner, uint128 poolId)", + "function rebalancePool(uint128 poolId, address optionalCollateralType)", + "function renouncePoolNomination(uint128 poolId)", + "function renouncePoolOwnership(uint128 poolId)", + "function revokePoolNomination(uint128 poolId)", + "function setMinLiquidityRatio(uint256 minLiquidityRatio)", + "function setPoolCollateralConfiguration(uint128 poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) newConfig)", + "function setPoolCollateralDisabledByDefault(uint128 poolId, bool disabled)", + "function setPoolConfiguration(uint128 poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] newMarketConfigurations)", + "function setPoolName(uint128 poolId, string name)", + "error OverflowUint256ToUint32()", + "error OverflowUint32ToInt32()", + "error OverflowUint64ToInt64()", + "error RewardDistributorNotFound()", + "error RewardUnavailable(address distributor)", + "event RewardsClaimed(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount)", + "event RewardsDistributed(uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount, uint256 start, uint256 duration)", + "event RewardsDistributorRegistered(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "event RewardsDistributorRemoved(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "function claimRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) returns (uint256)", + "function distributeRewards(uint128 poolId, address collateralType, uint256 amount, uint64 start, uint32 duration)", + "function getAvailableRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function getRewardRate(uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function registerRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function removeRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function updateRewards(uint128 poolId, address collateralType, uint128 accountId) returns (uint256[], address[])", + "event NewSupportedCrossChainNetwork(uint64 newChainId)", + "function configureChainlinkCrossChain(address ccipRouter, address ccipTokenPool)", + "function configureOracleManager(address oracleManagerAddress)", + "function getConfig(bytes32 k) view returns (bytes32 v)", + "function getConfigAddress(bytes32 k) view returns (address v)", + "function getConfigUint(bytes32 k) view returns (uint256 v)", + "function getTrustedForwarder() pure returns (address)", + "function isTrustedForwarder(address forwarder) pure returns (bool)", + "function setConfig(bytes32 k, bytes32 v)", + "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "error InsufficientDelegation(uint256 minDelegation)", + "error InvalidCollateralAmount()", + "error InvalidLeverage(uint256 leverage)", + "error PoolCollateralLimitExceeded(uint128 poolId, address collateralType, uint256 currentCollateral, uint256 maxCollateral)", + "event DelegationUpdated(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, uint256 leverage, address indexed sender)", + "function delegateCollateral(uint128 accountId, uint128 poolId, address collateralType, uint256 newCollateralAmountD18, uint256 leverage)", + "function getPosition(uint128 accountId, uint128 poolId, address collateralType) returns (uint256 collateralAmount, uint256 collateralValue, int256 debt, uint256 collateralizationRatio)", + "function getPositionCollateral(uint128 accountId, uint128 poolId, address collateralType) view returns (uint256 amount)", + "function getPositionCollateralRatio(uint128 accountId, uint128 poolId, address collateralType) returns (uint256)", + "function getPositionDebt(uint128 accountId, uint128 poolId, address collateralType) returns (int256 debt)", + "function getVaultCollateral(uint128 poolId, address collateralType) view returns (uint256 amount, uint256 value)", + "function getVaultCollateralRatio(uint128 poolId, address collateralType) returns (uint256)", + "function getVaultDebt(uint128 poolId, address collateralType) returns (int256)" +] \ No newline at end of file diff --git a/42161-arbthetix/OracleManagerProxy.json b/42161-arbthetix/OracleManagerProxy.json new file mode 100644 index 000000000..5704daf3d --- /dev/null +++ b/42161-arbthetix/OracleManagerProxy.json @@ -0,0 +1,529 @@ +[ + { + "type": "error", + "name": "ImplementationIsSterile", + "inputs": [ + { + "type": "address", + "name": "implementation" + } + ] + }, + { + "type": "error", + "name": "NoChange", + "inputs": [] + }, + { + "type": "error", + "name": "NotAContract", + "inputs": [ + { + "type": "address", + "name": "contr" + } + ] + }, + { + "type": "error", + "name": "NotNominated", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "UpgradeSimulationFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroAddress", + "inputs": [] + }, + { + "type": "event", + "anonymous": false, + "name": "OwnerChanged", + "inputs": [ + { + "type": "address", + "name": "oldOwner", + "indexed": false + }, + { + "type": "address", + "name": "newOwner", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "OwnerNominated", + "inputs": [ + { + "type": "address", + "name": "newOwner", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "Upgraded", + "inputs": [ + { + "type": "address", + "name": "self", + "indexed": true + }, + { + "type": "address", + "name": "implementation", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "acceptOwnership", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "type": "function", + "name": "getImplementation", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "nominateNewOwner", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "newNominatedOwner" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "nominatedOwner", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "owner", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "renounceNomination", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "type": "function", + "name": "simulateUpgradeTo", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "newImplementation" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "upgradeTo", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "newImplementation" + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "DeviationToleranceExceeded", + "inputs": [ + { + "type": "int256", + "name": "deviation" + } + ] + }, + { + "type": "error", + "name": "InvalidInputPrice", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidNodeDefinition", + "inputs": [ + { + "type": "tuple", + "name": "nodeType", + "components": [ + { + "type": "uint8", + "name": "nodeType" + }, + { + "type": "bytes", + "name": "parameters" + }, + { + "type": "bytes32[]", + "name": "parents" + } + ] + } + ] + }, + { + "type": "error", + "name": "InvalidParameter", + "inputs": [ + { + "type": "string", + "name": "parameter" + }, + { + "type": "string", + "name": "reason" + } + ] + }, + { + "type": "error", + "name": "InvalidPrice", + "inputs": [ + { + "type": "int256", + "name": "price" + } + ] + }, + { + "type": "error", + "name": "NodeNotRegistered", + "inputs": [ + { + "type": "bytes32", + "name": "nodeId" + } + ] + }, + { + "type": "error", + "name": "OracleDataRequired", + "inputs": [ + { + "type": "address", + "name": "oracleContract" + }, + { + "type": "bytes", + "name": "oracleQuery" + } + ] + }, + { + "type": "error", + "name": "OverflowInt256ToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowInt56ToInt24", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowUint256ToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowUint256ToUint160", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowUint56ToInt56", + "inputs": [] + }, + { + "type": "error", + "name": "StalenessToleranceExceeded", + "inputs": [] + }, + { + "type": "error", + "name": "UnprocessableNode", + "inputs": [ + { + "type": "bytes32", + "name": "nodeId" + } + ] + }, + { + "type": "error", + "name": "UnsupportedOperation", + "inputs": [ + { + "type": "uint8", + "name": "operation" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "NodeRegistered", + "inputs": [ + { + "type": "bytes32", + "name": "nodeId", + "indexed": false + }, + { + "type": "uint8", + "name": "nodeType", + "indexed": false + }, + { + "type": "bytes", + "name": "parameters", + "indexed": false + }, + { + "type": "bytes32[]", + "name": "parents", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "getNode", + "constant": true, + "stateMutability": "pure", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "nodeId" + } + ], + "outputs": [ + { + "type": "tuple", + "name": "node", + "components": [ + { + "type": "uint8", + "name": "nodeType" + }, + { + "type": "bytes", + "name": "parameters" + }, + { + "type": "bytes32[]", + "name": "parents" + } + ] + } + ] + }, + { + "type": "function", + "name": "getNodeId", + "constant": true, + "stateMutability": "pure", + "payable": false, + "inputs": [ + { + "type": "uint8", + "name": "nodeType" + }, + { + "type": "bytes", + "name": "parameters" + }, + { + "type": "bytes32[]", + "name": "parents" + } + ], + "outputs": [ + { + "type": "bytes32", + "name": "nodeId" + } + ] + }, + { + "type": "function", + "name": "process", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "nodeId" + } + ], + "outputs": [ + { + "type": "tuple", + "name": "node", + "components": [ + { + "type": "int256", + "name": "price" + }, + { + "type": "uint256", + "name": "timestamp" + }, + { + "type": "uint256", + "name": "__slotAvailableForFutureUse1" + }, + { + "type": "uint256", + "name": "__slotAvailableForFutureUse2" + } + ] + } + ] + }, + { + "type": "function", + "name": "processWithRuntime", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "nodeId" + }, + { + "type": "bytes32[]", + "name": "runtimeKeys" + }, + { + "type": "bytes32[]", + "name": "runtimeValues" + } + ], + "outputs": [ + { + "type": "tuple", + "name": "node", + "components": [ + { + "type": "int256", + "name": "price" + }, + { + "type": "uint256", + "name": "timestamp" + }, + { + "type": "uint256", + "name": "__slotAvailableForFutureUse1" + }, + { + "type": "uint256", + "name": "__slotAvailableForFutureUse2" + } + ] + } + ] + }, + { + "type": "function", + "name": "registerNode", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint8", + "name": "nodeType" + }, + { + "type": "bytes", + "name": "parameters" + }, + { + "type": "bytes32[]", + "name": "parents" + } + ], + "outputs": [ + { + "type": "bytes32", + "name": "nodeId" + } + ] + } +] \ No newline at end of file diff --git a/42161-arbthetix/OracleManagerProxy.readable.json b/42161-arbthetix/OracleManagerProxy.readable.json new file mode 100644 index 000000000..3b3372c58 --- /dev/null +++ b/42161-arbthetix/OracleManagerProxy.readable.json @@ -0,0 +1,41 @@ +[ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error DeviationToleranceExceeded(int256 deviation)", + "error InvalidInputPrice()", + "error InvalidNodeDefinition(tuple(uint8 nodeType, bytes parameters, bytes32[] parents) nodeType)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidPrice(int256 price)", + "error NodeNotRegistered(bytes32 nodeId)", + "error OracleDataRequired(address oracleContract, bytes oracleQuery)", + "error OverflowInt256ToUint256()", + "error OverflowInt56ToInt24()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint160()", + "error OverflowUint56ToInt56()", + "error StalenessToleranceExceeded()", + "error UnprocessableNode(bytes32 nodeId)", + "error UnsupportedOperation(uint8 operation)", + "event NodeRegistered(bytes32 nodeId, uint8 nodeType, bytes parameters, bytes32[] parents)", + "function getNode(bytes32 nodeId) pure returns (tuple(uint8 nodeType, bytes parameters, bytes32[] parents) node)", + "function getNodeId(uint8 nodeType, bytes parameters, bytes32[] parents) pure returns (bytes32 nodeId)", + "function process(bytes32 nodeId) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function processWithRuntime(bytes32 nodeId, bytes32[] runtimeKeys, bytes32[] runtimeValues) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function registerNode(uint8 nodeType, bytes parameters, bytes32[] parents) returns (bytes32 nodeId)" +] \ No newline at end of file diff --git a/42161-arbthetix/PerpsAccountProxy.json b/42161-arbthetix/PerpsAccountProxy.json new file mode 100644 index 000000000..7ff0dfbf4 --- /dev/null +++ b/42161-arbthetix/PerpsAccountProxy.json @@ -0,0 +1,760 @@ +[ + { + "type": "error", + "name": "ImplementationIsSterile", + "inputs": [ + { + "type": "address", + "name": "implementation" + } + ] + }, + { + "type": "error", + "name": "NoChange", + "inputs": [] + }, + { + "type": "error", + "name": "NotAContract", + "inputs": [ + { + "type": "address", + "name": "contr" + } + ] + }, + { + "type": "error", + "name": "NotNominated", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "UpgradeSimulationFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroAddress", + "inputs": [] + }, + { + "type": "event", + "anonymous": false, + "name": "OwnerChanged", + "inputs": [ + { + "type": "address", + "name": "oldOwner", + "indexed": false + }, + { + "type": "address", + "name": "newOwner", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "OwnerNominated", + "inputs": [ + { + "type": "address", + "name": "newOwner", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "Upgraded", + "inputs": [ + { + "type": "address", + "name": "self", + "indexed": true + }, + { + "type": "address", + "name": "implementation", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "acceptOwnership", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "type": "function", + "name": "getImplementation", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "nominateNewOwner", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "newNominatedOwner" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "nominatedOwner", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "owner", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "renounceNomination", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "type": "function", + "name": "simulateUpgradeTo", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "newImplementation" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "upgradeTo", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "newImplementation" + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "AlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "CannotSelfApprove", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "IndexOverrun", + "inputs": [ + { + "type": "uint256", + "name": "requestedIndex" + }, + { + "type": "uint256", + "name": "length" + } + ] + }, + { + "type": "error", + "name": "InvalidOwner", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "InvalidParameter", + "inputs": [ + { + "type": "string", + "name": "parameter" + }, + { + "type": "string", + "name": "reason" + } + ] + }, + { + "type": "error", + "name": "InvalidTransferRecipient", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "OverflowUint256ToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "TokenAlreadyMinted", + "inputs": [ + { + "type": "uint256", + "name": "id" + } + ] + }, + { + "type": "error", + "name": "TokenDoesNotExist", + "inputs": [ + { + "type": "uint256", + "name": "id" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "Approval", + "inputs": [ + { + "type": "address", + "name": "owner", + "indexed": true + }, + { + "type": "address", + "name": "approved", + "indexed": true + }, + { + "type": "uint256", + "name": "tokenId", + "indexed": true + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "ApprovalForAll", + "inputs": [ + { + "type": "address", + "name": "owner", + "indexed": true + }, + { + "type": "address", + "name": "operator", + "indexed": true + }, + { + "type": "bool", + "name": "approved", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "Transfer", + "inputs": [ + { + "type": "address", + "name": "from", + "indexed": true + }, + { + "type": "address", + "name": "to", + "indexed": true + }, + { + "type": "uint256", + "name": "tokenId", + "indexed": true + } + ] + }, + { + "type": "function", + "name": "approve", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "tokenId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "balanceOf", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "holder" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "balance" + } + ] + }, + { + "type": "function", + "name": "burn", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint256", + "name": "tokenId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "getApproved", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint256", + "name": "tokenId" + } + ], + "outputs": [ + { + "type": "address", + "name": "operator" + } + ] + }, + { + "type": "function", + "name": "initialize", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "string", + "name": "tokenName" + }, + { + "type": "string", + "name": "tokenSymbol" + }, + { + "type": "string", + "name": "uri" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "isApprovedForAll", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "holder" + }, + { + "type": "address", + "name": "operator" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "isInitialized", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "mint", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "tokenId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "name", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "string" + } + ] + }, + { + "type": "function", + "name": "ownerOf", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint256", + "name": "tokenId" + } + ], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "safeMint", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "tokenId" + }, + { + "type": "bytes", + "name": "data" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "safeTransferFrom", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "from" + }, + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "tokenId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "safeTransferFrom", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "from" + }, + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "tokenId" + }, + { + "type": "bytes", + "name": "data" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setAllowance", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint256", + "name": "tokenId" + }, + { + "type": "address", + "name": "spender" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setApprovalForAll", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "operator" + }, + { + "type": "bool", + "name": "approved" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setBaseTokenURI", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "string", + "name": "uri" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "supportsInterface", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes4", + "name": "interfaceId" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "symbol", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "string" + } + ] + }, + { + "type": "function", + "name": "tokenByIndex", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint256", + "name": "index" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "tokenOfOwnerByIndex", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "owner" + }, + { + "type": "uint256", + "name": "index" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "tokenURI", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint256", + "name": "tokenId" + } + ], + "outputs": [ + { + "type": "string" + } + ] + }, + { + "type": "function", + "name": "totalSupply", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "transferFrom", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "from" + }, + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "tokenId" + } + ], + "outputs": [] + } +] \ No newline at end of file diff --git a/42161-arbthetix/PerpsAccountProxy.readable.json b/42161-arbthetix/PerpsAccountProxy.readable.json new file mode 100644 index 000000000..08373974d --- /dev/null +++ b/42161-arbthetix/PerpsAccountProxy.readable.json @@ -0,0 +1,55 @@ +[ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error AlreadyInitialized()", + "error CannotSelfApprove(address addr)", + "error IndexOverrun(uint256 requestedIndex, uint256 length)", + "error InvalidOwner(address addr)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidTransferRecipient(address addr)", + "error OverflowUint256ToUint128()", + "error TokenAlreadyMinted(uint256 id)", + "error TokenDoesNotExist(uint256 id)", + "event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)", + "event ApprovalForAll(address indexed owner, address indexed operator, bool approved)", + "event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)", + "function approve(address to, uint256 tokenId)", + "function balanceOf(address holder) view returns (uint256 balance)", + "function burn(uint256 tokenId)", + "function getApproved(uint256 tokenId) view returns (address operator)", + "function initialize(string tokenName, string tokenSymbol, string uri)", + "function isApprovedForAll(address holder, address operator) view returns (bool)", + "function isInitialized() view returns (bool)", + "function mint(address to, uint256 tokenId)", + "function name() view returns (string)", + "function ownerOf(uint256 tokenId) view returns (address)", + "function safeMint(address to, uint256 tokenId, bytes data)", + "function safeTransferFrom(address from, address to, uint256 tokenId)", + "function safeTransferFrom(address from, address to, uint256 tokenId, bytes data)", + "function setAllowance(uint256 tokenId, address spender)", + "function setApprovalForAll(address operator, bool approved)", + "function setBaseTokenURI(string uri)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function symbol() view returns (string)", + "function tokenByIndex(uint256 index) view returns (uint256)", + "function tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)", + "function tokenURI(uint256 tokenId) view returns (string)", + "function totalSupply() view returns (uint256)", + "function transferFrom(address from, address to, uint256 tokenId)" +] \ No newline at end of file diff --git a/42161-arbthetix/PerpsMarketProxy.json b/42161-arbthetix/PerpsMarketProxy.json new file mode 100644 index 000000000..6807700ab --- /dev/null +++ b/42161-arbthetix/PerpsMarketProxy.json @@ -0,0 +1,4252 @@ +[ + { + "type": "error", + "name": "FeatureUnavailable", + "inputs": [ + { + "type": "bytes32", + "name": "which" + } + ] + }, + { + "type": "error", + "name": "InvalidAccountId", + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ] + }, + { + "type": "error", + "name": "InvalidPermission", + "inputs": [ + { + "type": "bytes32", + "name": "permission" + } + ] + }, + { + "type": "error", + "name": "OnlyAccountTokenProxy", + "inputs": [ + { + "type": "address", + "name": "origin" + } + ] + }, + { + "type": "error", + "name": "PermissionDenied", + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "bytes32", + "name": "permission" + }, + { + "type": "address", + "name": "target" + } + ] + }, + { + "type": "error", + "name": "PermissionNotGranted", + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "bytes32", + "name": "permission" + }, + { + "type": "address", + "name": "user" + } + ] + }, + { + "type": "error", + "name": "PositionOutOfBounds", + "inputs": [] + }, + { + "type": "error", + "name": "ValueAlreadyInSet", + "inputs": [] + }, + { + "type": "error", + "name": "ValueNotInSet", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroAddress", + "inputs": [] + }, + { + "type": "event", + "anonymous": false, + "name": "AccountCreated", + "inputs": [ + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "address", + "name": "owner", + "indexed": true + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "PermissionGranted", + "inputs": [ + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "bytes32", + "name": "permission", + "indexed": true + }, + { + "type": "address", + "name": "user", + "indexed": true + }, + { + "type": "address", + "name": "sender", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "PermissionRevoked", + "inputs": [ + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "bytes32", + "name": "permission", + "indexed": true + }, + { + "type": "address", + "name": "user", + "indexed": true + }, + { + "type": "address", + "name": "sender", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "createAccount", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint128", + "name": "accountId" + } + ] + }, + { + "type": "function", + "name": "createAccount", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "requestedAccountId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "getAccountLastInteraction", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "getAccountOwner", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "getAccountPermissions", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ], + "outputs": [ + { + "type": "tuple[]", + "name": "accountPerms", + "components": [ + { + "type": "address", + "name": "user" + }, + { + "type": "bytes32[]", + "name": "permissions" + } + ] + } + ] + }, + { + "type": "function", + "name": "getAccountTokenAddress", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "grantPermission", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "bytes32", + "name": "permission" + }, + { + "type": "address", + "name": "user" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "hasPermission", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "bytes32", + "name": "permission" + }, + { + "type": "address", + "name": "user" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "isAuthorized", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "bytes32", + "name": "permission" + }, + { + "type": "address", + "name": "user" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "notifyAccountTransfer", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "to" + }, + { + "type": "uint128", + "name": "accountId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "renouncePermission", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "bytes32", + "name": "permission" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "revokePermission", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "bytes32", + "name": "permission" + }, + { + "type": "address", + "name": "user" + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "MismatchAssociatedSystemKind", + "inputs": [ + { + "type": "bytes32", + "name": "expected" + }, + { + "type": "bytes32", + "name": "actual" + } + ] + }, + { + "type": "error", + "name": "MissingAssociatedSystem", + "inputs": [ + { + "type": "bytes32", + "name": "id" + } + ] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "AssociatedSystemSet", + "inputs": [ + { + "type": "bytes32", + "name": "kind", + "indexed": true + }, + { + "type": "bytes32", + "name": "id", + "indexed": true + }, + { + "type": "address", + "name": "proxy", + "indexed": false + }, + { + "type": "address", + "name": "impl", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "getAssociatedSystem", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "id" + } + ], + "outputs": [ + { + "type": "address", + "name": "addr" + }, + { + "type": "bytes32", + "name": "kind" + } + ] + }, + { + "type": "function", + "name": "initOrUpgradeNft", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "id" + }, + { + "type": "string", + "name": "name" + }, + { + "type": "string", + "name": "symbol" + }, + { + "type": "string", + "name": "uri" + }, + { + "type": "address", + "name": "impl" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "initOrUpgradeToken", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "id" + }, + { + "type": "string", + "name": "name" + }, + { + "type": "string", + "name": "symbol" + }, + { + "type": "uint8", + "name": "decimals" + }, + { + "type": "address", + "name": "impl" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "registerUnmanagedSystem", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "id" + }, + { + "type": "address", + "name": "endpoint" + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "ImplementationIsSterile", + "inputs": [ + { + "type": "address", + "name": "implementation" + } + ] + }, + { + "type": "error", + "name": "NoChange", + "inputs": [] + }, + { + "type": "error", + "name": "NotAContract", + "inputs": [ + { + "type": "address", + "name": "contr" + } + ] + }, + { + "type": "error", + "name": "NotNominated", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "UpgradeSimulationFailed", + "inputs": [] + }, + { + "type": "event", + "anonymous": false, + "name": "OwnerChanged", + "inputs": [ + { + "type": "address", + "name": "oldOwner", + "indexed": false + }, + { + "type": "address", + "name": "newOwner", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "OwnerNominated", + "inputs": [ + { + "type": "address", + "name": "newOwner", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "Upgraded", + "inputs": [ + { + "type": "address", + "name": "self", + "indexed": true + }, + { + "type": "address", + "name": "implementation", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "acceptOwnership", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "type": "function", + "name": "getImplementation", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "nominateNewOwner", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "newNominatedOwner" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "nominatedOwner", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "owner", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "renounceNomination", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "type": "function", + "name": "simulateUpgradeTo", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "newImplementation" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "upgradeTo", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "newImplementation" + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "InvalidMarket", + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ] + }, + { + "type": "error", + "name": "InvalidParameter", + "inputs": [ + { + "type": "string", + "name": "parameter" + }, + { + "type": "string", + "name": "reason" + } + ] + }, + { + "type": "error", + "name": "OverflowInt256ToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowUint256ToInt256", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowUint256ToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "PerpsMarketAlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "PerpsMarketNotInitialized", + "inputs": [] + }, + { + "type": "event", + "anonymous": false, + "name": "FactoryInitialized", + "inputs": [ + { + "type": "uint128", + "name": "globalPerpsMarketId", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "MarketCreated", + "inputs": [ + { + "type": "uint128", + "name": "perpsMarketId", + "indexed": true + }, + { + "type": "string", + "name": "marketName", + "indexed": false + }, + { + "type": "string", + "name": "marketSymbol", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "createMarket", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "requestedMarketId" + }, + { + "type": "string", + "name": "marketName" + }, + { + "type": "string", + "name": "marketSymbol" + } + ], + "outputs": [ + { + "type": "uint128" + } + ] + }, + { + "type": "function", + "name": "initializeFactory", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "synthetix" + }, + { + "type": "address", + "name": "spotMarket" + } + ], + "outputs": [ + { + "type": "uint128" + } + ] + }, + { + "type": "function", + "name": "interestRate", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint128" + } + ] + }, + { + "type": "function", + "name": "minimumCredit", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "perpsMarketId" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "name", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "perpsMarketId" + } + ], + "outputs": [ + { + "type": "string" + } + ] + }, + { + "type": "function", + "name": "reportedDebt", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "perpsMarketId" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "setPerpsMarketName", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "string", + "name": "marketName" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "supportsInterface", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes4", + "name": "interfaceId" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "utilizationRate", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint256", + "name": "rate" + }, + { + "type": "uint256", + "name": "delegatedCollateral" + }, + { + "type": "uint256", + "name": "lockedCredit" + } + ] + }, + { + "type": "error", + "name": "AccountLiquidatable", + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ] + }, + { + "type": "error", + "name": "AccountNotFound", + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ] + }, + { + "type": "error", + "name": "InsufficientCollateral", + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + }, + { + "type": "uint256", + "name": "collateralAmount" + }, + { + "type": "uint256", + "name": "withdrawAmount" + } + ] + }, + { + "type": "error", + "name": "InsufficientCollateralAvailableForWithdraw", + "inputs": [ + { + "type": "uint256", + "name": "availableUsdDenominated" + }, + { + "type": "uint256", + "name": "requiredUsdDenominated" + } + ] + }, + { + "type": "error", + "name": "InsufficientSynthCollateral", + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + }, + { + "type": "uint256", + "name": "collateralAmount" + }, + { + "type": "uint256", + "name": "withdrawAmount" + } + ] + }, + { + "type": "error", + "name": "InvalidAmountDelta", + "inputs": [ + { + "type": "int256", + "name": "amountDelta" + } + ] + }, + { + "type": "error", + "name": "KeeperCostsNotSet", + "inputs": [] + }, + { + "type": "error", + "name": "MaxCollateralExceeded", + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + }, + { + "type": "uint256", + "name": "maxAmount" + }, + { + "type": "uint256", + "name": "collateralAmount" + }, + { + "type": "uint256", + "name": "depositAmount" + } + ] + }, + { + "type": "error", + "name": "MaxCollateralsPerAccountReached", + "inputs": [ + { + "type": "uint128", + "name": "maxCollateralsPerAccount" + } + ] + }, + { + "type": "error", + "name": "OverflowUint128ToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "PendingOrderExists", + "inputs": [] + }, + { + "type": "error", + "name": "PriceFeedNotSet", + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ] + }, + { + "type": "error", + "name": "SynthNotEnabledForCollateral", + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "CollateralModified", + "inputs": [ + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "uint128", + "name": "synthMarketId", + "indexed": true + }, + { + "type": "int256", + "name": "amountDelta", + "indexed": false + }, + { + "type": "address", + "name": "sender", + "indexed": true + } + ] + }, + { + "type": "function", + "name": "getAccountCollateralIds", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ], + "outputs": [ + { + "type": "uint256[]" + } + ] + }, + { + "type": "function", + "name": "getAccountOpenPositions", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ], + "outputs": [ + { + "type": "uint256[]" + } + ] + }, + { + "type": "function", + "name": "getAvailableMargin", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ], + "outputs": [ + { + "type": "int256", + "name": "availableMargin" + } + ] + }, + { + "type": "function", + "name": "getCollateralAmount", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "uint128", + "name": "synthMarketId" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "getOpenPosition", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "int256", + "name": "totalPnl" + }, + { + "type": "int256", + "name": "accruedFunding" + }, + { + "type": "int128", + "name": "positionSize" + }, + { + "type": "uint256", + "name": "owedInterest" + } + ] + }, + { + "type": "function", + "name": "getOpenPositionSize", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "int128", + "name": "positionSize" + } + ] + }, + { + "type": "function", + "name": "getRequiredMargins", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "requiredInitialMargin" + }, + { + "type": "uint256", + "name": "requiredMaintenanceMargin" + }, + { + "type": "uint256", + "name": "maxLiquidationReward" + } + ] + }, + { + "type": "function", + "name": "getWithdrawableMargin", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ], + "outputs": [ + { + "type": "int256", + "name": "withdrawableMargin" + } + ] + }, + { + "type": "function", + "name": "modifyCollateral", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "uint128", + "name": "synthMarketId" + }, + { + "type": "int256", + "name": "amountDelta" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "totalAccountOpenInterest", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "totalCollateralValue", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "currentFundingRate", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "int256" + } + ] + }, + { + "type": "function", + "name": "currentFundingVelocity", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "int256" + } + ] + }, + { + "type": "function", + "name": "fillPrice", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "int128", + "name": "orderSize" + }, + { + "type": "uint256", + "name": "price" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "getMarketSummary", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "tuple", + "name": "summary", + "components": [ + { + "type": "int256", + "name": "skew" + }, + { + "type": "uint256", + "name": "size" + }, + { + "type": "uint256", + "name": "maxOpenInterest" + }, + { + "type": "int256", + "name": "currentFundingRate" + }, + { + "type": "int256", + "name": "currentFundingVelocity" + }, + { + "type": "uint256", + "name": "indexPrice" + } + ] + } + ] + }, + { + "type": "function", + "name": "indexPrice", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "maxOpenInterest", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "metadata", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "string", + "name": "name" + }, + { + "type": "string", + "name": "symbol" + } + ] + }, + { + "type": "function", + "name": "size", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "skew", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "int256" + } + ] + }, + { + "type": "error", + "name": "AcceptablePriceExceeded", + "inputs": [ + { + "type": "uint256", + "name": "fillPrice" + }, + { + "type": "uint256", + "name": "acceptablePrice" + } + ] + }, + { + "type": "error", + "name": "InsufficientMargin", + "inputs": [ + { + "type": "int256", + "name": "availableMargin" + }, + { + "type": "uint256", + "name": "minMargin" + } + ] + }, + { + "type": "error", + "name": "InvalidSettlementStrategy", + "inputs": [ + { + "type": "uint256", + "name": "settlementStrategyId" + } + ] + }, + { + "type": "error", + "name": "MaxOpenInterestReached", + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "maxMarketSize" + }, + { + "type": "int256", + "name": "newSideSize" + } + ] + }, + { + "type": "error", + "name": "MaxPositionsPerAccountReached", + "inputs": [ + { + "type": "uint128", + "name": "maxPositionsPerAccount" + } + ] + }, + { + "type": "error", + "name": "MaxUSDOpenInterestReached", + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "maxMarketValue" + }, + { + "type": "int256", + "name": "newSideSize" + }, + { + "type": "uint256", + "name": "price" + } + ] + }, + { + "type": "error", + "name": "OverflowInt256ToInt128", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroSizeOrder", + "inputs": [] + }, + { + "type": "event", + "anonymous": false, + "name": "OrderCommitted", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "uint8", + "name": "orderType", + "indexed": false + }, + { + "type": "int128", + "name": "sizeDelta", + "indexed": false + }, + { + "type": "uint256", + "name": "acceptablePrice", + "indexed": false + }, + { + "type": "uint256", + "name": "commitmentTime", + "indexed": false + }, + { + "type": "uint256", + "name": "expectedPriceTime", + "indexed": false + }, + { + "type": "uint256", + "name": "settlementTime", + "indexed": false + }, + { + "type": "uint256", + "name": "expirationTime", + "indexed": false + }, + { + "type": "bytes32", + "name": "trackingCode", + "indexed": true + }, + { + "type": "address", + "name": "sender", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "PreviousOrderExpired", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "int128", + "name": "sizeDelta", + "indexed": false + }, + { + "type": "uint256", + "name": "acceptablePrice", + "indexed": false + }, + { + "type": "uint256", + "name": "commitmentTime", + "indexed": false + }, + { + "type": "bytes32", + "name": "trackingCode", + "indexed": true + } + ] + }, + { + "type": "function", + "name": "commitOrder", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "tuple", + "name": "commitment", + "components": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "int128", + "name": "sizeDelta" + }, + { + "type": "uint128", + "name": "settlementStrategyId" + }, + { + "type": "uint256", + "name": "acceptablePrice" + }, + { + "type": "bytes32", + "name": "trackingCode" + }, + { + "type": "address", + "name": "referrer" + } + ] + } + ], + "outputs": [ + { + "type": "tuple", + "name": "retOrder", + "components": [ + { + "type": "uint256", + "name": "commitmentTime" + }, + { + "type": "tuple", + "name": "request", + "components": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "int128", + "name": "sizeDelta" + }, + { + "type": "uint128", + "name": "settlementStrategyId" + }, + { + "type": "uint256", + "name": "acceptablePrice" + }, + { + "type": "bytes32", + "name": "trackingCode" + }, + { + "type": "address", + "name": "referrer" + } + ] + } + ] + }, + { + "type": "uint256", + "name": "fees" + } + ] + }, + { + "type": "function", + "name": "computeOrderFees", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "int128", + "name": "sizeDelta" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "orderFees" + }, + { + "type": "uint256", + "name": "fillPrice" + } + ] + }, + { + "type": "function", + "name": "computeOrderFeesWithPrice", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "int128", + "name": "sizeDelta" + }, + { + "type": "uint256", + "name": "price" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "orderFees" + }, + { + "type": "uint256", + "name": "fillPrice" + } + ] + }, + { + "type": "function", + "name": "getOrder", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ], + "outputs": [ + { + "type": "tuple", + "name": "order", + "components": [ + { + "type": "uint256", + "name": "commitmentTime" + }, + { + "type": "tuple", + "name": "request", + "components": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "int128", + "name": "sizeDelta" + }, + { + "type": "uint128", + "name": "settlementStrategyId" + }, + { + "type": "uint256", + "name": "acceptablePrice" + }, + { + "type": "bytes32", + "name": "trackingCode" + }, + { + "type": "address", + "name": "referrer" + } + ] + } + ] + } + ] + }, + { + "type": "function", + "name": "getSettlementRewardCost", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint128", + "name": "settlementStrategyId" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "requiredMarginForOrder", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "int128", + "name": "sizeDelta" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "requiredMargin" + } + ] + }, + { + "type": "function", + "name": "requiredMarginForOrderWithPrice", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + }, + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "int128", + "name": "sizeDelta" + }, + { + "type": "uint256", + "name": "price" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "requiredMargin" + } + ] + }, + { + "type": "error", + "name": "InsufficientAccountMargin", + "inputs": [ + { + "type": "uint256", + "name": "leftover" + } + ] + }, + { + "type": "error", + "name": "OrderNotValid", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowInt128ToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowUint256ToUint64", + "inputs": [] + }, + { + "type": "error", + "name": "SettlementStrategyNotFound", + "inputs": [ + { + "type": "uint8", + "name": "strategyType" + } + ] + }, + { + "type": "error", + "name": "SettlementWindowExpired", + "inputs": [ + { + "type": "uint256", + "name": "timestamp" + }, + { + "type": "uint256", + "name": "settlementTime" + }, + { + "type": "uint256", + "name": "settlementExpiration" + } + ] + }, + { + "type": "error", + "name": "SettlementWindowNotOpen", + "inputs": [ + { + "type": "uint256", + "name": "timestamp" + }, + { + "type": "uint256", + "name": "settlementTime" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "CollateralDeducted", + "inputs": [ + { + "type": "uint256", + "name": "account", + "indexed": false + }, + { + "type": "uint128", + "name": "synthMarketId", + "indexed": false + }, + { + "type": "uint256", + "name": "amount", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "InterestCharged", + "inputs": [ + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "uint256", + "name": "interest", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "MarketUpdated", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": false + }, + { + "type": "uint256", + "name": "price", + "indexed": false + }, + { + "type": "int256", + "name": "skew", + "indexed": false + }, + { + "type": "uint256", + "name": "size", + "indexed": false + }, + { + "type": "int256", + "name": "sizeDelta", + "indexed": false + }, + { + "type": "int256", + "name": "currentFundingRate", + "indexed": false + }, + { + "type": "int256", + "name": "currentFundingVelocity", + "indexed": false + }, + { + "type": "uint128", + "name": "interestRate", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "OrderSettled", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "uint256", + "name": "fillPrice", + "indexed": false + }, + { + "type": "int256", + "name": "pnl", + "indexed": false + }, + { + "type": "int256", + "name": "accruedFunding", + "indexed": false + }, + { + "type": "int128", + "name": "sizeDelta", + "indexed": false + }, + { + "type": "int128", + "name": "newSize", + "indexed": false + }, + { + "type": "uint256", + "name": "totalFees", + "indexed": false + }, + { + "type": "uint256", + "name": "referralFees", + "indexed": false + }, + { + "type": "uint256", + "name": "collectedFees", + "indexed": false + }, + { + "type": "uint256", + "name": "settlementReward", + "indexed": false + }, + { + "type": "bytes32", + "name": "trackingCode", + "indexed": true + }, + { + "type": "address", + "name": "settler", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "settleOrder", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "AcceptablePriceNotExceeded", + "inputs": [ + { + "type": "uint256", + "name": "fillPrice" + }, + { + "type": "uint256", + "name": "acceptablePrice" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "OrderCancelled", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "uint256", + "name": "desiredPrice", + "indexed": false + }, + { + "type": "uint256", + "name": "fillPrice", + "indexed": false + }, + { + "type": "int128", + "name": "sizeDelta", + "indexed": false + }, + { + "type": "uint256", + "name": "settlementReward", + "indexed": false + }, + { + "type": "bytes32", + "name": "trackingCode", + "indexed": true + }, + { + "type": "address", + "name": "settler", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "cancelOrder", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ], + "outputs": [] + }, + { + "type": "event", + "anonymous": false, + "name": "FeatureFlagAllowAllSet", + "inputs": [ + { + "type": "bytes32", + "name": "feature", + "indexed": true + }, + { + "type": "bool", + "name": "allowAll", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "FeatureFlagAllowlistAdded", + "inputs": [ + { + "type": "bytes32", + "name": "feature", + "indexed": true + }, + { + "type": "address", + "name": "account", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "FeatureFlagAllowlistRemoved", + "inputs": [ + { + "type": "bytes32", + "name": "feature", + "indexed": true + }, + { + "type": "address", + "name": "account", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "FeatureFlagDeniersReset", + "inputs": [ + { + "type": "bytes32", + "name": "feature", + "indexed": true + }, + { + "type": "address[]", + "name": "deniers", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "FeatureFlagDenyAllSet", + "inputs": [ + { + "type": "bytes32", + "name": "feature", + "indexed": true + }, + { + "type": "bool", + "name": "denyAll", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "addToFeatureFlagAllowlist", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + }, + { + "type": "address", + "name": "account" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "getDeniers", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + } + ], + "outputs": [ + { + "type": "address[]" + } + ] + }, + { + "type": "function", + "name": "getFeatureFlagAllowAll", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "getFeatureFlagAllowlist", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + } + ], + "outputs": [ + { + "type": "address[]" + } + ] + }, + { + "type": "function", + "name": "getFeatureFlagDenyAll", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "isFeatureAllowed", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + }, + { + "type": "address", + "name": "account" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "removeFromFeatureFlagAllowlist", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + }, + { + "type": "address", + "name": "account" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setDeniers", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + }, + { + "type": "address[]", + "name": "deniers" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setFeatureFlagAllowAll", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + }, + { + "type": "bool", + "name": "allowAll" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setFeatureFlagDenyAll", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + }, + { + "type": "bool", + "name": "denyAll" + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "NotEligibleForLiquidation", + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "AccountFlaggedForLiquidation", + "inputs": [ + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "int256", + "name": "availableMargin", + "indexed": false + }, + { + "type": "uint256", + "name": "requiredMaintenanceMargin", + "indexed": false + }, + { + "type": "uint256", + "name": "liquidationReward", + "indexed": false + }, + { + "type": "uint256", + "name": "flagReward", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "AccountLiquidationAttempt", + "inputs": [ + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "uint256", + "name": "reward", + "indexed": false + }, + { + "type": "bool", + "name": "fullLiquidation", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "PositionLiquidated", + "inputs": [ + { + "type": "uint128", + "name": "accountId", + "indexed": true + }, + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "uint256", + "name": "amountLiquidated", + "indexed": false + }, + { + "type": "int128", + "name": "currentPositionSize", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "canLiquidate", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ], + "outputs": [ + { + "type": "bool", + "name": "isEligible" + } + ] + }, + { + "type": "function", + "name": "flaggedAccounts", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint256[]", + "name": "accountIds" + } + ] + }, + { + "type": "function", + "name": "liquidate", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "liquidationReward" + } + ] + }, + { + "type": "function", + "name": "liquidateFlagged", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint256", + "name": "maxNumberOfAccounts" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "liquidationReward" + } + ] + }, + { + "type": "function", + "name": "liquidateFlaggedAccounts", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128[]", + "name": "accountIds" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "liquidationReward" + } + ] + }, + { + "type": "function", + "name": "liquidationCapacity", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "capacity" + }, + { + "type": "uint256", + "name": "maxLiquidationInWindow" + }, + { + "type": "uint256", + "name": "latestLiquidationTimestamp" + } + ] + }, + { + "type": "error", + "name": "InvalidSettlementWindowDuration", + "inputs": [ + { + "type": "uint256", + "name": "duration" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "FundingParametersSet", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "uint256", + "name": "skewScale", + "indexed": false + }, + { + "type": "uint256", + "name": "maxFundingVelocity", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "LiquidationParametersSet", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "uint256", + "name": "initialMarginRatioD18", + "indexed": false + }, + { + "type": "uint256", + "name": "maintenanceMarginRatioD18", + "indexed": false + }, + { + "type": "uint256", + "name": "minimumInitialMarginRatioD18", + "indexed": false + }, + { + "type": "uint256", + "name": "flagRewardRatioD18", + "indexed": false + }, + { + "type": "uint256", + "name": "minimumPositionMargin", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "LockedOiRatioSet", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "uint256", + "name": "lockedOiRatioD18", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "MarketPriceDataUpdated", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "bytes32", + "name": "feedId", + "indexed": false + }, + { + "type": "uint256", + "name": "strictStalenessTolerance", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "MaxLiquidationParametersSet", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "uint256", + "name": "maxLiquidationLimitAccumulationMultiplier", + "indexed": false + }, + { + "type": "uint256", + "name": "maxSecondsInLiquidationWindow", + "indexed": false + }, + { + "type": "uint256", + "name": "maxLiquidationPd", + "indexed": false + }, + { + "type": "address", + "name": "endorsedLiquidator", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "MaxMarketSizeSet", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "uint256", + "name": "maxMarketSize", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "MaxMarketValueSet", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "uint256", + "name": "maxMarketValue", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "OrderFeesSet", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "uint256", + "name": "makerFeeRatio", + "indexed": false + }, + { + "type": "uint256", + "name": "takerFeeRatio", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "SettlementStrategyAdded", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "tuple", + "name": "strategy", + "indexed": false, + "components": [ + { + "type": "uint8", + "name": "strategyType" + }, + { + "type": "uint256", + "name": "settlementDelay" + }, + { + "type": "uint256", + "name": "settlementWindowDuration" + }, + { + "type": "address", + "name": "priceVerificationContract" + }, + { + "type": "bytes32", + "name": "feedId" + }, + { + "type": "uint256", + "name": "settlementReward" + }, + { + "type": "bool", + "name": "disabled" + }, + { + "type": "uint256", + "name": "commitmentPriceDelay" + } + ] + }, + { + "type": "uint256", + "name": "strategyId", + "indexed": true + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "SettlementStrategySet", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "uint256", + "name": "strategyId", + "indexed": true + }, + { + "type": "tuple", + "name": "strategy", + "indexed": false, + "components": [ + { + "type": "uint8", + "name": "strategyType" + }, + { + "type": "uint256", + "name": "settlementDelay" + }, + { + "type": "uint256", + "name": "settlementWindowDuration" + }, + { + "type": "address", + "name": "priceVerificationContract" + }, + { + "type": "bytes32", + "name": "feedId" + }, + { + "type": "uint256", + "name": "settlementReward" + }, + { + "type": "bool", + "name": "disabled" + }, + { + "type": "uint256", + "name": "commitmentPriceDelay" + } + ] + } + ] + }, + { + "type": "function", + "name": "addSettlementStrategy", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "tuple", + "name": "strategy", + "components": [ + { + "type": "uint8", + "name": "strategyType" + }, + { + "type": "uint256", + "name": "settlementDelay" + }, + { + "type": "uint256", + "name": "settlementWindowDuration" + }, + { + "type": "address", + "name": "priceVerificationContract" + }, + { + "type": "bytes32", + "name": "feedId" + }, + { + "type": "uint256", + "name": "settlementReward" + }, + { + "type": "bool", + "name": "disabled" + }, + { + "type": "uint256", + "name": "commitmentPriceDelay" + } + ] + } + ], + "outputs": [ + { + "type": "uint256", + "name": "strategyId" + } + ] + }, + { + "type": "function", + "name": "getFundingParameters", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "skewScale" + }, + { + "type": "uint256", + "name": "maxFundingVelocity" + } + ] + }, + { + "type": "function", + "name": "getLiquidationParameters", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "initialMarginRatioD18" + }, + { + "type": "uint256", + "name": "minimumInitialMarginRatioD18" + }, + { + "type": "uint256", + "name": "maintenanceMarginScalarD18" + }, + { + "type": "uint256", + "name": "flagRewardRatioD18" + }, + { + "type": "uint256", + "name": "minimumPositionMargin" + } + ] + }, + { + "type": "function", + "name": "getLockedOiRatio", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "getMaxLiquidationParameters", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "maxLiquidationLimitAccumulationMultiplier" + }, + { + "type": "uint256", + "name": "maxSecondsInLiquidationWindow" + }, + { + "type": "uint256", + "name": "maxLiquidationPd" + }, + { + "type": "address", + "name": "endorsedLiquidator" + } + ] + }, + { + "type": "function", + "name": "getMaxMarketSize", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "maxMarketSize" + } + ] + }, + { + "type": "function", + "name": "getMaxMarketValue", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "maxMarketValue" + } + ] + }, + { + "type": "function", + "name": "getOrderFees", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "makerFee" + }, + { + "type": "uint256", + "name": "takerFee" + } + ] + }, + { + "type": "function", + "name": "getPriceData", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "perpsMarketId" + } + ], + "outputs": [ + { + "type": "bytes32", + "name": "feedId" + }, + { + "type": "uint256", + "name": "strictStalenessTolerance" + } + ] + }, + { + "type": "function", + "name": "getSettlementStrategy", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "strategyId" + } + ], + "outputs": [ + { + "type": "tuple", + "name": "settlementStrategy", + "components": [ + { + "type": "uint8", + "name": "strategyType" + }, + { + "type": "uint256", + "name": "settlementDelay" + }, + { + "type": "uint256", + "name": "settlementWindowDuration" + }, + { + "type": "address", + "name": "priceVerificationContract" + }, + { + "type": "bytes32", + "name": "feedId" + }, + { + "type": "uint256", + "name": "settlementReward" + }, + { + "type": "bool", + "name": "disabled" + }, + { + "type": "uint256", + "name": "commitmentPriceDelay" + } + ] + } + ] + }, + { + "type": "function", + "name": "setFundingParameters", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "skewScale" + }, + { + "type": "uint256", + "name": "maxFundingVelocity" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setLiquidationParameters", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "initialMarginRatioD18" + }, + { + "type": "uint256", + "name": "minimumInitialMarginRatioD18" + }, + { + "type": "uint256", + "name": "maintenanceMarginScalarD18" + }, + { + "type": "uint256", + "name": "flagRewardRatioD18" + }, + { + "type": "uint256", + "name": "minimumPositionMargin" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setLockedOiRatio", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "lockedOiRatioD18" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setMaxLiquidationParameters", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "maxLiquidationLimitAccumulationMultiplier" + }, + { + "type": "uint256", + "name": "maxSecondsInLiquidationWindow" + }, + { + "type": "uint256", + "name": "maxLiquidationPd" + }, + { + "type": "address", + "name": "endorsedLiquidator" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setMaxMarketSize", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "maxMarketSize" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setMaxMarketValue", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "maxMarketValue" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setOrderFees", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "makerFeeRatio" + }, + { + "type": "uint256", + "name": "takerFeeRatio" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setSettlementStrategy", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "strategyId" + }, + { + "type": "tuple", + "name": "strategy", + "components": [ + { + "type": "uint8", + "name": "strategyType" + }, + { + "type": "uint256", + "name": "settlementDelay" + }, + { + "type": "uint256", + "name": "settlementWindowDuration" + }, + { + "type": "address", + "name": "priceVerificationContract" + }, + { + "type": "bytes32", + "name": "feedId" + }, + { + "type": "uint256", + "name": "settlementReward" + }, + { + "type": "bool", + "name": "disabled" + }, + { + "type": "uint256", + "name": "commitmentPriceDelay" + } + ] + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setSettlementStrategyEnabled", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "strategyId" + }, + { + "type": "bool", + "name": "enabled" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "updatePriceData", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "perpsMarketId" + }, + { + "type": "bytes32", + "name": "feedId" + }, + { + "type": "uint256", + "name": "strictStalenessTolerance" + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "InvalidFeeCollectorInterface", + "inputs": [ + { + "type": "address", + "name": "invalidFeeCollector" + } + ] + }, + { + "type": "error", + "name": "InvalidInterestRateParameters", + "inputs": [ + { + "type": "uint128", + "name": "lowUtilizationInterestRateGradient" + }, + { + "type": "uint128", + "name": "highUtilizationInterestRateGradient" + } + ] + }, + { + "type": "error", + "name": "InvalidReferrerShareRatio", + "inputs": [ + { + "type": "uint256", + "name": "shareRatioD18" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "CollateralConfigurationSet", + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId", + "indexed": true + }, + { + "type": "uint256", + "name": "maxCollateralAmount", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "FeeCollectorSet", + "inputs": [ + { + "type": "address", + "name": "feeCollector", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "InterestRateParametersSet", + "inputs": [ + { + "type": "uint256", + "name": "lowUtilizationInterestRateGradient", + "indexed": false + }, + { + "type": "uint256", + "name": "interestRateGradientBreakpoint", + "indexed": false + }, + { + "type": "uint256", + "name": "highUtilizationInterestRateGradient", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "InterestRateUpdated", + "inputs": [ + { + "type": "uint128", + "name": "superMarketId", + "indexed": true + }, + { + "type": "uint128", + "name": "interestRate", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "KeeperCostNodeIdUpdated", + "inputs": [ + { + "type": "bytes32", + "name": "keeperCostNodeId", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "KeeperRewardGuardsSet", + "inputs": [ + { + "type": "uint256", + "name": "minKeeperRewardUsd", + "indexed": false + }, + { + "type": "uint256", + "name": "minKeeperProfitRatioD18", + "indexed": false + }, + { + "type": "uint256", + "name": "maxKeeperRewardUsd", + "indexed": false + }, + { + "type": "uint256", + "name": "maxKeeperScalingRatioD18", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "PerAccountCapsSet", + "inputs": [ + { + "type": "uint128", + "name": "maxPositionsPerAccount", + "indexed": false + }, + { + "type": "uint128", + "name": "maxCollateralsPerAccount", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "ReferrerShareUpdated", + "inputs": [ + { + "type": "address", + "name": "referrer", + "indexed": false + }, + { + "type": "uint256", + "name": "shareRatioD18", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "SynthDeductionPrioritySet", + "inputs": [ + { + "type": "uint128[]", + "name": "newSynthDeductionPriority", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "getCollateralConfiguration", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "maxCollateralAmount" + } + ] + }, + { + "type": "function", + "name": "getFeeCollector", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address", + "name": "feeCollector" + } + ] + }, + { + "type": "function", + "name": "getInterestRateParameters", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint128", + "name": "lowUtilizationInterestRateGradient" + }, + { + "type": "uint128", + "name": "interestRateGradientBreakpoint" + }, + { + "type": "uint128", + "name": "highUtilizationInterestRateGradient" + } + ] + }, + { + "type": "function", + "name": "getKeeperCostNodeId", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "bytes32", + "name": "keeperCostNodeId" + } + ] + }, + { + "type": "function", + "name": "getKeeperRewardGuards", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint256", + "name": "minKeeperRewardUsd" + }, + { + "type": "uint256", + "name": "minKeeperProfitRatioD18" + }, + { + "type": "uint256", + "name": "maxKeeperRewardUsd" + }, + { + "type": "uint256", + "name": "maxKeeperScalingRatioD18" + } + ] + }, + { + "type": "function", + "name": "getMarkets", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint256[]", + "name": "marketIds" + } + ] + }, + { + "type": "function", + "name": "getPerAccountCaps", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint128", + "name": "maxPositionsPerAccount" + }, + { + "type": "uint128", + "name": "maxCollateralsPerAccount" + } + ] + }, + { + "type": "function", + "name": "getReferrerShare", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "referrer" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "shareRatioD18" + } + ] + }, + { + "type": "function", + "name": "getSupportedCollaterals", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint256[]", + "name": "supportedCollaterals" + } + ] + }, + { + "type": "function", + "name": "getSynthDeductionPriority", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint128[]" + } + ] + }, + { + "type": "function", + "name": "setCollateralConfiguration", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + }, + { + "type": "uint256", + "name": "maxCollateralAmount" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setFeeCollector", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "feeCollector" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setInterestRateParameters", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "lowUtilizationInterestRateGradient" + }, + { + "type": "uint128", + "name": "interestRateGradientBreakpoint" + }, + { + "type": "uint128", + "name": "highUtilizationInterestRateGradient" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setKeeperRewardGuards", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint256", + "name": "minKeeperRewardUsd" + }, + { + "type": "uint256", + "name": "minKeeperProfitRatioD18" + }, + { + "type": "uint256", + "name": "maxKeeperRewardUsd" + }, + { + "type": "uint256", + "name": "maxKeeperScalingRatioD18" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setPerAccountCaps", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "maxPositionsPerAccount" + }, + { + "type": "uint128", + "name": "maxCollateralsPerAccount" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setSynthDeductionPriority", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128[]", + "name": "newSynthDeductionPriority" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "totalGlobalCollateralValue", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint256", + "name": "totalCollateralValue" + } + ] + }, + { + "type": "function", + "name": "updateInterestRate", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "type": "function", + "name": "updateKeeperCostNodeId", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "keeperCostNodeId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "updateReferrerShare", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "referrer" + }, + { + "type": "uint256", + "name": "shareRatioD18" + } + ], + "outputs": [] + } +] \ No newline at end of file diff --git a/42161-arbthetix/PerpsMarketProxy.readable.json b/42161-arbthetix/PerpsMarketProxy.readable.json new file mode 100644 index 000000000..43acadb79 --- /dev/null +++ b/42161-arbthetix/PerpsMarketProxy.readable.json @@ -0,0 +1,223 @@ +[ + "error FeatureUnavailable(bytes32 which)", + "error InvalidAccountId(uint128 accountId)", + "error InvalidPermission(bytes32 permission)", + "error OnlyAccountTokenProxy(address origin)", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PermissionNotGranted(uint128 accountId, bytes32 permission, address user)", + "error PositionOutOfBounds()", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "error ZeroAddress()", + "event AccountCreated(uint128 indexed accountId, address indexed owner)", + "event PermissionGranted(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "event PermissionRevoked(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "function createAccount() returns (uint128 accountId)", + "function createAccount(uint128 requestedAccountId)", + "function getAccountLastInteraction(uint128 accountId) view returns (uint256)", + "function getAccountOwner(uint128 accountId) view returns (address)", + "function getAccountPermissions(uint128 accountId) view returns (tuple(address user, bytes32[] permissions)[] accountPerms)", + "function getAccountTokenAddress() view returns (address)", + "function grantPermission(uint128 accountId, bytes32 permission, address user)", + "function hasPermission(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function isAuthorized(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function notifyAccountTransfer(address to, uint128 accountId)", + "function renouncePermission(uint128 accountId, bytes32 permission)", + "function revokePermission(uint128 accountId, bytes32 permission, address user)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "error Unauthorized(address addr)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error UpgradeSimulationFailed()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error InvalidMarket(uint128 marketId)", + "error InvalidParameter(string parameter, string reason)", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error PerpsMarketAlreadyInitialized()", + "error PerpsMarketNotInitialized()", + "event FactoryInitialized(uint128 globalPerpsMarketId)", + "event MarketCreated(uint128 indexed perpsMarketId, string marketName, string marketSymbol)", + "function createMarket(uint128 requestedMarketId, string marketName, string marketSymbol) returns (uint128)", + "function initializeFactory(address synthetix, address spotMarket) returns (uint128)", + "function interestRate() view returns (uint128)", + "function minimumCredit(uint128 perpsMarketId) view returns (uint256)", + "function name(uint128 perpsMarketId) view returns (string)", + "function reportedDebt(uint128 perpsMarketId) view returns (uint256)", + "function setPerpsMarketName(string marketName)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function utilizationRate() view returns (uint256 rate, uint256 delegatedCollateral, uint256 lockedCredit)", + "error AccountLiquidatable(uint128 accountId)", + "error AccountNotFound(uint128 accountId)", + "error InsufficientCollateral(uint128 synthMarketId, uint256 collateralAmount, uint256 withdrawAmount)", + "error InsufficientCollateralAvailableForWithdraw(uint256 availableUsdDenominated, uint256 requiredUsdDenominated)", + "error InsufficientSynthCollateral(uint128 synthMarketId, uint256 collateralAmount, uint256 withdrawAmount)", + "error InvalidAmountDelta(int256 amountDelta)", + "error KeeperCostsNotSet()", + "error MaxCollateralExceeded(uint128 synthMarketId, uint256 maxAmount, uint256 collateralAmount, uint256 depositAmount)", + "error MaxCollateralsPerAccountReached(uint128 maxCollateralsPerAccount)", + "error OverflowUint128ToInt128()", + "error PendingOrderExists()", + "error PriceFeedNotSet(uint128 marketId)", + "error SynthNotEnabledForCollateral(uint128 synthMarketId)", + "event CollateralModified(uint128 indexed accountId, uint128 indexed synthMarketId, int256 amountDelta, address indexed sender)", + "function getAccountCollateralIds(uint128 accountId) view returns (uint256[])", + "function getAccountOpenPositions(uint128 accountId) view returns (uint256[])", + "function getAvailableMargin(uint128 accountId) view returns (int256 availableMargin)", + "function getCollateralAmount(uint128 accountId, uint128 synthMarketId) view returns (uint256)", + "function getOpenPosition(uint128 accountId, uint128 marketId) view returns (int256 totalPnl, int256 accruedFunding, int128 positionSize, uint256 owedInterest)", + "function getOpenPositionSize(uint128 accountId, uint128 marketId) view returns (int128 positionSize)", + "function getRequiredMargins(uint128 accountId) view returns (uint256 requiredInitialMargin, uint256 requiredMaintenanceMargin, uint256 maxLiquidationReward)", + "function getWithdrawableMargin(uint128 accountId) view returns (int256 withdrawableMargin)", + "function modifyCollateral(uint128 accountId, uint128 synthMarketId, int256 amountDelta)", + "function totalAccountOpenInterest(uint128 accountId) view returns (uint256)", + "function totalCollateralValue(uint128 accountId) view returns (uint256)", + "function currentFundingRate(uint128 marketId) view returns (int256)", + "function currentFundingVelocity(uint128 marketId) view returns (int256)", + "function fillPrice(uint128 marketId, int128 orderSize, uint256 price) view returns (uint256)", + "function getMarketSummary(uint128 marketId) view returns (tuple(int256 skew, uint256 size, uint256 maxOpenInterest, int256 currentFundingRate, int256 currentFundingVelocity, uint256 indexPrice) summary)", + "function indexPrice(uint128 marketId) view returns (uint256)", + "function maxOpenInterest(uint128 marketId) view returns (uint256)", + "function metadata(uint128 marketId) view returns (string name, string symbol)", + "function size(uint128 marketId) view returns (uint256)", + "function skew(uint128 marketId) view returns (int256)", + "error AcceptablePriceExceeded(uint256 fillPrice, uint256 acceptablePrice)", + "error InsufficientMargin(int256 availableMargin, uint256 minMargin)", + "error InvalidSettlementStrategy(uint256 settlementStrategyId)", + "error MaxOpenInterestReached(uint128 marketId, uint256 maxMarketSize, int256 newSideSize)", + "error MaxPositionsPerAccountReached(uint128 maxPositionsPerAccount)", + "error MaxUSDOpenInterestReached(uint128 marketId, uint256 maxMarketValue, int256 newSideSize, uint256 price)", + "error OverflowInt256ToInt128()", + "error ZeroSizeOrder()", + "event OrderCommitted(uint128 indexed marketId, uint128 indexed accountId, uint8 orderType, int128 sizeDelta, uint256 acceptablePrice, uint256 commitmentTime, uint256 expectedPriceTime, uint256 settlementTime, uint256 expirationTime, bytes32 indexed trackingCode, address sender)", + "event PreviousOrderExpired(uint128 indexed marketId, uint128 indexed accountId, int128 sizeDelta, uint256 acceptablePrice, uint256 commitmentTime, bytes32 indexed trackingCode)", + "function commitOrder(tuple(uint128 marketId, uint128 accountId, int128 sizeDelta, uint128 settlementStrategyId, uint256 acceptablePrice, bytes32 trackingCode, address referrer) commitment) returns (tuple(uint256 commitmentTime, tuple(uint128 marketId, uint128 accountId, int128 sizeDelta, uint128 settlementStrategyId, uint256 acceptablePrice, bytes32 trackingCode, address referrer) request) retOrder, uint256 fees)", + "function computeOrderFees(uint128 marketId, int128 sizeDelta) view returns (uint256 orderFees, uint256 fillPrice)", + "function computeOrderFeesWithPrice(uint128 marketId, int128 sizeDelta, uint256 price) view returns (uint256 orderFees, uint256 fillPrice)", + "function getOrder(uint128 accountId) view returns (tuple(uint256 commitmentTime, tuple(uint128 marketId, uint128 accountId, int128 sizeDelta, uint128 settlementStrategyId, uint256 acceptablePrice, bytes32 trackingCode, address referrer) request) order)", + "function getSettlementRewardCost(uint128 marketId, uint128 settlementStrategyId) view returns (uint256)", + "function requiredMarginForOrder(uint128 accountId, uint128 marketId, int128 sizeDelta) view returns (uint256 requiredMargin)", + "function requiredMarginForOrderWithPrice(uint128 accountId, uint128 marketId, int128 sizeDelta, uint256 price) view returns (uint256 requiredMargin)", + "error InsufficientAccountMargin(uint256 leftover)", + "error OrderNotValid()", + "error OverflowInt128ToUint128()", + "error OverflowUint256ToUint64()", + "error SettlementStrategyNotFound(uint8 strategyType)", + "error SettlementWindowExpired(uint256 timestamp, uint256 settlementTime, uint256 settlementExpiration)", + "error SettlementWindowNotOpen(uint256 timestamp, uint256 settlementTime)", + "event CollateralDeducted(uint256 account, uint128 synthMarketId, uint256 amount)", + "event InterestCharged(uint128 indexed accountId, uint256 interest)", + "event MarketUpdated(uint128 marketId, uint256 price, int256 skew, uint256 size, int256 sizeDelta, int256 currentFundingRate, int256 currentFundingVelocity, uint128 interestRate)", + "event OrderSettled(uint128 indexed marketId, uint128 indexed accountId, uint256 fillPrice, int256 pnl, int256 accruedFunding, int128 sizeDelta, int128 newSize, uint256 totalFees, uint256 referralFees, uint256 collectedFees, uint256 settlementReward, bytes32 indexed trackingCode, address settler)", + "function settleOrder(uint128 accountId)", + "error AcceptablePriceNotExceeded(uint256 fillPrice, uint256 acceptablePrice)", + "event OrderCancelled(uint128 indexed marketId, uint128 indexed accountId, uint256 desiredPrice, uint256 fillPrice, int128 sizeDelta, uint256 settlementReward, bytes32 indexed trackingCode, address settler)", + "function cancelOrder(uint128 accountId)", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)", + "error NotEligibleForLiquidation(uint128 accountId)", + "event AccountFlaggedForLiquidation(uint128 indexed accountId, int256 availableMargin, uint256 requiredMaintenanceMargin, uint256 liquidationReward, uint256 flagReward)", + "event AccountLiquidationAttempt(uint128 indexed accountId, uint256 reward, bool fullLiquidation)", + "event PositionLiquidated(uint128 indexed accountId, uint128 indexed marketId, uint256 amountLiquidated, int128 currentPositionSize)", + "function canLiquidate(uint128 accountId) view returns (bool isEligible)", + "function flaggedAccounts() view returns (uint256[] accountIds)", + "function liquidate(uint128 accountId) returns (uint256 liquidationReward)", + "function liquidateFlagged(uint256 maxNumberOfAccounts) returns (uint256 liquidationReward)", + "function liquidateFlaggedAccounts(uint128[] accountIds) returns (uint256 liquidationReward)", + "function liquidationCapacity(uint128 marketId) view returns (uint256 capacity, uint256 maxLiquidationInWindow, uint256 latestLiquidationTimestamp)", + "error InvalidSettlementWindowDuration(uint256 duration)", + "event FundingParametersSet(uint128 indexed marketId, uint256 skewScale, uint256 maxFundingVelocity)", + "event LiquidationParametersSet(uint128 indexed marketId, uint256 initialMarginRatioD18, uint256 maintenanceMarginRatioD18, uint256 minimumInitialMarginRatioD18, uint256 flagRewardRatioD18, uint256 minimumPositionMargin)", + "event LockedOiRatioSet(uint128 indexed marketId, uint256 lockedOiRatioD18)", + "event MarketPriceDataUpdated(uint128 indexed marketId, bytes32 feedId, uint256 strictStalenessTolerance)", + "event MaxLiquidationParametersSet(uint128 indexed marketId, uint256 maxLiquidationLimitAccumulationMultiplier, uint256 maxSecondsInLiquidationWindow, uint256 maxLiquidationPd, address endorsedLiquidator)", + "event MaxMarketSizeSet(uint128 indexed marketId, uint256 maxMarketSize)", + "event MaxMarketValueSet(uint128 indexed marketId, uint256 maxMarketValue)", + "event OrderFeesSet(uint128 indexed marketId, uint256 makerFeeRatio, uint256 takerFeeRatio)", + "event SettlementStrategyAdded(uint128 indexed marketId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, uint256 settlementReward, bool disabled, uint256 commitmentPriceDelay) strategy, uint256 indexed strategyId)", + "event SettlementStrategySet(uint128 indexed marketId, uint256 indexed strategyId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, uint256 settlementReward, bool disabled, uint256 commitmentPriceDelay) strategy)", + "function addSettlementStrategy(uint128 marketId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, uint256 settlementReward, bool disabled, uint256 commitmentPriceDelay) strategy) returns (uint256 strategyId)", + "function getFundingParameters(uint128 marketId) view returns (uint256 skewScale, uint256 maxFundingVelocity)", + "function getLiquidationParameters(uint128 marketId) view returns (uint256 initialMarginRatioD18, uint256 minimumInitialMarginRatioD18, uint256 maintenanceMarginScalarD18, uint256 flagRewardRatioD18, uint256 minimumPositionMargin)", + "function getLockedOiRatio(uint128 marketId) view returns (uint256)", + "function getMaxLiquidationParameters(uint128 marketId) view returns (uint256 maxLiquidationLimitAccumulationMultiplier, uint256 maxSecondsInLiquidationWindow, uint256 maxLiquidationPd, address endorsedLiquidator)", + "function getMaxMarketSize(uint128 marketId) view returns (uint256 maxMarketSize)", + "function getMaxMarketValue(uint128 marketId) view returns (uint256 maxMarketValue)", + "function getOrderFees(uint128 marketId) view returns (uint256 makerFee, uint256 takerFee)", + "function getPriceData(uint128 perpsMarketId) view returns (bytes32 feedId, uint256 strictStalenessTolerance)", + "function getSettlementStrategy(uint128 marketId, uint256 strategyId) view returns (tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, uint256 settlementReward, bool disabled, uint256 commitmentPriceDelay) settlementStrategy)", + "function setFundingParameters(uint128 marketId, uint256 skewScale, uint256 maxFundingVelocity)", + "function setLiquidationParameters(uint128 marketId, uint256 initialMarginRatioD18, uint256 minimumInitialMarginRatioD18, uint256 maintenanceMarginScalarD18, uint256 flagRewardRatioD18, uint256 minimumPositionMargin)", + "function setLockedOiRatio(uint128 marketId, uint256 lockedOiRatioD18)", + "function setMaxLiquidationParameters(uint128 marketId, uint256 maxLiquidationLimitAccumulationMultiplier, uint256 maxSecondsInLiquidationWindow, uint256 maxLiquidationPd, address endorsedLiquidator)", + "function setMaxMarketSize(uint128 marketId, uint256 maxMarketSize)", + "function setMaxMarketValue(uint128 marketId, uint256 maxMarketValue)", + "function setOrderFees(uint128 marketId, uint256 makerFeeRatio, uint256 takerFeeRatio)", + "function setSettlementStrategy(uint128 marketId, uint256 strategyId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, uint256 settlementReward, bool disabled, uint256 commitmentPriceDelay) strategy)", + "function setSettlementStrategyEnabled(uint128 marketId, uint256 strategyId, bool enabled)", + "function updatePriceData(uint128 perpsMarketId, bytes32 feedId, uint256 strictStalenessTolerance)", + "error InvalidFeeCollectorInterface(address invalidFeeCollector)", + "error InvalidInterestRateParameters(uint128 lowUtilizationInterestRateGradient, uint128 highUtilizationInterestRateGradient)", + "error InvalidReferrerShareRatio(uint256 shareRatioD18)", + "event CollateralConfigurationSet(uint128 indexed synthMarketId, uint256 maxCollateralAmount)", + "event FeeCollectorSet(address feeCollector)", + "event InterestRateParametersSet(uint256 lowUtilizationInterestRateGradient, uint256 interestRateGradientBreakpoint, uint256 highUtilizationInterestRateGradient)", + "event InterestRateUpdated(uint128 indexed superMarketId, uint128 interestRate)", + "event KeeperCostNodeIdUpdated(bytes32 keeperCostNodeId)", + "event KeeperRewardGuardsSet(uint256 minKeeperRewardUsd, uint256 minKeeperProfitRatioD18, uint256 maxKeeperRewardUsd, uint256 maxKeeperScalingRatioD18)", + "event PerAccountCapsSet(uint128 maxPositionsPerAccount, uint128 maxCollateralsPerAccount)", + "event ReferrerShareUpdated(address referrer, uint256 shareRatioD18)", + "event SynthDeductionPrioritySet(uint128[] newSynthDeductionPriority)", + "function getCollateralConfiguration(uint128 synthMarketId) view returns (uint256 maxCollateralAmount)", + "function getFeeCollector() view returns (address feeCollector)", + "function getInterestRateParameters() view returns (uint128 lowUtilizationInterestRateGradient, uint128 interestRateGradientBreakpoint, uint128 highUtilizationInterestRateGradient)", + "function getKeeperCostNodeId() view returns (bytes32 keeperCostNodeId)", + "function getKeeperRewardGuards() view returns (uint256 minKeeperRewardUsd, uint256 minKeeperProfitRatioD18, uint256 maxKeeperRewardUsd, uint256 maxKeeperScalingRatioD18)", + "function getMarkets() view returns (uint256[] marketIds)", + "function getPerAccountCaps() view returns (uint128 maxPositionsPerAccount, uint128 maxCollateralsPerAccount)", + "function getReferrerShare(address referrer) view returns (uint256 shareRatioD18)", + "function getSupportedCollaterals() view returns (uint256[] supportedCollaterals)", + "function getSynthDeductionPriority() view returns (uint128[])", + "function setCollateralConfiguration(uint128 synthMarketId, uint256 maxCollateralAmount)", + "function setFeeCollector(address feeCollector)", + "function setInterestRateParameters(uint128 lowUtilizationInterestRateGradient, uint128 interestRateGradientBreakpoint, uint128 highUtilizationInterestRateGradient)", + "function setKeeperRewardGuards(uint256 minKeeperRewardUsd, uint256 minKeeperProfitRatioD18, uint256 maxKeeperRewardUsd, uint256 maxKeeperScalingRatioD18)", + "function setPerAccountCaps(uint128 maxPositionsPerAccount, uint128 maxCollateralsPerAccount)", + "function setSynthDeductionPriority(uint128[] newSynthDeductionPriority)", + "function totalGlobalCollateralValue() view returns (uint256 totalCollateralValue)", + "function updateInterestRate()", + "function updateKeeperCostNodeId(bytes32 keeperCostNodeId)", + "function updateReferrerShare(address referrer, uint256 shareRatioD18)" +] \ No newline at end of file diff --git a/42161-arbthetix/SpotMarketProxy.json b/42161-arbthetix/SpotMarketProxy.json new file mode 100644 index 000000000..96a553b71 --- /dev/null +++ b/42161-arbthetix/SpotMarketProxy.json @@ -0,0 +1,3519 @@ +[ + { + "type": "error", + "name": "ImplementationIsSterile", + "inputs": [ + { + "type": "address", + "name": "implementation" + } + ] + }, + { + "type": "error", + "name": "NoChange", + "inputs": [] + }, + { + "type": "error", + "name": "NotAContract", + "inputs": [ + { + "type": "address", + "name": "contr" + } + ] + }, + { + "type": "error", + "name": "NotNominated", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "UpgradeSimulationFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroAddress", + "inputs": [] + }, + { + "type": "event", + "anonymous": false, + "name": "OwnerChanged", + "inputs": [ + { + "type": "address", + "name": "oldOwner", + "indexed": false + }, + { + "type": "address", + "name": "newOwner", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "OwnerNominated", + "inputs": [ + { + "type": "address", + "name": "newOwner", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "Upgraded", + "inputs": [ + { + "type": "address", + "name": "self", + "indexed": true + }, + { + "type": "address", + "name": "implementation", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "acceptOwnership", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "type": "function", + "name": "getImplementation", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "nominateNewOwner", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "newNominatedOwner" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "nominatedOwner", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "owner", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "renounceNomination", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "type": "function", + "name": "simulateUpgradeTo", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "newImplementation" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "upgradeTo", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "newImplementation" + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "FeatureUnavailable", + "inputs": [ + { + "type": "bytes32", + "name": "which" + } + ] + }, + { + "type": "error", + "name": "InvalidMarketOwner", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSynthImplementation", + "inputs": [ + { + "type": "uint256", + "name": "synthImplementation" + } + ] + }, + { + "type": "error", + "name": "MismatchAssociatedSystemKind", + "inputs": [ + { + "type": "bytes32", + "name": "expected" + }, + { + "type": "bytes32", + "name": "actual" + } + ] + }, + { + "type": "error", + "name": "MissingAssociatedSystem", + "inputs": [ + { + "type": "bytes32", + "name": "id" + } + ] + }, + { + "type": "error", + "name": "OnlyMarketOwner", + "inputs": [ + { + "type": "address", + "name": "marketOwner" + }, + { + "type": "address", + "name": "sender" + } + ] + }, + { + "type": "error", + "name": "OverflowInt256ToUint256", + "inputs": [] + }, + { + "type": "event", + "anonymous": false, + "name": "AssociatedSystemSet", + "inputs": [ + { + "type": "bytes32", + "name": "kind", + "indexed": true + }, + { + "type": "bytes32", + "name": "id", + "indexed": true + }, + { + "type": "address", + "name": "proxy", + "indexed": false + }, + { + "type": "address", + "name": "impl", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "DecayRateUpdated", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "uint256", + "name": "rate", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "MarketNominationRenounced", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "address", + "name": "nominee", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "MarketOwnerChanged", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "address", + "name": "oldOwner", + "indexed": false + }, + { + "type": "address", + "name": "newOwner", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "MarketOwnerNominated", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "address", + "name": "newOwner", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "SynthImplementationSet", + "inputs": [ + { + "type": "address", + "name": "synthImplementation", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "SynthImplementationUpgraded", + "inputs": [ + { + "type": "uint256", + "name": "synthMarketId", + "indexed": true + }, + { + "type": "address", + "name": "proxy", + "indexed": true + }, + { + "type": "address", + "name": "implementation", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "SynthPriceDataUpdated", + "inputs": [ + { + "type": "uint256", + "name": "synthMarketId", + "indexed": true + }, + { + "type": "bytes32", + "name": "buyFeedId", + "indexed": true + }, + { + "type": "bytes32", + "name": "sellFeedId", + "indexed": true + }, + { + "type": "uint256", + "name": "strictStalenessTolerance", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "SynthRegistered", + "inputs": [ + { + "type": "uint256", + "name": "synthMarketId", + "indexed": true + }, + { + "type": "address", + "name": "synthTokenAddress", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "SynthetixSystemSet", + "inputs": [ + { + "type": "address", + "name": "synthetix", + "indexed": false + }, + { + "type": "address", + "name": "usdTokenAddress", + "indexed": false + }, + { + "type": "address", + "name": "oracleManager", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "acceptMarketOwnership", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "createSynth", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "string", + "name": "tokenName" + }, + { + "type": "string", + "name": "tokenSymbol" + }, + { + "type": "address", + "name": "synthOwner" + } + ], + "outputs": [ + { + "type": "uint128", + "name": "synthMarketId" + } + ] + }, + { + "type": "function", + "name": "getAssociatedSystem", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "id" + } + ], + "outputs": [ + { + "type": "address", + "name": "addr" + }, + { + "type": "bytes32", + "name": "kind" + } + ] + }, + { + "type": "function", + "name": "getMarketOwner", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + } + ], + "outputs": [ + { + "type": "address", + "name": "marketOwner" + } + ] + }, + { + "type": "function", + "name": "getNominatedMarketOwner", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + } + ], + "outputs": [ + { + "type": "address", + "name": "marketOwner" + } + ] + }, + { + "type": "function", + "name": "getPriceData", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + } + ], + "outputs": [ + { + "type": "bytes32", + "name": "buyFeedId" + }, + { + "type": "bytes32", + "name": "sellFeedId" + }, + { + "type": "uint256", + "name": "strictPriceStalenessTolerance" + } + ] + }, + { + "type": "function", + "name": "getSynth", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "address", + "name": "synthAddress" + } + ] + }, + { + "type": "function", + "name": "getSynthImpl", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "address", + "name": "implAddress" + } + ] + }, + { + "type": "function", + "name": "initOrUpgradeNft", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "id" + }, + { + "type": "string", + "name": "name" + }, + { + "type": "string", + "name": "symbol" + }, + { + "type": "string", + "name": "uri" + }, + { + "type": "address", + "name": "impl" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "initOrUpgradeToken", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "id" + }, + { + "type": "string", + "name": "name" + }, + { + "type": "string", + "name": "symbol" + }, + { + "type": "uint8", + "name": "decimals" + }, + { + "type": "address", + "name": "impl" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "minimumCredit", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "lockedAmount" + } + ] + }, + { + "type": "function", + "name": "name", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "string", + "name": "marketName" + } + ] + }, + { + "type": "function", + "name": "nominateMarketOwner", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + }, + { + "type": "address", + "name": "newNominatedOwner" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "registerUnmanagedSystem", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "id" + }, + { + "type": "address", + "name": "endpoint" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "renounceMarketNomination", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "renounceMarketOwnership", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "reportedDebt", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "reportedDebtAmount" + } + ] + }, + { + "type": "function", + "name": "setDecayRate", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "rate" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setSynthImplementation", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "synthImplementation" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setSynthetix", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "synthetix" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "supportsInterface", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes4", + "name": "interfaceId" + } + ], + "outputs": [ + { + "type": "bool", + "name": "isSupported" + } + ] + }, + { + "type": "function", + "name": "updatePriceData", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + }, + { + "type": "bytes32", + "name": "buyFeedId" + }, + { + "type": "bytes32", + "name": "sellFeedId" + }, + { + "type": "uint256", + "name": "strictPriceStalenessTolerance" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "upgradeSynthImpl", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "ExceedsMaxSynthAmount", + "inputs": [ + { + "type": "uint256", + "name": "maxSynthAmount" + }, + { + "type": "uint256", + "name": "synthAmountCharged" + } + ] + }, + { + "type": "error", + "name": "ExceedsMaxUsdAmount", + "inputs": [ + { + "type": "uint256", + "name": "maxUsdAmount" + }, + { + "type": "uint256", + "name": "usdAmountCharged" + } + ] + }, + { + "type": "error", + "name": "InsufficientAmountReceived", + "inputs": [ + { + "type": "uint256", + "name": "expected" + }, + { + "type": "uint256", + "name": "current" + } + ] + }, + { + "type": "error", + "name": "InvalidMarket", + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ] + }, + { + "type": "error", + "name": "InvalidPrices", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowUint256ToInt256", + "inputs": [] + }, + { + "type": "event", + "anonymous": false, + "name": "SynthBought", + "inputs": [ + { + "type": "uint256", + "name": "synthMarketId", + "indexed": true + }, + { + "type": "uint256", + "name": "synthReturned", + "indexed": false + }, + { + "type": "tuple", + "name": "fees", + "indexed": false, + "components": [ + { + "type": "uint256", + "name": "fixedFees" + }, + { + "type": "uint256", + "name": "utilizationFees" + }, + { + "type": "int256", + "name": "skewFees" + }, + { + "type": "int256", + "name": "wrapperFees" + } + ] + }, + { + "type": "uint256", + "name": "collectedFees", + "indexed": false + }, + { + "type": "address", + "name": "referrer", + "indexed": false + }, + { + "type": "uint256", + "name": "price", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "SynthSold", + "inputs": [ + { + "type": "uint256", + "name": "synthMarketId", + "indexed": true + }, + { + "type": "uint256", + "name": "amountReturned", + "indexed": false + }, + { + "type": "tuple", + "name": "fees", + "indexed": false, + "components": [ + { + "type": "uint256", + "name": "fixedFees" + }, + { + "type": "uint256", + "name": "utilizationFees" + }, + { + "type": "int256", + "name": "skewFees" + }, + { + "type": "int256", + "name": "wrapperFees" + } + ] + }, + { + "type": "uint256", + "name": "collectedFees", + "indexed": false + }, + { + "type": "address", + "name": "referrer", + "indexed": false + }, + { + "type": "uint256", + "name": "price", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "buy", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "usdAmount" + }, + { + "type": "uint256", + "name": "minAmountReceived" + }, + { + "type": "address", + "name": "referrer" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "synthAmount" + }, + { + "type": "tuple", + "name": "fees", + "components": [ + { + "type": "uint256", + "name": "fixedFees" + }, + { + "type": "uint256", + "name": "utilizationFees" + }, + { + "type": "int256", + "name": "skewFees" + }, + { + "type": "int256", + "name": "wrapperFees" + } + ] + } + ] + }, + { + "type": "function", + "name": "buyExactIn", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "usdAmount" + }, + { + "type": "uint256", + "name": "minAmountReceived" + }, + { + "type": "address", + "name": "referrer" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "synthAmount" + }, + { + "type": "tuple", + "name": "fees", + "components": [ + { + "type": "uint256", + "name": "fixedFees" + }, + { + "type": "uint256", + "name": "utilizationFees" + }, + { + "type": "int256", + "name": "skewFees" + }, + { + "type": "int256", + "name": "wrapperFees" + } + ] + } + ] + }, + { + "type": "function", + "name": "buyExactOut", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "synthAmount" + }, + { + "type": "uint256", + "name": "maxUsdAmount" + }, + { + "type": "address", + "name": "referrer" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "usdAmountCharged" + }, + { + "type": "tuple", + "name": "fees", + "components": [ + { + "type": "uint256", + "name": "fixedFees" + }, + { + "type": "uint256", + "name": "utilizationFees" + }, + { + "type": "int256", + "name": "skewFees" + }, + { + "type": "int256", + "name": "wrapperFees" + } + ] + } + ] + }, + { + "type": "function", + "name": "getMarketSkew", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "int256", + "name": "marketSkew" + } + ] + }, + { + "type": "function", + "name": "quoteBuyExactIn", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "usdAmount" + }, + { + "type": "uint8", + "name": "stalenessTolerance" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "synthAmount" + }, + { + "type": "tuple", + "name": "fees", + "components": [ + { + "type": "uint256", + "name": "fixedFees" + }, + { + "type": "uint256", + "name": "utilizationFees" + }, + { + "type": "int256", + "name": "skewFees" + }, + { + "type": "int256", + "name": "wrapperFees" + } + ] + } + ] + }, + { + "type": "function", + "name": "quoteBuyExactOut", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "synthAmount" + }, + { + "type": "uint8", + "name": "stalenessTolerance" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "usdAmountCharged" + }, + { + "type": "tuple", + "name": "fees", + "components": [ + { + "type": "uint256", + "name": "fixedFees" + }, + { + "type": "uint256", + "name": "utilizationFees" + }, + { + "type": "int256", + "name": "skewFees" + }, + { + "type": "int256", + "name": "wrapperFees" + } + ] + } + ] + }, + { + "type": "function", + "name": "quoteSellExactIn", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "synthAmount" + }, + { + "type": "uint8", + "name": "stalenessTolerance" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "returnAmount" + }, + { + "type": "tuple", + "name": "fees", + "components": [ + { + "type": "uint256", + "name": "fixedFees" + }, + { + "type": "uint256", + "name": "utilizationFees" + }, + { + "type": "int256", + "name": "skewFees" + }, + { + "type": "int256", + "name": "wrapperFees" + } + ] + } + ] + }, + { + "type": "function", + "name": "quoteSellExactOut", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "usdAmount" + }, + { + "type": "uint8", + "name": "stalenessTolerance" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "synthToBurn" + }, + { + "type": "tuple", + "name": "fees", + "components": [ + { + "type": "uint256", + "name": "fixedFees" + }, + { + "type": "uint256", + "name": "utilizationFees" + }, + { + "type": "int256", + "name": "skewFees" + }, + { + "type": "int256", + "name": "wrapperFees" + } + ] + } + ] + }, + { + "type": "function", + "name": "sell", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "synthAmount" + }, + { + "type": "uint256", + "name": "minUsdAmount" + }, + { + "type": "address", + "name": "referrer" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "usdAmountReceived" + }, + { + "type": "tuple", + "name": "fees", + "components": [ + { + "type": "uint256", + "name": "fixedFees" + }, + { + "type": "uint256", + "name": "utilizationFees" + }, + { + "type": "int256", + "name": "skewFees" + }, + { + "type": "int256", + "name": "wrapperFees" + } + ] + } + ] + }, + { + "type": "function", + "name": "sellExactIn", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "synthAmount" + }, + { + "type": "uint256", + "name": "minAmountReceived" + }, + { + "type": "address", + "name": "referrer" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "returnAmount" + }, + { + "type": "tuple", + "name": "fees", + "components": [ + { + "type": "uint256", + "name": "fixedFees" + }, + { + "type": "uint256", + "name": "utilizationFees" + }, + { + "type": "int256", + "name": "skewFees" + }, + { + "type": "int256", + "name": "wrapperFees" + } + ] + } + ] + }, + { + "type": "function", + "name": "sellExactOut", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "usdAmount" + }, + { + "type": "uint256", + "name": "maxSynthAmount" + }, + { + "type": "address", + "name": "referrer" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "synthToBurn" + }, + { + "type": "tuple", + "name": "fees", + "components": [ + { + "type": "uint256", + "name": "fixedFees" + }, + { + "type": "uint256", + "name": "utilizationFees" + }, + { + "type": "int256", + "name": "skewFees" + }, + { + "type": "int256", + "name": "wrapperFees" + } + ] + } + ] + }, + { + "type": "error", + "name": "IneligibleForCancellation", + "inputs": [ + { + "type": "uint256", + "name": "timestamp" + }, + { + "type": "uint256", + "name": "expirationTime" + } + ] + }, + { + "type": "error", + "name": "InsufficientSharesAmount", + "inputs": [ + { + "type": "uint256", + "name": "expected" + }, + { + "type": "uint256", + "name": "actual" + } + ] + }, + { + "type": "error", + "name": "InvalidAsyncTransactionType", + "inputs": [ + { + "type": "uint8", + "name": "transactionType" + } + ] + }, + { + "type": "error", + "name": "InvalidClaim", + "inputs": [ + { + "type": "uint256", + "name": "asyncOrderId" + } + ] + }, + { + "type": "error", + "name": "InvalidCommitmentAmount", + "inputs": [ + { + "type": "uint256", + "name": "minimumAmount" + }, + { + "type": "uint256", + "name": "amount" + } + ] + }, + { + "type": "error", + "name": "InvalidSettlementStrategy", + "inputs": [ + { + "type": "uint256", + "name": "settlementStrategyId" + } + ] + }, + { + "type": "error", + "name": "OrderAlreadySettled", + "inputs": [ + { + "type": "uint256", + "name": "asyncOrderId" + }, + { + "type": "uint256", + "name": "settledAt" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "OrderCancelled", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "uint128", + "name": "asyncOrderId", + "indexed": true + }, + { + "type": "tuple", + "name": "asyncOrderClaim", + "indexed": false, + "components": [ + { + "type": "uint128", + "name": "id" + }, + { + "type": "address", + "name": "owner" + }, + { + "type": "uint8", + "name": "orderType" + }, + { + "type": "uint256", + "name": "amountEscrowed" + }, + { + "type": "uint256", + "name": "settlementStrategyId" + }, + { + "type": "uint256", + "name": "commitmentTime" + }, + { + "type": "uint256", + "name": "minimumSettlementAmount" + }, + { + "type": "uint256", + "name": "settledAt" + }, + { + "type": "address", + "name": "referrer" + } + ] + }, + { + "type": "address", + "name": "sender", + "indexed": true + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "OrderCommitted", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "uint8", + "name": "orderType", + "indexed": true + }, + { + "type": "uint256", + "name": "amountProvided", + "indexed": false + }, + { + "type": "uint128", + "name": "asyncOrderId", + "indexed": false + }, + { + "type": "address", + "name": "sender", + "indexed": true + }, + { + "type": "address", + "name": "referrer", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "cancelOrder", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint128", + "name": "asyncOrderId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "commitOrder", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint8", + "name": "orderType" + }, + { + "type": "uint256", + "name": "amountProvided" + }, + { + "type": "uint256", + "name": "settlementStrategyId" + }, + { + "type": "uint256", + "name": "minimumSettlementAmount" + }, + { + "type": "address", + "name": "referrer" + } + ], + "outputs": [ + { + "type": "tuple", + "name": "asyncOrderClaim", + "components": [ + { + "type": "uint128", + "name": "id" + }, + { + "type": "address", + "name": "owner" + }, + { + "type": "uint8", + "name": "orderType" + }, + { + "type": "uint256", + "name": "amountEscrowed" + }, + { + "type": "uint256", + "name": "settlementStrategyId" + }, + { + "type": "uint256", + "name": "commitmentTime" + }, + { + "type": "uint256", + "name": "minimumSettlementAmount" + }, + { + "type": "uint256", + "name": "settledAt" + }, + { + "type": "address", + "name": "referrer" + } + ] + } + ] + }, + { + "type": "function", + "name": "getAsyncOrderClaim", + "constant": true, + "stateMutability": "pure", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint128", + "name": "asyncOrderId" + } + ], + "outputs": [ + { + "type": "tuple", + "name": "asyncOrderClaim", + "components": [ + { + "type": "uint128", + "name": "id" + }, + { + "type": "address", + "name": "owner" + }, + { + "type": "uint8", + "name": "orderType" + }, + { + "type": "uint256", + "name": "amountEscrowed" + }, + { + "type": "uint256", + "name": "settlementStrategyId" + }, + { + "type": "uint256", + "name": "commitmentTime" + }, + { + "type": "uint256", + "name": "minimumSettlementAmount" + }, + { + "type": "uint256", + "name": "settledAt" + }, + { + "type": "address", + "name": "referrer" + } + ] + } + ] + }, + { + "type": "error", + "name": "InvalidSettlementStrategy", + "inputs": [ + { + "type": "uint8", + "name": "strategyType" + } + ] + }, + { + "type": "error", + "name": "InvalidVerificationResponse", + "inputs": [] + }, + { + "type": "error", + "name": "MinimumSettlementAmountNotMet", + "inputs": [ + { + "type": "uint256", + "name": "minimum" + }, + { + "type": "uint256", + "name": "actual" + } + ] + }, + { + "type": "error", + "name": "OutsideSettlementWindow", + "inputs": [ + { + "type": "uint256", + "name": "timestamp" + }, + { + "type": "uint256", + "name": "startTime" + }, + { + "type": "uint256", + "name": "expirationTime" + } + ] + }, + { + "type": "error", + "name": "OverflowUint256ToUint64", + "inputs": [] + }, + { + "type": "error", + "name": "SettlementStrategyNotFound", + "inputs": [ + { + "type": "uint8", + "name": "strategyType" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "OrderSettled", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "uint128", + "name": "asyncOrderId", + "indexed": true + }, + { + "type": "uint256", + "name": "finalOrderAmount", + "indexed": false + }, + { + "type": "tuple", + "name": "fees", + "indexed": false, + "components": [ + { + "type": "uint256", + "name": "fixedFees" + }, + { + "type": "uint256", + "name": "utilizationFees" + }, + { + "type": "int256", + "name": "skewFees" + }, + { + "type": "int256", + "name": "wrapperFees" + } + ] + }, + { + "type": "uint256", + "name": "collectedFees", + "indexed": false + }, + { + "type": "address", + "name": "settler", + "indexed": true + }, + { + "type": "uint256", + "name": "price", + "indexed": false + }, + { + "type": "uint8", + "name": "orderType", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "settleOrder", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint128", + "name": "asyncOrderId" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "finalOrderAmount" + }, + { + "type": "tuple", + "name": "fees", + "components": [ + { + "type": "uint256", + "name": "fixedFees" + }, + { + "type": "uint256", + "name": "utilizationFees" + }, + { + "type": "int256", + "name": "skewFees" + }, + { + "type": "int256", + "name": "wrapperFees" + } + ] + } + ] + }, + { + "type": "error", + "name": "InvalidSettlementWindowDuration", + "inputs": [ + { + "type": "uint256", + "name": "duration" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "SettlementStrategyAdded", + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId", + "indexed": true + }, + { + "type": "uint256", + "name": "strategyId", + "indexed": true + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "SettlementStrategySet", + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId", + "indexed": true + }, + { + "type": "uint256", + "name": "strategyId", + "indexed": true + }, + { + "type": "tuple", + "name": "strategy", + "indexed": false, + "components": [ + { + "type": "uint8", + "name": "strategyType" + }, + { + "type": "uint256", + "name": "settlementDelay" + }, + { + "type": "uint256", + "name": "settlementWindowDuration" + }, + { + "type": "address", + "name": "priceVerificationContract" + }, + { + "type": "bytes32", + "name": "feedId" + }, + { + "type": "string", + "name": "url" + }, + { + "type": "uint256", + "name": "settlementReward" + }, + { + "type": "uint256", + "name": "priceDeviationTolerance" + }, + { + "type": "uint256", + "name": "minimumUsdExchangeAmount" + }, + { + "type": "uint256", + "name": "maxRoundingLoss" + }, + { + "type": "bool", + "name": "disabled" + } + ] + } + ] + }, + { + "type": "function", + "name": "addSettlementStrategy", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "tuple", + "name": "strategy", + "components": [ + { + "type": "uint8", + "name": "strategyType" + }, + { + "type": "uint256", + "name": "settlementDelay" + }, + { + "type": "uint256", + "name": "settlementWindowDuration" + }, + { + "type": "address", + "name": "priceVerificationContract" + }, + { + "type": "bytes32", + "name": "feedId" + }, + { + "type": "string", + "name": "url" + }, + { + "type": "uint256", + "name": "settlementReward" + }, + { + "type": "uint256", + "name": "priceDeviationTolerance" + }, + { + "type": "uint256", + "name": "minimumUsdExchangeAmount" + }, + { + "type": "uint256", + "name": "maxRoundingLoss" + }, + { + "type": "bool", + "name": "disabled" + } + ] + } + ], + "outputs": [ + { + "type": "uint256", + "name": "strategyId" + } + ] + }, + { + "type": "function", + "name": "getSettlementStrategy", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "strategyId" + } + ], + "outputs": [ + { + "type": "tuple", + "name": "settlementStrategy", + "components": [ + { + "type": "uint8", + "name": "strategyType" + }, + { + "type": "uint256", + "name": "settlementDelay" + }, + { + "type": "uint256", + "name": "settlementWindowDuration" + }, + { + "type": "address", + "name": "priceVerificationContract" + }, + { + "type": "bytes32", + "name": "feedId" + }, + { + "type": "string", + "name": "url" + }, + { + "type": "uint256", + "name": "settlementReward" + }, + { + "type": "uint256", + "name": "priceDeviationTolerance" + }, + { + "type": "uint256", + "name": "minimumUsdExchangeAmount" + }, + { + "type": "uint256", + "name": "maxRoundingLoss" + }, + { + "type": "bool", + "name": "disabled" + } + ] + } + ] + }, + { + "type": "function", + "name": "setSettlementStrategy", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "strategyId" + }, + { + "type": "tuple", + "name": "strategy", + "components": [ + { + "type": "uint8", + "name": "strategyType" + }, + { + "type": "uint256", + "name": "settlementDelay" + }, + { + "type": "uint256", + "name": "settlementWindowDuration" + }, + { + "type": "address", + "name": "priceVerificationContract" + }, + { + "type": "bytes32", + "name": "feedId" + }, + { + "type": "string", + "name": "url" + }, + { + "type": "uint256", + "name": "settlementReward" + }, + { + "type": "uint256", + "name": "priceDeviationTolerance" + }, + { + "type": "uint256", + "name": "minimumUsdExchangeAmount" + }, + { + "type": "uint256", + "name": "maxRoundingLoss" + }, + { + "type": "bool", + "name": "disabled" + } + ] + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setSettlementStrategyEnabled", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "strategyId" + }, + { + "type": "bool", + "name": "enabled" + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "FailedTransfer", + "inputs": [ + { + "type": "address", + "name": "from" + }, + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "value" + } + ] + }, + { + "type": "error", + "name": "InvalidCollateralType", + "inputs": [ + { + "type": "address", + "name": "configuredCollateralType" + } + ] + }, + { + "type": "error", + "name": "WrapperExceedsMaxAmount", + "inputs": [ + { + "type": "uint256", + "name": "maxWrappableAmount" + }, + { + "type": "uint256", + "name": "currentSupply" + }, + { + "type": "uint256", + "name": "amountToWrap" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "SynthUnwrapped", + "inputs": [ + { + "type": "uint256", + "name": "synthMarketId", + "indexed": true + }, + { + "type": "uint256", + "name": "amountUnwrapped", + "indexed": false + }, + { + "type": "tuple", + "name": "fees", + "indexed": false, + "components": [ + { + "type": "uint256", + "name": "fixedFees" + }, + { + "type": "uint256", + "name": "utilizationFees" + }, + { + "type": "int256", + "name": "skewFees" + }, + { + "type": "int256", + "name": "wrapperFees" + } + ] + }, + { + "type": "uint256", + "name": "feesCollected", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "SynthWrapped", + "inputs": [ + { + "type": "uint256", + "name": "synthMarketId", + "indexed": true + }, + { + "type": "uint256", + "name": "amountWrapped", + "indexed": false + }, + { + "type": "tuple", + "name": "fees", + "indexed": false, + "components": [ + { + "type": "uint256", + "name": "fixedFees" + }, + { + "type": "uint256", + "name": "utilizationFees" + }, + { + "type": "int256", + "name": "skewFees" + }, + { + "type": "int256", + "name": "wrapperFees" + } + ] + }, + { + "type": "uint256", + "name": "feesCollected", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "WrapperSet", + "inputs": [ + { + "type": "uint256", + "name": "synthMarketId", + "indexed": true + }, + { + "type": "address", + "name": "wrapCollateralType", + "indexed": true + }, + { + "type": "uint256", + "name": "maxWrappableAmount", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "getWrapper", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + } + ], + "outputs": [ + { + "type": "address", + "name": "wrapCollateralType" + }, + { + "type": "uint256", + "name": "maxWrappableAmount" + } + ] + }, + { + "type": "function", + "name": "setWrapper", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "address", + "name": "wrapCollateralType" + }, + { + "type": "uint256", + "name": "maxWrappableAmount" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "unwrap", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "unwrapAmount" + }, + { + "type": "uint256", + "name": "minAmountReceived" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "returnCollateralAmount" + }, + { + "type": "tuple", + "name": "fees", + "components": [ + { + "type": "uint256", + "name": "fixedFees" + }, + { + "type": "uint256", + "name": "utilizationFees" + }, + { + "type": "int256", + "name": "skewFees" + }, + { + "type": "int256", + "name": "wrapperFees" + } + ] + } + ] + }, + { + "type": "function", + "name": "wrap", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "marketId" + }, + { + "type": "uint256", + "name": "wrapAmount" + }, + { + "type": "uint256", + "name": "minAmountReceived" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "amountToMint" + }, + { + "type": "tuple", + "name": "fees", + "components": [ + { + "type": "uint256", + "name": "fixedFees" + }, + { + "type": "uint256", + "name": "utilizationFees" + }, + { + "type": "int256", + "name": "skewFees" + }, + { + "type": "int256", + "name": "wrapperFees" + } + ] + } + ] + }, + { + "type": "error", + "name": "InvalidCollateralLeverage", + "inputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "error", + "name": "InvalidFeeCollectorInterface", + "inputs": [ + { + "type": "address", + "name": "invalidFeeCollector" + } + ] + }, + { + "type": "error", + "name": "InvalidWrapperFees", + "inputs": [] + }, + { + "type": "event", + "anonymous": false, + "name": "AsyncFixedFeeSet", + "inputs": [ + { + "type": "uint256", + "name": "synthMarketId", + "indexed": true + }, + { + "type": "uint256", + "name": "asyncFixedFee", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "AtomicFixedFeeSet", + "inputs": [ + { + "type": "uint256", + "name": "synthMarketId", + "indexed": true + }, + { + "type": "uint256", + "name": "atomicFixedFee", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "CollateralLeverageSet", + "inputs": [ + { + "type": "uint256", + "name": "synthMarketId", + "indexed": true + }, + { + "type": "uint256", + "name": "collateralLeverage", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "FeeCollectorSet", + "inputs": [ + { + "type": "uint256", + "name": "synthMarketId", + "indexed": true + }, + { + "type": "address", + "name": "feeCollector", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "MarketSkewScaleSet", + "inputs": [ + { + "type": "uint256", + "name": "synthMarketId", + "indexed": true + }, + { + "type": "uint256", + "name": "skewScale", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "MarketUtilizationFeesSet", + "inputs": [ + { + "type": "uint256", + "name": "synthMarketId", + "indexed": true + }, + { + "type": "uint256", + "name": "utilizationFeeRate", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "ReferrerShareUpdated", + "inputs": [ + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "address", + "name": "referrer", + "indexed": false + }, + { + "type": "uint256", + "name": "sharePercentage", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "TransactorFixedFeeSet", + "inputs": [ + { + "type": "uint256", + "name": "synthMarketId", + "indexed": true + }, + { + "type": "address", + "name": "transactor", + "indexed": false + }, + { + "type": "uint256", + "name": "fixedFeeAmount", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "WrapperFeesSet", + "inputs": [ + { + "type": "uint256", + "name": "synthMarketId", + "indexed": true + }, + { + "type": "int256", + "name": "wrapFee", + "indexed": false + }, + { + "type": "int256", + "name": "unwrapFee", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "getCollateralLeverage", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "collateralLeverage" + } + ] + }, + { + "type": "function", + "name": "getCustomTransactorFees", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + }, + { + "type": "address", + "name": "transactor" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "fixedFeeAmount" + } + ] + }, + { + "type": "function", + "name": "getFeeCollector", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + } + ], + "outputs": [ + { + "type": "address", + "name": "feeCollector" + } + ] + }, + { + "type": "function", + "name": "getMarketFees", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "atomicFixedFee" + }, + { + "type": "uint256", + "name": "asyncFixedFee" + }, + { + "type": "int256", + "name": "wrapFee" + }, + { + "type": "int256", + "name": "unwrapFee" + } + ] + }, + { + "type": "function", + "name": "getMarketSkewScale", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "skewScale" + } + ] + }, + { + "type": "function", + "name": "getMarketUtilizationFees", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "utilizationFeeRate" + } + ] + }, + { + "type": "function", + "name": "getReferrerShare", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + }, + { + "type": "address", + "name": "referrer" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "sharePercentage" + } + ] + }, + { + "type": "function", + "name": "setAsyncFixedFee", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + }, + { + "type": "uint256", + "name": "asyncFixedFee" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setAtomicFixedFee", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + }, + { + "type": "uint256", + "name": "atomicFixedFee" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setCollateralLeverage", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + }, + { + "type": "uint256", + "name": "collateralLeverage" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setCustomTransactorFees", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + }, + { + "type": "address", + "name": "transactor" + }, + { + "type": "uint256", + "name": "fixedFeeAmount" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setFeeCollector", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + }, + { + "type": "address", + "name": "feeCollector" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setMarketSkewScale", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + }, + { + "type": "uint256", + "name": "skewScale" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setMarketUtilizationFees", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + }, + { + "type": "uint256", + "name": "utilizationFeeRate" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setWrapperFees", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + }, + { + "type": "int256", + "name": "wrapFee" + }, + { + "type": "int256", + "name": "unwrapFee" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "updateReferrerShare", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "synthMarketId" + }, + { + "type": "address", + "name": "referrer" + }, + { + "type": "uint256", + "name": "sharePercentage" + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "ValueAlreadyInSet", + "inputs": [] + }, + { + "type": "error", + "name": "ValueNotInSet", + "inputs": [] + }, + { + "type": "event", + "anonymous": false, + "name": "FeatureFlagAllowAllSet", + "inputs": [ + { + "type": "bytes32", + "name": "feature", + "indexed": true + }, + { + "type": "bool", + "name": "allowAll", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "FeatureFlagAllowlistAdded", + "inputs": [ + { + "type": "bytes32", + "name": "feature", + "indexed": true + }, + { + "type": "address", + "name": "account", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "FeatureFlagAllowlistRemoved", + "inputs": [ + { + "type": "bytes32", + "name": "feature", + "indexed": true + }, + { + "type": "address", + "name": "account", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "FeatureFlagDeniersReset", + "inputs": [ + { + "type": "bytes32", + "name": "feature", + "indexed": true + }, + { + "type": "address[]", + "name": "deniers", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "FeatureFlagDenyAllSet", + "inputs": [ + { + "type": "bytes32", + "name": "feature", + "indexed": true + }, + { + "type": "bool", + "name": "denyAll", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "addToFeatureFlagAllowlist", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + }, + { + "type": "address", + "name": "account" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "getDeniers", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + } + ], + "outputs": [ + { + "type": "address[]" + } + ] + }, + { + "type": "function", + "name": "getFeatureFlagAllowAll", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "getFeatureFlagAllowlist", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + } + ], + "outputs": [ + { + "type": "address[]" + } + ] + }, + { + "type": "function", + "name": "getFeatureFlagDenyAll", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "isFeatureAllowed", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + }, + { + "type": "address", + "name": "account" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "removeFromFeatureFlagAllowlist", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + }, + { + "type": "address", + "name": "account" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setDeniers", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + }, + { + "type": "address[]", + "name": "deniers" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setFeatureFlagAllowAll", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + }, + { + "type": "bool", + "name": "allowAll" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setFeatureFlagDenyAll", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "feature" + }, + { + "type": "bool", + "name": "denyAll" + } + ], + "outputs": [] + } +] \ No newline at end of file diff --git a/42161-arbthetix/SpotMarketProxy.readable.json b/42161-arbthetix/SpotMarketProxy.readable.json new file mode 100644 index 000000000..abcf83c2b --- /dev/null +++ b/42161-arbthetix/SpotMarketProxy.readable.json @@ -0,0 +1,161 @@ +[ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error FeatureUnavailable(bytes32 which)", + "error InvalidMarketOwner()", + "error InvalidSynthImplementation(uint256 synthImplementation)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "error OnlyMarketOwner(address marketOwner, address sender)", + "error OverflowInt256ToUint256()", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "event DecayRateUpdated(uint128 indexed marketId, uint256 rate)", + "event MarketNominationRenounced(uint128 indexed marketId, address nominee)", + "event MarketOwnerChanged(uint128 indexed marketId, address oldOwner, address newOwner)", + "event MarketOwnerNominated(uint128 indexed marketId, address newOwner)", + "event SynthImplementationSet(address synthImplementation)", + "event SynthImplementationUpgraded(uint256 indexed synthMarketId, address indexed proxy, address implementation)", + "event SynthPriceDataUpdated(uint256 indexed synthMarketId, bytes32 indexed buyFeedId, bytes32 indexed sellFeedId, uint256 strictStalenessTolerance)", + "event SynthRegistered(uint256 indexed synthMarketId, address synthTokenAddress)", + "event SynthetixSystemSet(address synthetix, address usdTokenAddress, address oracleManager)", + "function acceptMarketOwnership(uint128 synthMarketId)", + "function createSynth(string tokenName, string tokenSymbol, address synthOwner) returns (uint128 synthMarketId)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function getMarketOwner(uint128 synthMarketId) view returns (address marketOwner)", + "function getNominatedMarketOwner(uint128 synthMarketId) view returns (address marketOwner)", + "function getPriceData(uint128 synthMarketId) view returns (bytes32 buyFeedId, bytes32 sellFeedId, uint256 strictPriceStalenessTolerance)", + "function getSynth(uint128 marketId) view returns (address synthAddress)", + "function getSynthImpl(uint128 marketId) view returns (address implAddress)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function minimumCredit(uint128 marketId) view returns (uint256 lockedAmount)", + "function name(uint128 marketId) view returns (string marketName)", + "function nominateMarketOwner(uint128 synthMarketId, address newNominatedOwner)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "function renounceMarketNomination(uint128 synthMarketId)", + "function renounceMarketOwnership(uint128 synthMarketId)", + "function reportedDebt(uint128 marketId) view returns (uint256 reportedDebtAmount)", + "function setDecayRate(uint128 marketId, uint256 rate)", + "function setSynthImplementation(address synthImplementation)", + "function setSynthetix(address synthetix)", + "function supportsInterface(bytes4 interfaceId) view returns (bool isSupported)", + "function updatePriceData(uint128 synthMarketId, bytes32 buyFeedId, bytes32 sellFeedId, uint256 strictPriceStalenessTolerance)", + "function upgradeSynthImpl(uint128 marketId)", + "error ExceedsMaxSynthAmount(uint256 maxSynthAmount, uint256 synthAmountCharged)", + "error ExceedsMaxUsdAmount(uint256 maxUsdAmount, uint256 usdAmountCharged)", + "error InsufficientAmountReceived(uint256 expected, uint256 current)", + "error InvalidMarket(uint128 marketId)", + "error InvalidPrices()", + "error OverflowUint256ToInt256()", + "event SynthBought(uint256 indexed synthMarketId, uint256 synthReturned, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 collectedFees, address referrer, uint256 price)", + "event SynthSold(uint256 indexed synthMarketId, uint256 amountReturned, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 collectedFees, address referrer, uint256 price)", + "function buy(uint128 marketId, uint256 usdAmount, uint256 minAmountReceived, address referrer) returns (uint256 synthAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function buyExactIn(uint128 marketId, uint256 usdAmount, uint256 minAmountReceived, address referrer) returns (uint256 synthAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function buyExactOut(uint128 marketId, uint256 synthAmount, uint256 maxUsdAmount, address referrer) returns (uint256 usdAmountCharged, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function getMarketSkew(uint128 marketId) view returns (int256 marketSkew)", + "function quoteBuyExactIn(uint128 marketId, uint256 usdAmount, uint8 stalenessTolerance) view returns (uint256 synthAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function quoteBuyExactOut(uint128 marketId, uint256 synthAmount, uint8 stalenessTolerance) view returns (uint256 usdAmountCharged, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function quoteSellExactIn(uint128 marketId, uint256 synthAmount, uint8 stalenessTolerance) view returns (uint256 returnAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function quoteSellExactOut(uint128 marketId, uint256 usdAmount, uint8 stalenessTolerance) view returns (uint256 synthToBurn, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function sell(uint128 marketId, uint256 synthAmount, uint256 minUsdAmount, address referrer) returns (uint256 usdAmountReceived, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function sellExactIn(uint128 marketId, uint256 synthAmount, uint256 minAmountReceived, address referrer) returns (uint256 returnAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function sellExactOut(uint128 marketId, uint256 usdAmount, uint256 maxSynthAmount, address referrer) returns (uint256 synthToBurn, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "error IneligibleForCancellation(uint256 timestamp, uint256 expirationTime)", + "error InsufficientSharesAmount(uint256 expected, uint256 actual)", + "error InvalidAsyncTransactionType(uint8 transactionType)", + "error InvalidClaim(uint256 asyncOrderId)", + "error InvalidCommitmentAmount(uint256 minimumAmount, uint256 amount)", + "error InvalidSettlementStrategy(uint256 settlementStrategyId)", + "error OrderAlreadySettled(uint256 asyncOrderId, uint256 settledAt)", + "event OrderCancelled(uint128 indexed marketId, uint128 indexed asyncOrderId, tuple(uint128 id, address owner, uint8 orderType, uint256 amountEscrowed, uint256 settlementStrategyId, uint256 commitmentTime, uint256 minimumSettlementAmount, uint256 settledAt, address referrer) asyncOrderClaim, address indexed sender)", + "event OrderCommitted(uint128 indexed marketId, uint8 indexed orderType, uint256 amountProvided, uint128 asyncOrderId, address indexed sender, address referrer)", + "function cancelOrder(uint128 marketId, uint128 asyncOrderId)", + "function commitOrder(uint128 marketId, uint8 orderType, uint256 amountProvided, uint256 settlementStrategyId, uint256 minimumSettlementAmount, address referrer) returns (tuple(uint128 id, address owner, uint8 orderType, uint256 amountEscrowed, uint256 settlementStrategyId, uint256 commitmentTime, uint256 minimumSettlementAmount, uint256 settledAt, address referrer) asyncOrderClaim)", + "function getAsyncOrderClaim(uint128 marketId, uint128 asyncOrderId) pure returns (tuple(uint128 id, address owner, uint8 orderType, uint256 amountEscrowed, uint256 settlementStrategyId, uint256 commitmentTime, uint256 minimumSettlementAmount, uint256 settledAt, address referrer) asyncOrderClaim)", + "error InvalidSettlementStrategy(uint8 strategyType)", + "error InvalidVerificationResponse()", + "error MinimumSettlementAmountNotMet(uint256 minimum, uint256 actual)", + "error OutsideSettlementWindow(uint256 timestamp, uint256 startTime, uint256 expirationTime)", + "error OverflowUint256ToUint64()", + "error SettlementStrategyNotFound(uint8 strategyType)", + "event OrderSettled(uint128 indexed marketId, uint128 indexed asyncOrderId, uint256 finalOrderAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 collectedFees, address indexed settler, uint256 price, uint8 orderType)", + "function settleOrder(uint128 marketId, uint128 asyncOrderId) returns (uint256 finalOrderAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "error InvalidSettlementWindowDuration(uint256 duration)", + "event SettlementStrategyAdded(uint128 indexed synthMarketId, uint256 indexed strategyId)", + "event SettlementStrategySet(uint128 indexed synthMarketId, uint256 indexed strategyId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) strategy)", + "function addSettlementStrategy(uint128 marketId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) strategy) returns (uint256 strategyId)", + "function getSettlementStrategy(uint128 marketId, uint256 strategyId) view returns (tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) settlementStrategy)", + "function setSettlementStrategy(uint128 marketId, uint256 strategyId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) strategy)", + "function setSettlementStrategyEnabled(uint128 marketId, uint256 strategyId, bool enabled)", + "error FailedTransfer(address from, address to, uint256 value)", + "error InvalidCollateralType(address configuredCollateralType)", + "error WrapperExceedsMaxAmount(uint256 maxWrappableAmount, uint256 currentSupply, uint256 amountToWrap)", + "event SynthUnwrapped(uint256 indexed synthMarketId, uint256 amountUnwrapped, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 feesCollected)", + "event SynthWrapped(uint256 indexed synthMarketId, uint256 amountWrapped, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 feesCollected)", + "event WrapperSet(uint256 indexed synthMarketId, address indexed wrapCollateralType, uint256 maxWrappableAmount)", + "function getWrapper(uint128 marketId) view returns (address wrapCollateralType, uint256 maxWrappableAmount)", + "function setWrapper(uint128 marketId, address wrapCollateralType, uint256 maxWrappableAmount)", + "function unwrap(uint128 marketId, uint256 unwrapAmount, uint256 minAmountReceived) returns (uint256 returnCollateralAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function wrap(uint128 marketId, uint256 wrapAmount, uint256 minAmountReceived) returns (uint256 amountToMint, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "error InvalidCollateralLeverage(uint256)", + "error InvalidFeeCollectorInterface(address invalidFeeCollector)", + "error InvalidWrapperFees()", + "event AsyncFixedFeeSet(uint256 indexed synthMarketId, uint256 asyncFixedFee)", + "event AtomicFixedFeeSet(uint256 indexed synthMarketId, uint256 atomicFixedFee)", + "event CollateralLeverageSet(uint256 indexed synthMarketId, uint256 collateralLeverage)", + "event FeeCollectorSet(uint256 indexed synthMarketId, address feeCollector)", + "event MarketSkewScaleSet(uint256 indexed synthMarketId, uint256 skewScale)", + "event MarketUtilizationFeesSet(uint256 indexed synthMarketId, uint256 utilizationFeeRate)", + "event ReferrerShareUpdated(uint128 indexed marketId, address referrer, uint256 sharePercentage)", + "event TransactorFixedFeeSet(uint256 indexed synthMarketId, address transactor, uint256 fixedFeeAmount)", + "event WrapperFeesSet(uint256 indexed synthMarketId, int256 wrapFee, int256 unwrapFee)", + "function getCollateralLeverage(uint128 synthMarketId) view returns (uint256 collateralLeverage)", + "function getCustomTransactorFees(uint128 synthMarketId, address transactor) view returns (uint256 fixedFeeAmount)", + "function getFeeCollector(uint128 synthMarketId) view returns (address feeCollector)", + "function getMarketFees(uint128 synthMarketId) view returns (uint256 atomicFixedFee, uint256 asyncFixedFee, int256 wrapFee, int256 unwrapFee)", + "function getMarketSkewScale(uint128 synthMarketId) view returns (uint256 skewScale)", + "function getMarketUtilizationFees(uint128 synthMarketId) view returns (uint256 utilizationFeeRate)", + "function getReferrerShare(uint128 synthMarketId, address referrer) view returns (uint256 sharePercentage)", + "function setAsyncFixedFee(uint128 synthMarketId, uint256 asyncFixedFee)", + "function setAtomicFixedFee(uint128 synthMarketId, uint256 atomicFixedFee)", + "function setCollateralLeverage(uint128 synthMarketId, uint256 collateralLeverage)", + "function setCustomTransactorFees(uint128 synthMarketId, address transactor, uint256 fixedFeeAmount)", + "function setFeeCollector(uint128 synthMarketId, address feeCollector)", + "function setMarketSkewScale(uint128 synthMarketId, uint256 skewScale)", + "function setMarketUtilizationFees(uint128 synthMarketId, uint256 utilizationFeeRate)", + "function setWrapperFees(uint128 synthMarketId, int256 wrapFee, int256 unwrapFee)", + "function updateReferrerShare(uint128 synthMarketId, address referrer, uint256 sharePercentage)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)" +] \ No newline at end of file diff --git a/42161-arbthetix/TrustedMulticallForwarder.json b/42161-arbthetix/TrustedMulticallForwarder.json new file mode 100644 index 000000000..7caa24294 --- /dev/null +++ b/42161-arbthetix/TrustedMulticallForwarder.json @@ -0,0 +1,798 @@ +[ + { + "type": "constructor", + "payable": false, + "inputs": [] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "type": "address", + "name": "account" + } + ] + }, + { + "type": "error", + "name": "ERC2771ForwarderExpiredRequest", + "inputs": [ + { + "type": "uint48", + "name": "deadline" + } + ] + }, + { + "type": "error", + "name": "ERC2771ForwarderInvalidSigner", + "inputs": [ + { + "type": "address", + "name": "signer" + }, + { + "type": "address", + "name": "from" + } + ] + }, + { + "type": "error", + "name": "ERC2771ForwarderMismatchedValue", + "inputs": [ + { + "type": "uint256", + "name": "requestedValue" + }, + { + "type": "uint256", + "name": "msgValue" + } + ] + }, + { + "type": "error", + "name": "ERC2771UntrustfulTarget", + "inputs": [ + { + "type": "address", + "name": "target" + }, + { + "type": "address", + "name": "forwarder" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidAccountNonce", + "inputs": [ + { + "type": "address", + "name": "account" + }, + { + "type": "uint256", + "name": "currentNonce" + } + ] + }, + { + "type": "error", + "name": "InvalidShortString", + "inputs": [] + }, + { + "type": "error", + "name": "StringTooLong", + "inputs": [ + { + "type": "string", + "name": "str" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "EIP712DomainChanged", + "inputs": [] + }, + { + "type": "event", + "anonymous": false, + "name": "ExecutedForwardRequest", + "inputs": [ + { + "type": "address", + "name": "signer", + "indexed": true + }, + { + "type": "uint256", + "name": "nonce", + "indexed": false + }, + { + "type": "bool", + "name": "success", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "aggregate", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "tuple[]", + "name": "calls", + "components": [ + { + "type": "address", + "name": "target" + }, + { + "type": "bytes", + "name": "callData" + } + ] + } + ], + "outputs": [ + { + "type": "uint256", + "name": "blockNumber" + }, + { + "type": "bytes[]", + "name": "returnData" + } + ] + }, + { + "type": "function", + "name": "aggregate3", + "constant": false, + "stateMutability": "payable", + "payable": true, + "inputs": [ + { + "type": "tuple[]", + "name": "calls", + "components": [ + { + "type": "address", + "name": "target" + }, + { + "type": "bool", + "name": "requireSuccess" + }, + { + "type": "bytes", + "name": "callData" + } + ] + } + ], + "outputs": [ + { + "type": "tuple[]", + "name": "returnData", + "components": [ + { + "type": "bool", + "name": "success" + }, + { + "type": "bytes", + "name": "returnData" + } + ] + } + ] + }, + { + "type": "function", + "name": "aggregate3Value", + "constant": false, + "stateMutability": "payable", + "payable": true, + "inputs": [ + { + "type": "tuple[]", + "name": "calls", + "components": [ + { + "type": "address", + "name": "target" + }, + { + "type": "bool", + "name": "requireSuccess" + }, + { + "type": "uint256", + "name": "value" + }, + { + "type": "bytes", + "name": "callData" + } + ] + } + ], + "outputs": [ + { + "type": "tuple[]", + "name": "returnData", + "components": [ + { + "type": "bool", + "name": "success" + }, + { + "type": "bytes", + "name": "returnData" + } + ] + } + ] + }, + { + "type": "function", + "name": "blockAndAggregate", + "constant": false, + "stateMutability": "payable", + "payable": true, + "inputs": [ + { + "type": "tuple[]", + "name": "calls", + "components": [ + { + "type": "address", + "name": "target" + }, + { + "type": "bytes", + "name": "callData" + } + ] + } + ], + "outputs": [ + { + "type": "uint256", + "name": "blockNumber" + }, + { + "type": "bytes32", + "name": "blockHash" + }, + { + "type": "tuple[]", + "name": "returnData", + "components": [ + { + "type": "bool", + "name": "success" + }, + { + "type": "bytes", + "name": "returnData" + } + ] + } + ] + }, + { + "type": "function", + "name": "eip712Domain", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "bytes1", + "name": "fields" + }, + { + "type": "string", + "name": "name" + }, + { + "type": "string", + "name": "version" + }, + { + "type": "uint256", + "name": "chainId" + }, + { + "type": "address", + "name": "verifyingContract" + }, + { + "type": "bytes32", + "name": "salt" + }, + { + "type": "uint256[]", + "name": "extensions" + } + ] + }, + { + "type": "function", + "name": "execute", + "constant": false, + "stateMutability": "payable", + "payable": true, + "inputs": [ + { + "type": "tuple", + "name": "request", + "components": [ + { + "type": "address", + "name": "from" + }, + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "value" + }, + { + "type": "uint256", + "name": "gas" + }, + { + "type": "uint48", + "name": "deadline" + }, + { + "type": "bytes", + "name": "data" + }, + { + "type": "bytes", + "name": "signature" + } + ] + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "executeBatch", + "constant": false, + "stateMutability": "payable", + "payable": true, + "inputs": [ + { + "type": "tuple[]", + "name": "requests", + "components": [ + { + "type": "address", + "name": "from" + }, + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "value" + }, + { + "type": "uint256", + "name": "gas" + }, + { + "type": "uint48", + "name": "deadline" + }, + { + "type": "bytes", + "name": "data" + }, + { + "type": "bytes", + "name": "signature" + } + ] + } + ], + "outputs": [ + { + "type": "tuple[]", + "name": "returnData", + "components": [ + { + "type": "bool", + "name": "success" + }, + { + "type": "bytes", + "name": "returnData" + } + ] + } + ] + }, + { + "type": "function", + "name": "executeBatch", + "constant": false, + "stateMutability": "payable", + "payable": true, + "inputs": [ + { + "type": "tuple[]", + "name": "requests", + "components": [ + { + "type": "address", + "name": "from" + }, + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "value" + }, + { + "type": "uint256", + "name": "gas" + }, + { + "type": "uint48", + "name": "deadline" + }, + { + "type": "bytes", + "name": "data" + }, + { + "type": "bytes", + "name": "signature" + } + ] + }, + { + "type": "address", + "name": "refundReceiver" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "getBasefee", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint256", + "name": "basefee" + } + ] + }, + { + "type": "function", + "name": "getBlockHash", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint256", + "name": "blockNumber" + } + ], + "outputs": [ + { + "type": "bytes32", + "name": "blockHash" + } + ] + }, + { + "type": "function", + "name": "getBlockNumber", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint256", + "name": "blockNumber" + } + ] + }, + { + "type": "function", + "name": "getChainId", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint256", + "name": "chainid" + } + ] + }, + { + "type": "function", + "name": "getCurrentBlockCoinbase", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address", + "name": "coinbase" + } + ] + }, + { + "type": "function", + "name": "getCurrentBlockGasLimit", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint256", + "name": "gaslimit" + } + ] + }, + { + "type": "function", + "name": "getCurrentBlockTimestamp", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint256", + "name": "timestamp" + } + ] + }, + { + "type": "function", + "name": "getEthBalance", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "addr" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "balance" + } + ] + }, + { + "type": "function", + "name": "getLastBlockHash", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "bytes32", + "name": "blockHash" + } + ] + }, + { + "type": "function", + "name": "getPrevRandao", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint256", + "name": "prevrandao" + } + ] + }, + { + "type": "function", + "name": "nonces", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "owner" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "tryAggregate", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bool", + "name": "requireSuccess" + }, + { + "type": "tuple[]", + "name": "calls", + "components": [ + { + "type": "address", + "name": "target" + }, + { + "type": "bytes", + "name": "callData" + } + ] + } + ], + "outputs": [ + { + "type": "tuple[]", + "name": "returnData", + "components": [ + { + "type": "bool", + "name": "success" + }, + { + "type": "bytes", + "name": "returnData" + } + ] + } + ] + }, + { + "type": "function", + "name": "tryBlockAndAggregate", + "constant": false, + "stateMutability": "payable", + "payable": true, + "inputs": [ + { + "type": "bool", + "name": "requireSuccess" + }, + { + "type": "tuple[]", + "name": "calls", + "components": [ + { + "type": "address", + "name": "target" + }, + { + "type": "bytes", + "name": "callData" + } + ] + } + ], + "outputs": [ + { + "type": "uint256", + "name": "blockNumber" + }, + { + "type": "bytes32", + "name": "blockHash" + }, + { + "type": "tuple[]", + "name": "returnData", + "components": [ + { + "type": "bool", + "name": "success" + }, + { + "type": "bytes", + "name": "returnData" + } + ] + } + ] + }, + { + "type": "function", + "name": "verify", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "tuple", + "name": "request", + "components": [ + { + "type": "address", + "name": "from" + }, + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "value" + }, + { + "type": "uint256", + "name": "gas" + }, + { + "type": "uint48", + "name": "deadline" + }, + { + "type": "bytes", + "name": "data" + }, + { + "type": "bytes", + "name": "signature" + } + ] + } + ], + "outputs": [ + { + "type": "bool" + } + ] + } +] \ No newline at end of file diff --git a/42161-arbthetix/TrustedMulticallForwarder.readable.json b/42161-arbthetix/TrustedMulticallForwarder.readable.json new file mode 100644 index 000000000..ebe2694b5 --- /dev/null +++ b/42161-arbthetix/TrustedMulticallForwarder.readable.json @@ -0,0 +1,36 @@ +[ + "constructor()", + "error AddressInsufficientBalance(address account)", + "error ERC2771ForwarderExpiredRequest(uint48 deadline)", + "error ERC2771ForwarderInvalidSigner(address signer, address from)", + "error ERC2771ForwarderMismatchedValue(uint256 requestedValue, uint256 msgValue)", + "error ERC2771UntrustfulTarget(address target, address forwarder)", + "error FailedInnerCall()", + "error InvalidAccountNonce(address account, uint256 currentNonce)", + "error InvalidShortString()", + "error StringTooLong(string str)", + "event EIP712DomainChanged()", + "event ExecutedForwardRequest(address indexed signer, uint256 nonce, bool success)", + "function aggregate(tuple(address target, bytes callData)[] calls) returns (uint256 blockNumber, bytes[] returnData)", + "function aggregate3(tuple(address target, bool requireSuccess, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function aggregate3Value(tuple(address target, bool requireSuccess, uint256 value, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function blockAndAggregate(tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)", + "function eip712Domain() view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)", + "function execute(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature) request) payable", + "function executeBatch(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature)[] requests) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function executeBatch(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature)[] requests, address refundReceiver) payable", + "function getBasefee() view returns (uint256 basefee)", + "function getBlockHash(uint256 blockNumber) view returns (bytes32 blockHash)", + "function getBlockNumber() view returns (uint256 blockNumber)", + "function getChainId() view returns (uint256 chainid)", + "function getCurrentBlockCoinbase() view returns (address coinbase)", + "function getCurrentBlockGasLimit() view returns (uint256 gaslimit)", + "function getCurrentBlockTimestamp() view returns (uint256 timestamp)", + "function getEthBalance(address addr) view returns (uint256 balance)", + "function getLastBlockHash() view returns (bytes32 blockHash)", + "function getPrevRandao() view returns (uint256 prevrandao)", + "function nonces(address owner) view returns (uint256)", + "function tryAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) returns (tuple(bool success, bytes returnData)[] returnData)", + "function tryBlockAndAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)", + "function verify(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature) request) view returns (bool)" +] \ No newline at end of file diff --git a/42161-arbthetix/USDCToken.json b/42161-arbthetix/USDCToken.json new file mode 100644 index 000000000..7d650c9ad --- /dev/null +++ b/42161-arbthetix/USDCToken.json @@ -0,0 +1,332 @@ +[ + { + "type": "constructor", + "stateMutability": "payable", + "payable": true, + "inputs": [ + { + "type": "string", + "name": "name" + }, + { + "type": "string", + "name": "symbol" + }, + { + "type": "uint256", + "name": "initialSupply" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "Approval", + "inputs": [ + { + "type": "address", + "name": "owner", + "indexed": true + }, + { + "type": "address", + "name": "spender", + "indexed": true + }, + { + "type": "uint256", + "name": "value" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "OwnershipTransferred", + "inputs": [ + { + "type": "address", + "name": "previousOwner", + "indexed": true + }, + { + "type": "address", + "name": "newOwner", + "indexed": true + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "Transfer", + "inputs": [ + { + "type": "address", + "name": "from", + "indexed": true + }, + { + "type": "address", + "name": "to", + "indexed": true + }, + { + "type": "uint256", + "name": "value" + } + ] + }, + { + "type": "function", + "name": "allowance", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "owner" + }, + { + "type": "address", + "name": "spender" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "approve", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "spender" + }, + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "balanceOf", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "account" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "decimals", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint8" + } + ] + }, + { + "type": "function", + "name": "decreaseAllowance", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "spender" + }, + { + "type": "uint256", + "name": "subtractedValue" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "increaseAllowance", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "spender" + }, + { + "type": "uint256", + "name": "addedValue" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "mint", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint256", + "name": "amount" + }, + { + "type": "address", + "name": "to" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "name", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "string" + } + ] + }, + { + "type": "function", + "name": "owner", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "renounceOwnership", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "type": "function", + "name": "symbol", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "string" + } + ] + }, + { + "type": "function", + "name": "totalSupply", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "transfer", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "transferFrom", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "from" + }, + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "transferOwnership", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "newOwner" + } + ], + "outputs": [] + } +] \ No newline at end of file diff --git a/42161-arbthetix/USDCToken.readable.json b/42161-arbthetix/USDCToken.readable.json new file mode 100644 index 000000000..329b227ec --- /dev/null +++ b/42161-arbthetix/USDCToken.readable.json @@ -0,0 +1,21 @@ +[ + "constructor(string name, string symbol, uint256 initialSupply) payable", + "event Approval(address indexed owner, address indexed spender, uint256 value)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Transfer(address indexed from, address indexed to, uint256 value)", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 amount) returns (bool)", + "function balanceOf(address account) view returns (uint256)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function mint(uint256 amount, address to)", + "function name() view returns (string)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function symbol() view returns (string)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 amount) returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)", + "function transferOwnership(address newOwner)" +] \ No newline at end of file diff --git a/42161-arbthetix/USDProxy.json b/42161-arbthetix/USDProxy.json new file mode 100644 index 000000000..2efdb9c51 --- /dev/null +++ b/42161-arbthetix/USDProxy.json @@ -0,0 +1,761 @@ +[ + { + "type": "error", + "name": "ImplementationIsSterile", + "inputs": [ + { + "type": "address", + "name": "implementation" + } + ] + }, + { + "type": "error", + "name": "NoChange", + "inputs": [] + }, + { + "type": "error", + "name": "NotAContract", + "inputs": [ + { + "type": "address", + "name": "contr" + } + ] + }, + { + "type": "error", + "name": "NotNominated", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "UpgradeSimulationFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroAddress", + "inputs": [] + }, + { + "type": "event", + "anonymous": false, + "name": "OwnerChanged", + "inputs": [ + { + "type": "address", + "name": "oldOwner", + "indexed": false + }, + { + "type": "address", + "name": "newOwner", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "OwnerNominated", + "inputs": [ + { + "type": "address", + "name": "newOwner", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "Upgraded", + "inputs": [ + { + "type": "address", + "name": "self", + "indexed": true + }, + { + "type": "address", + "name": "implementation", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "acceptOwnership", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "type": "function", + "name": "getImplementation", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "nominateNewOwner", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "newNominatedOwner" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "nominatedOwner", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "owner", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "renounceNomination", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "type": "function", + "name": "simulateUpgradeTo", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "newImplementation" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "upgradeTo", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "newImplementation" + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "MismatchAssociatedSystemKind", + "inputs": [ + { + "type": "bytes32", + "name": "expected" + }, + { + "type": "bytes32", + "name": "actual" + } + ] + }, + { + "type": "error", + "name": "MissingAssociatedSystem", + "inputs": [ + { + "type": "bytes32", + "name": "id" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "AssociatedSystemSet", + "inputs": [ + { + "type": "bytes32", + "name": "kind", + "indexed": true + }, + { + "type": "bytes32", + "name": "id", + "indexed": true + }, + { + "type": "address", + "name": "proxy", + "indexed": false + }, + { + "type": "address", + "name": "impl", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "getAssociatedSystem", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "id" + } + ], + "outputs": [ + { + "type": "address", + "name": "addr" + }, + { + "type": "bytes32", + "name": "kind" + } + ] + }, + { + "type": "function", + "name": "initOrUpgradeNft", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "id" + }, + { + "type": "string", + "name": "name" + }, + { + "type": "string", + "name": "symbol" + }, + { + "type": "string", + "name": "uri" + }, + { + "type": "address", + "name": "impl" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "initOrUpgradeToken", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "id" + }, + { + "type": "string", + "name": "name" + }, + { + "type": "string", + "name": "symbol" + }, + { + "type": "uint8", + "name": "decimals" + }, + { + "type": "address", + "name": "impl" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "registerUnmanagedSystem", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "id" + }, + { + "type": "address", + "name": "endpoint" + } + ], + "outputs": [] + }, + { + "type": "error", + "name": "AlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientAllowance", + "inputs": [ + { + "type": "uint256", + "name": "required" + }, + { + "type": "uint256", + "name": "existing" + } + ] + }, + { + "type": "error", + "name": "InsufficientBalance", + "inputs": [ + { + "type": "uint256", + "name": "required" + }, + { + "type": "uint256", + "name": "existing" + } + ] + }, + { + "type": "error", + "name": "InvalidParameter", + "inputs": [ + { + "type": "string", + "name": "parameter" + }, + { + "type": "string", + "name": "reason" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "Approval", + "inputs": [ + { + "type": "address", + "name": "owner", + "indexed": true + }, + { + "type": "address", + "name": "spender", + "indexed": true + }, + { + "type": "uint256", + "name": "amount", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "Transfer", + "inputs": [ + { + "type": "address", + "name": "from", + "indexed": true + }, + { + "type": "address", + "name": "to", + "indexed": true + }, + { + "type": "uint256", + "name": "amount", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "allowance", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "owner" + }, + { + "type": "address", + "name": "spender" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "approve", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "spender" + }, + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "balanceOf", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "owner" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "burn", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "burn", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "target" + }, + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "burnWithAllowance", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "from" + }, + { + "type": "address", + "name": "spender" + }, + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "decimals", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint8" + } + ] + }, + { + "type": "function", + "name": "decreaseAllowance", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "spender" + }, + { + "type": "uint256", + "name": "subtractedValue" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "increaseAllowance", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "spender" + }, + { + "type": "uint256", + "name": "addedValue" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "initialize", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "string", + "name": "tokenName" + }, + { + "type": "string", + "name": "tokenSymbol" + }, + { + "type": "uint8", + "name": "tokenDecimals" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "isInitialized", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "mint", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "target" + }, + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "name", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "string" + } + ] + }, + { + "type": "function", + "name": "setAllowance", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "from" + }, + { + "type": "address", + "name": "spender" + }, + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "symbol", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "string" + } + ] + }, + { + "type": "function", + "name": "totalSupply", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "transfer", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "transferFrom", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "from" + }, + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + } +] \ No newline at end of file diff --git a/42161-arbthetix/USDProxy.readable.json b/42161-arbthetix/USDProxy.readable.json new file mode 100644 index 000000000..f945d8eed --- /dev/null +++ b/42161-arbthetix/USDProxy.readable.json @@ -0,0 +1,51 @@ +[ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "error AlreadyInitialized()", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InsufficientBalance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "event Approval(address indexed owner, address indexed spender, uint256 amount)", + "event Transfer(address indexed from, address indexed to, uint256 amount)", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 amount) returns (bool)", + "function balanceOf(address owner) view returns (uint256)", + "function burn(uint256 amount)", + "function burn(address target, uint256 amount)", + "function burnWithAllowance(address from, address spender, uint256 amount)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function initialize(string tokenName, string tokenSymbol, uint8 tokenDecimals)", + "function isInitialized() view returns (bool)", + "function mint(address target, uint256 amount)", + "function name() view returns (string)", + "function setAllowance(address from, address spender, uint256 amount)", + "function symbol() view returns (string)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 amount) returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)" +] \ No newline at end of file diff --git a/42161-arbthetix/cannon.json b/42161-arbthetix/cannon.json new file mode 100644 index 000000000..54362cacc --- /dev/null +++ b/42161-arbthetix/cannon.json @@ -0,0 +1,15242 @@ +{ + "generator": "cannon cli 2.11.21", + "timestamp": 1710726714, + "def": { + "invoke": { + "enable_feature_createAccount": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setFeatureFlagAllowAll", + "args": [ + "<%= formatBytes32String('createAccount') %>", + true + ] + }, + "enable_feature_deposit": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setFeatureFlagAllowAll", + "args": [ + "<%= formatBytes32String('deposit') %>", + true + ] + }, + "enable_feature_withdraw": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setFeatureFlagAllowAll", + "args": [ + "<%= formatBytes32String('withdraw') %>", + false + ] + }, + "enable_feature_mintUsd": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setFeatureFlagAllowAll", + "args": [ + "<%= formatBytes32String('mintUsd') %>", + false + ] + }, + "enable_feature_burnUsd": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setFeatureFlagAllowAll", + "args": [ + "<%= formatBytes32String('burnUsd') %>", + false + ] + }, + "enable_feature_liquidate": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setFeatureFlagAllowAll", + "args": [ + "<%= formatBytes32String('liquidate') %>", + false + ] + }, + "enable_feature_liquidateVault": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setFeatureFlagAllowAll", + "args": [ + "<%= formatBytes32String('liquidateVault') %>", + false + ] + }, + "enable_feature_depositMarketCollateral": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setFeatureFlagAllowAll", + "args": [ + "<%= formatBytes32String('depositMarketCollateral') %>", + false + ] + }, + "enable_feature_withdrawMarketCollateral": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setFeatureFlagAllowAll", + "args": [ + "<%= formatBytes32String('withdrawMarketCollateral') %>", + false + ] + }, + "enable_feature_depositMarketUsd": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setFeatureFlagAllowAll", + "args": [ + "<%= formatBytes32String('depositMarketUsd') %>", + false + ] + }, + "enable_feature_withdrawMarketUsd": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setFeatureFlagAllowAll", + "args": [ + "<%= formatBytes32String('withdrawMarketUsd') %>", + false + ] + }, + "enable_feature_claimRewards": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setFeatureFlagAllowAll", + "args": [ + "<%= formatBytes32String('claimRewards') %>", + false + ] + }, + "enable_feature_delegateCollateral": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setFeatureFlagAllowAll", + "args": [ + "<%= formatBytes32String('delegateCollateral') %>", + true + ] + }, + "setMinimumLiquidityRatio": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setMinLiquidityRatio(uint256)", + "args": [ + "<%= settings.minimum_liquidity_ratio %>" + ] + }, + "setAccountTimeoutWithdraw": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setConfig", + "args": [ + "<%= formatBytes32String('accountTimeoutWithdraw') %>", + "<%= hexZeroPad(hexlify(parseInt(settings.account_timeout_withdraw)), 32) %>" + ] + }, + "permitCreatePool": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "addToFeatureFlagAllowlist", + "args": [ + "<%= formatBytes32String('createPool') %>", + "<%= settings.deployer %>" + ] + }, + "set_deniers_core_withdraw": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setDeniers", + "args": [ + "<%= formatBytes32String('withdraw') %>", + [ + "0x28Ed18Bd77A061E0A886a2a8FFb91da95FF03E56", + "0xd9b891AB93C210eafa46c61fAeb53836F99aa35B", + "0x0B67bab43157e53D21965Af0d83f83BeD9553E0a", + "0x8909F73188C4fE68B283fCB1E724b2466e0BdfD0", + "0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC", + "0x6985b94Db148eDd4df6BD1Ba3F4640da79B44947", + "0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8", + "0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211", + "0x347c3190bD015FBD0e47fb90AA4917138A8A32FE", + "0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd", + "0x1dd532CF7603a60C3ec91360f273DA3Db38545aB", + "0x562948111d50BF039A39Eea48D127f2Ae51ddF02", + "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + ] + ] + }, + "set_deniers_perps": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setDeniers", + "args": [ + "<%= formatBytes32String('perpsSystem') %>", + [ + "0x28Ed18Bd77A061E0A886a2a8FFb91da95FF03E56", + "0xd9b891AB93C210eafa46c61fAeb53836F99aa35B", + "0x0B67bab43157e53D21965Af0d83f83BeD9553E0a", + "0x8909F73188C4fE68B283fCB1E724b2466e0BdfD0", + "0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC", + "0x6985b94Db148eDd4df6BD1Ba3F4640da79B44947", + "0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8", + "0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211", + "0x347c3190bD015FBD0e47fb90AA4917138A8A32FE", + "0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd", + "0x1dd532CF7603a60C3ec91360f273DA3Db38545aB", + "0x562948111d50BF039A39Eea48D127f2Ae51ddF02", + "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + ] + ] + }, + "createScPool": { + "target": [ + "system.CoreProxy" + ], + "from": "<%= settings.deployer %>", + "func": "createPool", + "args": [ + "<%= settings.sc_pool_id %>", + "<%= settings.pool_owner %>" + ], + "depends": [ + "invoke.permitCreatePool", + "provision.system", + "provision.system", + "provision.system", + "provision.system", + "setting.deployer", + "provision.system", + "setting.sc_pool_id", + "setting.pool_owner", + "setting.deployer", + "provision.system", + "setting.sc_pool_id", + "setting.pool_owner", + "setting.deployer", + "provision.system", + "setting.sc_pool_id", + "setting.pool_owner" + ] + }, + "setScPoolName": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "getPoolOwner", + "args": [ + "<%= settings.sc_pool_id %>" + ] + }, + "func": "setPoolName", + "args": [ + "<%= settings.sc_pool_id %>", + "Spartan Council Pool" + ], + "depends": [ + "invoke.createScPool", + "provision.system", + "provision.system", + "setting.sc_pool_id", + "setting.sc_pool_id" + ] + }, + "setPreferredPool": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setPreferredPool", + "args": [ + "<%= settings.sc_pool_id %>" + ], + "depends": [ + "invoke.createScPool", + "provision.system", + "provision.system", + "setting.sc_pool_id" + ] + }, + "setPerpsMarketName": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setPerpsMarketName", + "args": [ + "<%= settings.perps_super_market_name %>" + ] + }, + "allowAllPerpsSystem": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setFeatureFlagAllowAll", + "args": [ + "<%= formatBytes32String('perpsSystem') %>", + true + ] + }, + "setPolynomialAsReferrerOnPerpsMarket": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "updateReferrerShare", + "args": [ + "0x159c143eF9Be79d5672726150462C9EfA679b27c", + "<%= settings.referrerFee %>" + ] + }, + "setKwentaAsReferrerOnPerpsMarket": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "updateReferrerShare", + "args": [ + "0xFffe627790EF1B28E3b48000b8Ba964b55766fF8", + "<%= settings.referrerFee %>" + ] + }, + "setInfinexAsReferrerOnPerpsMarket": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "updateReferrerShare", + "args": [ + "0xa7DB9b0a95D253022068d43BD1d64756f92eF83C", + "<%= settings.referrerFee %>" + ] + }, + "setPerpsLiquidationRewardGuards": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setKeeperRewardGuards", + "args": [ + "<%= parseEther(settings.perps_liquidation_min_keeper_reward_usd) %>", + "<%= parseEther(settings.perps_liquidation_min_keeper_profit_ratio_d18) %>", + "<%= parseEther(settings.perps_liquidation_max_keeper_reward_usd) %>", + "<%= parseEther(settings.perps_liquidation_max_keeper_scaling_ratio_d18) %>" + ] + }, + "setPerpsMaxCollateralForSnxUsd": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setCollateralConfiguration", + "args": [ + "0", + "<%= MaxUint256 %>" + ] + }, + "setPerpsSynthDeductionPriority": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setSynthDeductionPriority", + "args": [ + [ + "0" + ] + ] + }, + "setPerAccountCapsPerps": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setPerAccountCaps", + "args": [ + "2", + "1" + ] + }, + "setPerpsMarketKeeperCostNodeId": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "updateKeeperCostNodeId", + "args": [ + "<%= extras.perps_keeper_cost_usd_oracle_id %>" + ] + }, + "registerPerps_KeeperCostEthOracleNode": { + "target": [ + "system.oracle_manager.Proxy" + ], + "func": "registerNode", + "args": [ + 2, + "<%= defaultAbiCoder.encode(['address', 'uint256', 'uint256', 'uint256', 'uint256', 'uint256', 'uint256'], [imports.perps_gas_oracle_node.contracts.ArbGasPriceOracle.address, settings.perps_keeper_l1_cost_settle_gas_units, settings.perps_keeper_l2_cost_settle_gas_units, settings.perps_keeper_l1_cost_flag_gas_units, settings.perps_keeper_l2_cost_flag_gas_units, settings.perps_keeper_l1_cost_liquidate_gas_units, settings.perps_keeper_l2_cost_liquidate_gas_units]) %>", + [] + ], + "extra": { + "perps_keeper_cost_eth_oracle_id": { + "event": "NodeRegistered", + "arg": 0 + } + } + }, + "registerPerps_KeeperCostUsdOracleNode": { + "target": [ + "system.oracle_manager.Proxy" + ], + "func": "registerNode", + "args": [ + 1, + "<%= defaultAbiCoder.encode(['uint256'], [7]) %>", + [ + "<%= extras.perps_keeper_cost_eth_oracle_id %>", + "<%= extras.eth_oracle_id %>" + ] + ], + "extra": { + "perps_keeper_cost_usd_oracle_id": { + "event": "NodeRegistered", + "arg": 0 + } + } + }, + "registerBtcOracleNode": { + "target": [ + "system.oracle_manager.Proxy" + ], + "func": "registerNode", + "args": [ + 7, + "<%= defaultAbiCoder.encode(['uint256'], [settings.bigCapDefaultStalenessTolerance]) %>", + [ + "<%= extras.btc_pyth_oracle_id %>", + "<%= extras.btc_lookup_oracle_id %>" + ] + ], + "extra": { + "btc_oracle_id": { + "event": "NodeRegistered", + "arg": 0 + } + } + }, + "createBtcPerpsMarket": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "createMarket", + "args": [ + "<%= settings.btcPerpsMarketId %>", + "Bitcoin", + "BTC" + ] + }, + "setPerpsPriceBtc": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "updatePriceData", + "args": [ + "<%= settings.btcPerpsMarketId %>", + "<%= extras.btc_oracle_id %>", + "<%= settings.bigCapStrictStalenessTolerance %>" + ] + }, + "addPerpsBtcSettlementStrategy": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "addSettlementStrategy", + "args": [ + "<%= settings.btcPerpsMarketId %>", + { + "strategyType": "0", + "settlementDelay": "0", + "settlementWindowDuration": "1", + "priceVerificationContract": "0x0000000000000000000000000000000000000000", + "feedId": "0x0000000000000000000000000000000000000000000000000000000000000000", + "settlementReward": "0", + "disabled": false, + "commitmentPriceDelay": "0" + } + ], + "extra": { + "btc_pyth_settlement_strategy": { + "event": "SettlementStrategyAdded", + "arg": 2 + } + } + }, + "setPerpsBtcSettlementStrategy": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setSettlementStrategy", + "args": [ + "<%= settings.btcPerpsMarketId %>", + "<%= extras.btc_pyth_settlement_strategy %>", + { + "strategyType": "0", + "settlementDelay": "<%= settings.bigCapSettlementDelay %>", + "settlementWindowDuration": "<%= settings.bigCapSettlementWindowDuration %>", + "priceVerificationContract": "<%= imports.pyth_erc7412_wrapper.contracts.PythERC7412Wrapper.address %>", + "feedId": "<%= settings.pythBtcFeedId %>", + "settlementReward": "<%= parseEther(settings.settlementReward) %>", + "disabled": false, + "commitmentPriceDelay": "<%= settings.commitmentPriceDelay %>" + } + ] + }, + "setPerpsBtcFundingParameters": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setFundingParameters", + "args": [ + "<%= settings.btcPerpsMarketId %>", + "<%= parseEther(settings.perpsBtcSkewScale) %>", + "<%= parseEther(settings.perpsBtcMaxFundingVelocity) %>" + ] + }, + "setPerpsBtcOrderFees": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setOrderFees", + "args": [ + "<%= settings.btcPerpsMarketId %>", + "<%= parseEther(settings.perpsBtcMakerFeeRatio) %>", + "<%= parseEther(settings.perpsBtcTakerFeeRatio) %>" + ] + }, + "setPerpsBtcMaxMarketSize": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setMaxMarketSize", + "args": [ + "<%= settings.btcPerpsMarketId %>", + "<%= parseEther(settings.perpsBtcMaxMarketSize) %>" + ] + }, + "setPerpsBtcMaxLiquidationParameters": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setMaxLiquidationParameters", + "args": [ + "<%= settings.btcPerpsMarketId %>", + "<%= parseEther(settings.perpsBtcMaxLiquidationLimitAccumulationMultiplier) %>", + "<%= settings.perpsBtcMaxSecondsInLiquidationWindow %>", + "<%= parseEther(settings.perpsBtcMaxLiquidationPd) %>", + "<%= settings.perpsBtcEndorsedLiquidator %>" + ] + }, + "setPerpsBtcLiquidationParameters": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setLiquidationParameters", + "args": [ + "<%= settings.btcPerpsMarketId %>", + "<%= parseEther(settings.perpsBtcInitialMarginRatio) %>", + "<%= parseEther(settings.perpsBtcMinimumInitialMarginRatio) %>", + "<%= parseEther(settings.perpsBtcMaintenanceMarginScalar) %>", + "<%= parseEther(settings.perpsBtcFlagRewardRatioD18) %>", + "<%= parseEther(settings.perpsBtcMinimumPositionMargin) %>" + ] + }, + "setPerpsBtcLockedOiRatio": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setLockedOiRatio", + "args": [ + "<%= settings.btcPerpsMarketId %>", + "<%= parseEther(settings.perpsBtcLockedOiRatio) %>" + ] + }, + "registerPythBtcOracleNode": { + "target": [ + "system.oracle_manager.Proxy" + ], + "func": "registerNode", + "args": [ + 5, + "<%= defaultAbiCoder.encode(['address', 'bytes32', 'bool'], [settings.pyth_price_verification_address, settings.pythBtcFeedId, false]) %>", + [] + ], + "extra": { + "btc_pyth_oracle_id": { + "event": "NodeRegistered", + "arg": 0 + } + } + }, + "registerLookupBtcOracleNode": { + "target": [ + "system.oracle_manager.Proxy" + ], + "func": "registerNode", + "args": [ + 9, + "<%= defaultAbiCoder.encode(['address', 'bytes32', 'uint256'], [imports.pyth_erc7412_wrapper.contracts.PythERC7412Wrapper.address, settings.pythBtcFeedId, settings.bigCapDefaultStalenessTolerance]) %>", + [] + ], + "extra": { + "btc_lookup_oracle_id": { + "event": "NodeRegistered", + "arg": 0 + } + } + }, + "registerEthOracleNode": { + "target": [ + "system.oracle_manager.Proxy" + ], + "func": "registerNode", + "args": [ + 7, + "<%= defaultAbiCoder.encode(['uint256'], [settings.bigCapDefaultStalenessTolerance]) %>", + [ + "<%= extras.eth_pyth_oracle_id %>", + "<%= extras.eth_lookup_oracle_id %>" + ] + ], + "extra": { + "eth_oracle_id": { + "event": "NodeRegistered", + "arg": 0 + } + } + }, + "createEthPerpsMarket": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "createMarket", + "args": [ + "<%= settings.ethPerpsMarketId %>", + "Ethereum", + "ETH" + ] + }, + "setPerpsPriceEth": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "updatePriceData", + "args": [ + "<%= settings.ethPerpsMarketId %>", + "<%= extras.eth_oracle_id %>", + "<%= settings.bigCapStrictStalenessTolerance %>" + ] + }, + "addPerpsEthSettlementStrategy": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "addSettlementStrategy", + "args": [ + "<%= settings.ethPerpsMarketId %>", + { + "strategyType": "0", + "settlementDelay": "0", + "settlementWindowDuration": "1", + "priceVerificationContract": "0x0000000000000000000000000000000000000000", + "feedId": "0x0000000000000000000000000000000000000000000000000000000000000000", + "settlementReward": "0", + "disabled": false, + "commitmentPriceDelay": "0" + } + ], + "extra": { + "eth_pyth_settlement_strategy": { + "event": "SettlementStrategyAdded", + "arg": 2 + } + } + }, + "setPerpsEthSettlementStrategy": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setSettlementStrategy", + "args": [ + "<%= settings.ethPerpsMarketId %>", + "<%= extras.eth_pyth_settlement_strategy %>", + { + "strategyType": "0", + "settlementDelay": "<%= settings.bigCapSettlementDelay %>", + "settlementWindowDuration": "<%= settings.bigCapSettlementWindowDuration %>", + "priceVerificationContract": "<%= imports.pyth_erc7412_wrapper.contracts.PythERC7412Wrapper.address %>", + "feedId": "<%= settings.pythEthFeedId %>", + "settlementReward": "<%= parseEther(settings.settlementReward) %>", + "disabled": false, + "commitmentPriceDelay": "<%= settings.commitmentPriceDelay %>" + } + ] + }, + "setPerpsEthFundingParameters": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setFundingParameters", + "args": [ + "<%= settings.ethPerpsMarketId %>", + "<%= parseEther(settings.perpsEthSkewScale) %>", + "<%= parseEther(settings.perpsEthMaxFundingVelocity) %>" + ] + }, + "setPerpsEthOrderFees": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setOrderFees", + "args": [ + "<%= settings.ethPerpsMarketId %>", + "<%= parseEther(settings.perpsEthMakerFeeRatio) %>", + "<%= parseEther(settings.perpsEthTakerFeeRatio) %>" + ] + }, + "setPerpsEthMaxMarketSize": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setMaxMarketSize", + "args": [ + "<%= settings.ethPerpsMarketId %>", + "<%= parseEther(settings.perpsEthMaxMarketSize) %>" + ] + }, + "setPerpsEthMaxLiquidationParameters": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setMaxLiquidationParameters", + "args": [ + "<%= settings.ethPerpsMarketId %>", + "<%= parseEther(settings.perpsEthMaxLiquidationLimitAccumulationMultiplier) %>", + "<%= settings.perpsEthMaxSecondsInLiquidationWindow %>", + "<%= parseEther(settings.perpsEthMaxLiquidationPd) %>", + "<%= settings.perpsEthEndorsedLiquidator %>" + ] + }, + "setPerpsEthLiquidationParameters": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setLiquidationParameters", + "args": [ + "<%= settings.ethPerpsMarketId %>", + "<%= parseEther(settings.perpsEthInitialMarginRatio) %>", + "<%= parseEther(settings.perpsEthMinimumInitialMarginRatio) %>", + "<%= parseEther(settings.perpsEthMaintenanceMarginScalar) %>", + "<%= parseEther(settings.perpsEthFlagRewardRatioD18) %>", + "<%= parseEther(settings.perpsEthMinimumPositionMargin) %>" + ] + }, + "setPerpsEthLockedOiRatio": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setLockedOiRatio", + "args": [ + "<%= settings.ethPerpsMarketId %>", + "<%= parseEther(settings.perpsEthLockedOiRatio) %>" + ] + }, + "registerPythEthOracleNode": { + "target": [ + "system.oracle_manager.Proxy" + ], + "func": "registerNode", + "args": [ + 5, + "<%= defaultAbiCoder.encode(['address', 'bytes32', 'bool'], [settings.pyth_price_verification_address, settings.pythEthFeedId, false]) %>", + [] + ], + "extra": { + "eth_pyth_oracle_id": { + "event": "NodeRegistered", + "arg": 0 + } + } + }, + "registerLookupEthOracleNode": { + "target": [ + "system.oracle_manager.Proxy" + ], + "func": "registerNode", + "args": [ + 9, + "<%= defaultAbiCoder.encode(['address', 'bytes32', 'uint256'], [imports.pyth_erc7412_wrapper.contracts.PythERC7412Wrapper.address, settings.pythEthFeedId, settings.bigCapDefaultStalenessTolerance]) %>", + [] + ], + "extra": { + "eth_lookup_oracle_id": { + "event": "NodeRegistered", + "arg": 0 + } + } + }, + "configureWethCollateral": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "configureCollateral", + "args": [ + { + "tokenAddress": "<%= settings.weth_address %>", + "oracleNodeId": "<%= extras.eth_oracle_id %>", + "issuanceRatioD18": "<%= parseEther('3') %>", + "liquidationRatioD18": "<%= parseEther('1.5') %>", + "liquidationRewardD18": "<%= parseEther('0.01') %>", + "minDelegationD18": "<%= parseEther('0.01') %>", + "depositingEnabled": true + } + ] + }, + "registerPythArbOracleNode": { + "target": [ + "system.oracle_manager.Proxy" + ], + "func": "registerNode", + "args": [ + 5, + "<%= defaultAbiCoder.encode(['address', 'bytes32', 'bool'], [settings.pyth_price_verification_address, settings.pythArbFeedId, false]) %>", + [] + ], + "extra": { + "arb_pyth_oracle_id": { + "event": "NodeRegistered", + "arg": 0 + } + } + }, + "registerLookupArbOracleNode": { + "target": [ + "system.oracle_manager.Proxy" + ], + "func": "registerNode", + "args": [ + 9, + "<%= defaultAbiCoder.encode(['address', 'bytes32', 'uint256'], [imports.pyth_erc7412_wrapper.contracts.PythERC7412Wrapper.address, settings.pythArbFeedId, settings.bigCapDefaultStalenessTolerance]) %>", + [] + ], + "extra": { + "arb_lookup_oracle_id": { + "event": "NodeRegistered", + "arg": 0 + } + } + }, + "registerArbOracleNode": { + "target": [ + "system.oracle_manager.Proxy" + ], + "func": "registerNode", + "args": [ + 7, + "<%= defaultAbiCoder.encode(['uint256'], [settings.bigCapDefaultStalenessTolerance]) %>", + [ + "<%= extras.arb_pyth_oracle_id %>", + "<%= extras.arb_lookup_oracle_id %>" + ] + ], + "extra": { + "arb_oracle_id": { + "event": "NodeRegistered", + "arg": 0 + } + } + }, + "configureArbCollateral": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "configureCollateral", + "args": [ + { + "tokenAddress": "<%= settings.arb_address %>", + "oracleNodeId": "<%= extras.arb_oracle_id %>", + "issuanceRatioD18": "<%= parseEther('3') %>", + "liquidationRatioD18": "<%= parseEther('1.5') %>", + "liquidationRewardD18": "<%= parseEther('0.01') %>", + "minDelegationD18": "<%= parseEther('0.01') %>", + "depositingEnabled": true + } + ] + }, + "setScPoolConfig": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "getPoolOwner", + "args": [ + "<%= settings.sc_pool_id %>" + ] + }, + "func": "setPoolConfiguration", + "args": [ + "<%= settings.sc_pool_id %>", + [ + { + "marketId": "<%= imports.perpsFactory.extras.superMarketId %>", + "weightD18": 1, + "maxDebtShareValueD18": "<%= parseEther('1') %>" + } + ] + ] + }, + "allowAllPerpsSystem_revert": { + "target": [ + "perpsFactory.PerpsMarketProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setFeatureFlagAllowAll", + "args": [ + "<%= formatBytes32String('perpsSystem') %>", + false + ], + "depends": [ + "invoke.allowAllPerpsSystem", + "provision.perpsFactory", + "provision.perpsFactory", + "provision.perpsFactory", + "provision.perpsFactory", + "provision.perpsFactory", + "provision.perpsFactory", + "provision.perpsFactory" + ] + }, + "setUsdTokenName": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "initOrUpgradeToken", + "args": [ + "0x555344546f6b656e000000000000000000000000000000000000000000000000", + "DollarWifHat", + "USDh", + 18, + "<%= imports.system.contracts.USDRouter.address %>" + ] + } + }, + "setting": { + "snx_package": { + "defaultValue": "synthetix:3.3.15" + }, + "owner": { + "defaultValue": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "target_preset": { + "defaultValue": "arbthetix" + }, + "salt": { + "defaultValue": "ARBTHETIX" + }, + "bundleSalt": { + "defaultValue": "snax" + }, + "minimum_liquidity_ratio": { + "defaultValue": "<%= parseEther('1.25') %>" + }, + "account_timeout_withdraw": { + "defaultValue": "86400" + }, + "deployer": { + "defaultValue": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "sc_pool_id": { + "defaultValue": "1" + }, + "pool_owner": { + "defaultValue": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "spot_market_package": { + "defaultValue": "synthetix-spot-market:3.3.15" + }, + "perps_market_package": { + "defaultValue": "synthetix-perps-market:3.3.17" + }, + "perps_super_market_name": { + "defaultValue": "High MCap" + }, + "referrerFee": { + "defaultValue": "<%= parseEther('0.2') %>" + }, + "settlementReward": { + "defaultValue": "1" + }, + "perps_keeper_l1_cost_settle_gas_units": { + "defaultValue": "<%= String(30_000) %>" + }, + "perps_keeper_l2_cost_settle_gas_units": { + "defaultValue": "<%= String(1_200_000) %>" + }, + "perps_keeper_l1_cost_flag_gas_units": { + "defaultValue": "<%= String(15_500) %>" + }, + "perps_keeper_l2_cost_flag_gas_units": { + "defaultValue": "<%= String(250_000) %>" + }, + "perps_keeper_l1_cost_liquidate_gas_units": { + "defaultValue": "<%= String(5_500) %>" + }, + "perps_keeper_l2_cost_liquidate_gas_units": { + "defaultValue": "<%= String(1_100_000) %>" + }, + "perps_liquidation_min_keeper_reward_usd": { + "defaultValue": "5" + }, + "perps_liquidation_min_keeper_profit_ratio_d18": { + "defaultValue": "0.30" + }, + "perps_liquidation_max_keeper_reward_usd": { + "defaultValue": "100" + }, + "perps_liquidation_max_keeper_scaling_ratio_d18": { + "defaultValue": "0.3" + }, + "btc_aggregator_address": {}, + "pythPriceVerificationAddress": {}, + "pythFeedUrl": {}, + "settlementMinimumUsdExchangeAmount": { + "defaultValue": "0.000001" + }, + "settlementMaxRoundingLoss": { + "defaultValue": "0.000001" + }, + "commitmentPriceDelay": { + "defaultValue": "2" + }, + "bigCapSettlementDelay": { + "defaultValue": "2" + }, + "bigCapSettlementWindowDuration": { + "defaultValue": "60" + }, + "bigCapDefaultStalenessTolerance": { + "defaultValue": "86400" + }, + "bigCapStrictStalenessTolerance": { + "defaultValue": "60" + }, + "pythBtcFeedId": { + "defaultValue": "0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43" + }, + "btcPerpsMarketId": { + "defaultValue": "200" + }, + "perpsBtcSkewScale": { + "defaultValue": "<%= String(100_000) %>" + }, + "perpsBtcMaxFundingVelocity": { + "defaultValue": "9" + }, + "perpsBtcMakerFeeRatio": { + "defaultValue": "0.0002" + }, + "perpsBtcTakerFeeRatio": { + "defaultValue": "0.0005" + }, + "perpsBtcMaxMarketSize": { + "defaultValue": "300" + }, + "perpsBtcInitialMarginRatio": { + "defaultValue": "13.35" + }, + "perpsBtcMaintenanceMarginFraction": {}, + "perpsBtcFlagRewardRatioD18": { + "defaultValue": "0.0003" + }, + "perpsBtcMaxLiquidationLimitAccumulationMultiplier": { + "defaultValue": "1.5" + }, + "perpsBtcMaxSecondsInLiquidationWindow": { + "defaultValue": "30" + }, + "perpsBtcMinimumPositionMargin": { + "defaultValue": "50" + }, + "perpsBtcLockedOiRatio": { + "defaultValue": "0.5" + }, + "perpsBtcMaintenanceMarginScalar": { + "defaultValue": "0.28" + }, + "perpsBtcMinimumInitialMarginRatio": { + "defaultValue": "0.02" + }, + "perpsBtcSynthMaxCollateralAmount": { + "defaultValue": "<%= MaxUint256 %>" + }, + "perpsBtcMaxLiquidationPd": { + "defaultValue": "0.0005" + }, + "perpsBtcEndorsedLiquidator": { + "defaultValue": "0x95A61Fa7454CA5f6A3CE01724e306Cd14a22D306" + }, + "eth_aggregator_address": {}, + "ethPerpsMarketId": { + "defaultValue": "100" + }, + "perpsEthSkewScale": { + "defaultValue": "<%= String(10_000_000) %>" + }, + "perpsEthMaxFundingVelocity": { + "defaultValue": "9" + }, + "perpsEthMakerFeeRatio": { + "defaultValue": "0.0002" + }, + "perpsEthTakerFeeRatio": { + "defaultValue": "0.0005" + }, + "perpsEthMaxMarketSize": { + "defaultValue": "5250" + }, + "perpsEthInitialMarginRatio": { + "defaultValue": "8.92" + }, + "perpsEthMaintenanceMarginFraction": {}, + "perpsEthFlagRewardRatioD18": { + "defaultValue": "0.0003" + }, + "perpsEthMaxLiquidationLimitAccumulationMultiplier": { + "defaultValue": "1.5" + }, + "perpsEthMaxSecondsInLiquidationWindow": { + "defaultValue": "30" + }, + "perpsEthMaxLiquidationPd": { + "defaultValue": "0.0005" + }, + "perpsEthEndorsedLiquidator": { + "defaultValue": "0x95A61Fa7454CA5f6A3CE01724e306Cd14a22D306" + }, + "perpsEthMinimumPositionMargin": { + "defaultValue": "50" + }, + "perpsEthLockedOiRatio": { + "defaultValue": "0.5" + }, + "weth_address": { + "defaultValue": "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1" + }, + "pythEthFeedId": { + "defaultValue": "0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace" + }, + "perpsEthMinimumInitialMarginRatio": { + "defaultValue": "0.02" + }, + "perpsEthMaintenanceMarginScalar": { + "defaultValue": "0.28" + }, + "perpsEthSynthMaxCollateralAmount": { + "defaultValue": "<%= MaxUint256 %>" + }, + "arb_address": { + "defaultValue": "0x912CE59144191C1204E64559FE8253a0e49E6548" + }, + "pythArbFeedId": { + "defaultValue": "0x3fa4252848f9f0a1480be62745a4629d9eb1322aebab8a791e344b3b9c1adcf5" + }, + "perps_keeper_cost_package": { + "defaultValue": "arbitrum-gas-price-oracle:3.3.16" + }, + "buyback_snx_package": { + "defaultValue": "buyback-snx:3.3.14" + }, + "pyth_price_verification_address": { + "defaultValue": "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C" + }, + "usdc_address": { + "defaultValue": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" + }, + "dai_address": { + "defaultValue": "0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1" + }, + "snx_address": {} + }, + "provision": { + "system": { + "source": "<%= settings.snx_package %>", + "targetPreset": "<%= settings.target_preset %>", + "options": { + "owner": "<%= settings.owner %>", + "salt": "<%= settings.salt %>", + "bundleSalt": "<%= settings.bundleSalt %>" + } + }, + "spotFactory": { + "source": "<%= settings.spot_market_package %>", + "targetPreset": "<%= settings.target_preset %>", + "options": { + "coreProxyOwner": "<%= settings.owner %>", + "owner": "<%= settings.owner %>", + "salt": "<%= settings.salt %>", + "synthetixPackage": "<%= settings.snx_package %>@<%= settings.target_preset %>", + "synthetixPreset": "<%= settings.target_preset %>" + }, + "depends": [ + "provision.system", + "setting.spot_market_package", + "setting.target_preset", + "setting.owner", + "setting.owner", + "setting.salt", + "setting.snx_package", + "setting.target_preset", + "setting.target_preset", + "setting.spot_market_package", + "setting.target_preset", + "setting.owner", + "setting.owner", + "setting.salt", + "setting.snx_package", + "setting.target_preset", + "setting.target_preset", + "setting.spot_market_package", + "setting.target_preset", + "setting.owner", + "setting.owner", + "setting.salt", + "setting.snx_package", + "setting.target_preset", + "setting.target_preset" + ] + }, + "perpsFactory": { + "source": "<%= settings.perps_market_package %>", + "targetPreset": "<%= settings.target_preset %>", + "options": { + "coreProxyOwner": "<%= settings.owner %>", + "owner": "<%= settings.owner %>", + "salt": "<%= settings.salt %>", + "synthetixPackage": "<%= settings.snx_package %>@<%= settings.target_preset %>", + "spotMarketPackage": "<%= settings.spot_market_package %>@<%= settings.target_preset %>" + }, + "depends": [ + "provision.spotFactory", + "setting.perps_market_package", + "setting.target_preset", + "setting.owner", + "setting.owner", + "setting.salt", + "setting.snx_package", + "setting.target_preset", + "setting.spot_market_package", + "setting.target_preset", + "setting.perps_market_package", + "setting.target_preset", + "setting.owner", + "setting.owner", + "setting.salt", + "setting.snx_package", + "setting.target_preset", + "setting.spot_market_package", + "setting.target_preset", + "setting.perps_market_package", + "setting.target_preset", + "setting.owner", + "setting.owner", + "setting.salt", + "setting.snx_package", + "setting.target_preset", + "setting.spot_market_package", + "setting.target_preset" + ] + }, + "perps_gas_oracle_node": { + "source": "<%= settings.perps_keeper_cost_package %>", + "targetPreset": "<%= settings.target_preset %>", + "options": { + "salt": "<%= settings.salt %>" + } + }, + "pyth_erc7412_wrapper": { + "source": "pyth-erc7412-wrapper:3.3.14", + "targetPreset": "<%= settings.target_preset %>", + "options": { + "salt": "<%= settings.salt %>", + "pythAddress": "<%= settings.pyth_price_verification_address %>" + } + } + }, + "name": "synthetix-omnibus", + "version": "5", + "description": "Arbitrum deployment", + "preset": "arbthetix" + }, + "state": { + "provision.perps_gas_oracle_node": { + "artifacts": { + "imports": { + "perps_gas_oracle_node": { + "url": "ipfs://Qme1ctHMvbukUGWG78bkbCACGh1TBMH7f5Qp1WAoXSMYxM", + "tags": [ + "latest" + ], + "preset": "arbthetix", + "contracts": { + "ArbGasPriceOracle": { + "address": "0x1FBbaFB9232247D37aF889210c75BbF29303b833", + "abi": [ + "constructor(address _arbGasInfoPrecompileAddress)", + "error ArbGasPriceOracleInvalidExecutionKind()", + "error OverflowUint256ToInt256()", + "function KIND_FLAG() view returns (uint256)", + "function KIND_LIQUIDATE() view returns (uint256)", + "function KIND_SETTLEMENT() view returns (uint256)", + "function isValid(tuple(uint8 nodeType, bytes parameters, bytes32[] parents) nodeDefinition) view returns (bool valid)", + "function precompile() view returns (address)", + "function process(tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2)[], bytes parameters, bytes32[] runtimeKeys, bytes32[] runtimeValues) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) nodeOutput)", + "function supportsInterface(bytes4 interfaceId) pure returns (bool)" + ], + "constructorArgs": [ + "0x000000000000000000000000000000000000006C" + ], + "linkedLibraries": {}, + "deployTxnHash": "0x0bdd6ee2511cb153a40d4c49438197973ab87a4ca2383a3e60745694aa57b73d", + "sourceName": "contracts/ArbGasPriceOracle.sol", + "contractName": "ArbGasPriceOracle", + "deployedOn": "contract.ArbGasPriceOracle", + "gasUsed": 1199330, + "gasCost": "100000000" + } + } + } + } + }, + "hash": "812de9559c3dcbc6c4cc97bedb5f1873", + "version": 6 + }, + "provision.pyth_erc7412_wrapper": { + "artifacts": { + "imports": { + "pyth_erc7412_wrapper": { + "url": "ipfs://QmQ7z4EJWTkdUuk57rtBiBHX8WfKsdUeuMpmngWP6DRs6t", + "tags": [ + "latest" + ], + "preset": "arbthetix", + "contracts": { + "PythERC7412Wrapper": { + "address": "0x7b118596be900f3c0feB2f23758d9798965B72a3", + "abi": [ + "constructor(address _pythAddress)", + "error FeeRequired(uint256 amount)", + "error NotSupported(uint8 updateType)", + "error OracleDataRequired(address oracleContract, bytes oracleQuery)", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToInt256()", + "function fulfillOracleQuery(bytes signedOffchainData) payable", + "function getBenchmarkPrice(bytes32 priceId, uint64 requestedTime) view returns (int256)", + "function getLatestPrice(bytes32 priceId, uint256 stalenessTolerance) view returns (int256)", + "function oracleId() pure returns (bytes32)", + "function pythAddress() view returns (address)" + ], + "constructorArgs": [ + "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C" + ], + "linkedLibraries": {}, + "deployTxnHash": "0x40ac0310bbe1da02b41bf9bcb266b356b1c7fa5efd66a8ecfb1b6d0764cc385d", + "sourceName": "contracts/PythERC7412Wrapper.sol", + "contractName": "PythERC7412Wrapper", + "deployedOn": "contract.PythERC7412Wrapper", + "gasUsed": 2200981, + "gasCost": "100000000" + } + } + } + } + }, + "hash": "bd04665c0adc2f44add83b7e391f0477", + "version": 6 + }, + "provision.system": { + "artifacts": { + "imports": { + "system": { + "url": "ipfs://QmQgBJxBPDJ3hfFex2SKSihRSdBBomUmaL3r7ja24Ap8Go", + "tags": [ + "latest" + ], + "preset": "arbthetix", + "contracts": { + "AccountModule": { + "address": "0xBb0CBCa9CE28a8C6c7Aaa13584A76c0B1a35Fff7", + "abi": [ + "error FeatureUnavailable(bytes32 which)", + "error InvalidAccountId(uint128 accountId)", + "error InvalidPermission(bytes32 permission)", + "error OnlyAccountTokenProxy(address origin)", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PermissionNotGranted(uint128 accountId, bytes32 permission, address user)", + "error PositionOutOfBounds()", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "error ZeroAddress()", + "event AccountCreated(uint128 indexed accountId, address indexed owner)", + "event PermissionGranted(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "event PermissionRevoked(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "function createAccount() returns (uint128 accountId)", + "function createAccount(uint128 requestedAccountId)", + "function getAccountLastInteraction(uint128 accountId) view returns (uint256)", + "function getAccountOwner(uint128 accountId) view returns (address)", + "function getAccountPermissions(uint128 accountId) view returns (tuple(address user, bytes32[] permissions)[] accountPerms)", + "function getAccountTokenAddress() view returns (address)", + "function grantPermission(uint128 accountId, bytes32 permission, address user)", + "function hasPermission(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function isAuthorized(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function notifyAccountTransfer(address to, uint128 accountId)", + "function renouncePermission(uint128 accountId, bytes32 permission)", + "function revokePermission(uint128 accountId, bytes32 permission, address user)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x18d83342552a8c747220ab5bca9b844b0dcaf6fcc36cf676afacaccb99514d2d", + "sourceName": "contracts/modules/core/AccountModule.sol", + "contractName": "AccountModule", + "deployedOn": "contract.AccountModule", + "gasUsed": 1962339, + "gasCost": "100000000" + }, + "AccountTokenModule": { + "address": "0xd1e00870D19AB306a255Eaf6161cbeb78730F501", + "abi": [ + "error AlreadyInitialized()", + "error CannotSelfApprove(address addr)", + "error IndexOverrun(uint256 requestedIndex, uint256 length)", + "error InvalidOwner(address addr)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidTransferRecipient(address addr)", + "error OverflowUint256ToUint128()", + "error TokenAlreadyMinted(uint256 id)", + "error TokenDoesNotExist(uint256 id)", + "error Unauthorized(address addr)", + "error ZeroAddress()", + "event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)", + "event ApprovalForAll(address indexed owner, address indexed operator, bool approved)", + "event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)", + "function approve(address to, uint256 tokenId)", + "function balanceOf(address holder) view returns (uint256 balance)", + "function burn(uint256 tokenId)", + "function getApproved(uint256 tokenId) view returns (address operator)", + "function initialize(string tokenName, string tokenSymbol, string uri)", + "function isApprovedForAll(address holder, address operator) view returns (bool)", + "function isInitialized() view returns (bool)", + "function mint(address to, uint256 tokenId)", + "function name() view returns (string)", + "function ownerOf(uint256 tokenId) view returns (address)", + "function safeMint(address to, uint256 tokenId, bytes data)", + "function safeTransferFrom(address from, address to, uint256 tokenId)", + "function safeTransferFrom(address from, address to, uint256 tokenId, bytes data)", + "function setAllowance(uint256 tokenId, address spender)", + "function setApprovalForAll(address operator, bool approved)", + "function setBaseTokenURI(string uri)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function symbol() view returns (string)", + "function tokenByIndex(uint256 index) view returns (uint256)", + "function tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)", + "function tokenURI(uint256 tokenId) view returns (string)", + "function totalSupply() view returns (uint256)", + "function transferFrom(address from, address to, uint256 tokenId)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xfee543f5f83c14bac68bc9c40b1a7905dadccf684d93eb48bf7321a8ef89336c", + "sourceName": "contracts/modules/account/AccountTokenModule.sol", + "contractName": "AccountTokenModule", + "deployedOn": "contract.AccountTokenModule", + "gasUsed": 2864034, + "gasCost": "100000000" + }, + "AssociateDebtModule": { + "address": "0x7e5fF045f228075e759355a15B80d48BBBb9A1bC", + "abi": [ + "error AccountNotFound(uint128 accountId)", + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)", + "error MarketNotFound(uint128 marketId)", + "error NotFundedByPool(uint256 marketId, uint256 poolId)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error Unauthorized(address addr)", + "event DebtAssociated(uint128 indexed marketId, uint128 indexed poolId, address indexed collateralType, uint128 accountId, uint256 amount, int256 updatedDebt)", + "function associateDebt(uint128 marketId, uint128 poolId, address collateralType, uint128 accountId, uint256 amount) returns (int256)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x43152c69f60de40bd7e2f223461d2b5272a76791ea70723e53452e75f7122d35", + "sourceName": "contracts/modules/core/AssociateDebtModule.sol", + "contractName": "AssociateDebtModule", + "deployedOn": "contract.AssociateDebtModule", + "gasUsed": 3586947, + "gasCost": "100000000" + }, + "AssociatedSystemsModule": { + "address": "0xD5FcCd43205CEF11FbaF9b38dF15ADbe1B186869", + "abi": [ + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "error Unauthorized(address addr)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x2fcb1d5c7aaedfa113657d4d597a88c9f091b98d35410c04ae5848a12f78aeb9", + "sourceName": "contracts/modules/associated-systems/AssociatedSystemsModule.sol", + "contractName": "AssociatedSystemsModule", + "deployedOn": "contract.AssociatedSystemsModule", + "gasUsed": 1373337, + "gasCost": "100000000" + }, + "CcipReceiverModule": { + "address": "0xd10cd91683301c8C15eDA40F59e73d1b0BcfECDD", + "abi": [ + "error InvalidMessage()", + "error NotCcipRouter(address)", + "error Unauthorized(address addr)", + "error UnsupportedNetwork(uint64)", + "function ccipReceive(tuple(bytes32 messageId, uint64 sourceChainSelector, bytes sender, bytes data, tuple(address token, uint256 amount)[] tokenAmounts) message)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x020b837f84bd556165a2206df8477d44b3317d357b0f0e6220d9918d3b853276", + "sourceName": "contracts/modules/core/CcipReceiverModule.sol", + "contractName": "CcipReceiverModule", + "deployedOn": "contract.CcipReceiverModule", + "gasUsed": 802040, + "gasCost": "100000000" + }, + "CollateralConfigurationModule": { + "address": "0x3091AcaEAF27985F33a8a4b0EefEa49dc60c8506", + "abi": [ + "error InvalidParameter(string parameter, string reason)", + "error OverflowInt256ToUint256()", + "error PositionOutOfBounds()", + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "event CollateralConfigured(address indexed collateralType, tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function configureCollateral(tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function getCollateralConfiguration(address collateralType) pure returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18))", + "function getCollateralConfigurations(bool hideDisabled) view returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18)[])", + "function getCollateralPrice(address collateralType) view returns (uint256)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x9b2d5789720e5d906a359b0b9a1d27a6f5b1af1b8af9675b109294aae00fe1d6", + "sourceName": "contracts/modules/core/CollateralConfigurationModule.sol", + "contractName": "CollateralConfigurationModule", + "deployedOn": "contract.CollateralConfigurationModule", + "gasUsed": 1370165, + "gasCost": "100000000" + }, + "CollateralModule": { + "address": "0x0DAeA0367d7b82644C4db4D992cF4ba39c8A359C", + "abi": [ + "error AccountActivityTimeoutPending(uint128 accountId, uint256 currentTime, uint256 requiredTime)", + "error AccountNotFound(uint128 accountId)", + "error CollateralDepositDisabled(address collateralType)", + "error CollateralNotFound()", + "error FailedTransfer(address from, address to, uint256 value)", + "error FeatureUnavailable(bytes32 which)", + "error InsufficentAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)", + "error InsufficientAccountCollateral(uint256 amount)", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToUint128()", + "error OverflowUint256ToUint64()", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PositionOutOfBounds()", + "error PrecisionLost(uint256 tokenAmount, uint8 decimals)", + "event CollateralLockCreated(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event CollateralLockExpired(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event Deposited(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "event Withdrawn(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "function cleanExpiredLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) returns (uint256 cleared)", + "function createLock(uint128 accountId, address collateralType, uint256 amount, uint64 expireTimestamp)", + "function deposit(uint128 accountId, address collateralType, uint256 tokenAmount)", + "function getAccountAvailableCollateral(uint128 accountId, address collateralType) view returns (uint256)", + "function getAccountCollateral(uint128 accountId, address collateralType) view returns (uint256 totalDeposited, uint256 totalAssigned, uint256 totalLocked)", + "function getLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) view returns (tuple(uint128 amountD18, uint64 lockExpirationTime)[] locks)", + "function withdraw(uint128 accountId, address collateralType, uint256 tokenAmount)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x82bc4461a9fcefbb2f74a229effeed0b58e8aa5ceefedb585daf27e70209e21e", + "sourceName": "contracts/modules/core/CollateralModule.sol", + "contractName": "CollateralModule", + "deployedOn": "contract.CollateralModule", + "gasUsed": 2834863, + "gasCost": "100000000" + }, + "CrossChainUSDModule": { + "address": "0x978D4b5438D3E4EDf4f03682e5A53b48E56604c5", + "abi": [ + "error FeatureUnavailable(bytes32 which)", + "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "event TransferCrossChainInitiated(uint64 indexed destChainId, uint256 indexed amount, address sender)", + "function transferCrossChain(uint64 destChainId, uint256 amount) payable returns (uint256 gasTokenUsed)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xc4942e90cd4588ad332c5069e2be4435800f7030ccd5bafb5f73d3990e258281", + "sourceName": "contracts/modules/core/CrossChainUSDModule.sol", + "contractName": "CrossChainUSDModule", + "deployedOn": "contract.CrossChainUSDModule", + "gasUsed": 1016259, + "gasCost": "100000000" + }, + "FeatureFlagModule": { + "address": "0xb16a8B06318C78c274f3BBc5CC5C9191B0d0c1A3", + "abi": [ + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x55f518a183a88388ec3f3ae305aec581f42c346ef73fac81681f1ac19aa40805", + "sourceName": "contracts/modules/core/FeatureFlagModule.sol", + "contractName": "FeatureFlagModule", + "deployedOn": "contract.FeatureFlagModule", + "gasUsed": 1322533, + "gasCost": "100000000" + }, + "InitialModuleBundle": { + "address": "0x828EED723cAF0A8F822249231266E38dF614923C", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x48b0a7c9404c5ceaeb59491e3ee15579be92edc50f27b796544bcca6feeb4183", + "sourceName": "contracts/modules/InitialModuleBundle.sol", + "contractName": "InitialModuleBundle", + "deployedOn": "contract.InitialModuleBundle", + "gasUsed": 856521, + "gasCost": "100000000" + }, + "IssueUSDModule": { + "address": "0xF5C78bAB6d1e52EA3c2BE6c657BB4Ef29244E0f5", + "abi": [ + "error CollateralDepositDisabled(address collateralType)", + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error InsufficentAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)", + "error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)", + "error InsufficientDebt(int256 currentDebt)", + "error InvalidParameter(string parameter, string reason)", + "error MarketNotFound(uint128 marketId)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PoolNotFound(uint128 poolId)", + "event IssuanceFeePaid(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 feeAmount)", + "event UsdBurned(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "event UsdMinted(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "function burnUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)", + "function mintUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x75c35436cc2495995460018b0ffb95f72d4887a36a1040bf6ba7cd8448654a12", + "sourceName": "contracts/modules/core/IssueUSDModule.sol", + "contractName": "IssueUSDModule", + "deployedOn": "contract.IssueUSDModule", + "gasUsed": 4432823, + "gasCost": "100000000" + }, + "LiquidationModule": { + "address": "0x569E1A3Ca9aE30416d2CbFE9A8e43538f35Bdc8d", + "abi": [ + "error AccountNotFound(uint128 accountId)", + "error CannotScaleEmptyMapping()", + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error IneligibleForLiquidation(uint256 collateralValue, int256 debt, uint256 currentCRatio, uint256 cratio)", + "error InsufficientMappedAmount()", + "error InvalidParameter(string parameter, string reason)", + "error MarketNotFound(uint128 marketId)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MustBeVaultLiquidated()", + "error OverflowInt128ToUint128()", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "event Liquidation(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "event VaultLiquidation(uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "function isPositionLiquidatable(uint128 accountId, uint128 poolId, address collateralType) returns (bool)", + "function isVaultLiquidatable(uint128 poolId, address collateralType) returns (bool)", + "function liquidate(uint128 accountId, uint128 poolId, address collateralType, uint128 liquidateAsAccountId) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)", + "function liquidateVault(uint128 poolId, address collateralType, uint128 liquidateAsAccountId, uint256 maxUsd) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xe6c8445b1a82097753c6c58ab439c30148bdec505bc2c3cd50178faa4c33d1d6", + "sourceName": "contracts/modules/core/LiquidationModule.sol", + "contractName": "LiquidationModule", + "deployedOn": "contract.LiquidationModule", + "gasUsed": 4555211, + "gasCost": "100000000" + }, + "MarketCollateralModule": { + "address": "0xd9A139422AB4BEe9d5E071fcCa8e34217953D6a9", + "abi": [ + "error CollateralNotFound()", + "error FailedTransfer(address from, address to, uint256 value)", + "error FeatureUnavailable(bytes32 which)", + "error InsufficientMarketCollateralDepositable(uint128 marketId, address collateralType, uint256 tokenAmountToDeposit)", + "error InsufficientMarketCollateralWithdrawable(uint128 marketId, address collateralType, uint256 tokenAmountToWithdraw)", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToInt256()", + "error PrecisionLost(uint256 tokenAmount, uint8 decimals)", + "error Unauthorized(address addr)", + "event MarketCollateralDeposited(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MarketCollateralWithdrawn(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MaximumMarketCollateralConfigured(uint128 indexed marketId, address indexed collateralType, uint256 systemAmount, address indexed owner)", + "function configureMaximumMarketCollateral(uint128 marketId, address collateralType, uint256 amount)", + "function depositMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)", + "function getMarketCollateralAmount(uint128 marketId, address collateralType) view returns (uint256 collateralAmountD18)", + "function getMarketCollateralValue(uint128 marketId) view returns (uint256)", + "function getMaximumMarketCollateral(uint128 marketId, address collateralType) view returns (uint256)", + "function withdrawMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xeb30410ded4de61c35dad99e27f21ad2c86a7ec563114a3ac1457b62d6623a80", + "sourceName": "contracts/modules/core/MarketCollateralModule.sol", + "contractName": "MarketCollateralModule", + "deployedOn": "contract.MarketCollateralModule", + "gasUsed": 2000574, + "gasCost": "100000000" + }, + "MarketManagerModule": { + "address": "0xe8f3c0a64FA3D76942521923352F9DDFBb3763B9", + "abi": [ + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error IncorrectMarketInterface(address market)", + "error InvalidParameter(string parameter, string reason)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error NotEnoughLiquidity(uint128 marketId, uint256 amount)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error Unauthorized(address addr)", + "event MarketRegistered(address indexed market, uint128 indexed marketId, address indexed sender)", + "event MarketSystemFeePaid(uint128 indexed marketId, uint256 feeAmount)", + "event MarketUsdDeposited(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event MarketUsdWithdrawn(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event SetMarketMinLiquidityRatio(uint128 indexed marketId, uint256 minLiquidityRatio)", + "event SetMinDelegateTime(uint128 indexed marketId, uint32 minDelegateTime)", + "function depositMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", + "function distributeDebtToPools(uint128 marketId, uint256 maxIter) returns (bool)", + "function getMarketAddress(uint128 marketId) view returns (address)", + "function getMarketCollateral(uint128 marketId) view returns (uint256)", + "function getMarketDebtPerShare(uint128 marketId) returns (int256)", + "function getMarketFees(uint128, uint256 amount) view returns (uint256 depositFeeAmount, uint256 withdrawFeeAmount)", + "function getMarketMinDelegateTime(uint128 marketId) view returns (uint32)", + "function getMarketNetIssuance(uint128 marketId) view returns (int128)", + "function getMarketPoolDebtDistribution(uint128 marketId, uint128 poolId) returns (uint256 sharesD18, uint128 totalSharesD18, int128 valuePerShareD27)", + "function getMarketPools(uint128 marketId) returns (uint128[] inRangePoolIds, uint128[] outRangePoolIds)", + "function getMarketReportedDebt(uint128 marketId) view returns (uint256)", + "function getMarketTotalDebt(uint128 marketId) view returns (int256)", + "function getMinLiquidityRatio(uint128 marketId) view returns (uint256)", + "function getOracleManager() view returns (address)", + "function getUsdToken() view returns (address)", + "function getWithdrawableMarketUsd(uint128 marketId) view returns (uint256)", + "function isMarketCapacityLocked(uint128 marketId) view returns (bool)", + "function registerMarket(address market) returns (uint128 marketId)", + "function setMarketMinDelegateTime(uint128 marketId, uint32 minDelegateTime)", + "function setMinLiquidityRatio(uint128 marketId, uint256 minLiquidityRatio)", + "function withdrawMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x30494350a57d1bfd8766fecb64aab5e7d7436ee08d209d0e263d177db3e99939", + "sourceName": "contracts/modules/core/MarketManagerModule.sol", + "contractName": "MarketManagerModule", + "deployedOn": "contract.MarketManagerModule", + "gasUsed": 4376458, + "gasCost": "100000000" + }, + "PoolConfigurationModule": { + "address": "0x6f7E8EB502cEFe31a0565390Cf6a17E50A237A02", + "abi": [ + "error PoolNotFound(uint128 poolId)", + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event PoolApprovedAdded(uint256 poolId)", + "event PoolApprovedRemoved(uint256 poolId)", + "event PreferredPoolSet(uint256 poolId)", + "function addApprovedPool(uint128 poolId)", + "function getApprovedPools() view returns (uint256[])", + "function getPreferredPool() view returns (uint128)", + "function removeApprovedPool(uint128 poolId)", + "function setPreferredPool(uint128 poolId)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xcb9e49288a38a5bf6bae25e8577876f4dbbfdf5c2c0287b0e191621901e71428", + "sourceName": "contracts/modules/core/PoolConfigurationModule.sol", + "contractName": "PoolConfigurationModule", + "deployedOn": "contract.PoolConfigurationModule", + "gasUsed": 765875, + "gasCost": "100000000" + }, + "PoolModule": { + "address": "0xf326AF86ff32B430d7ba01E9BCe198246ef2b027", + "abi": [ + "error CapacityLocked(uint256 marketId)", + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error InvalidParameter(string parameter, string reason)", + "error MarketNotFound(uint128 marketId)", + "error MinDelegationTimeoutPending(uint128 poolId, uint32 timeRemaining)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error PoolAlreadyExists(uint128 poolId)", + "error PoolNotFound(uint128 poolId)", + "error Unauthorized(address addr)", + "error ZeroAddress()", + "event PoolCollateralConfigurationUpdated(uint128 indexed poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "event PoolCollateralDisabledByDefaultSet(uint128 poolId, bool disabled)", + "event PoolConfigurationSet(uint128 indexed poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] markets, address indexed sender)", + "event PoolCreated(uint128 indexed poolId, address indexed owner, address indexed sender)", + "event PoolNameUpdated(uint128 indexed poolId, string name, address indexed sender)", + "event PoolNominationRenounced(uint128 indexed poolId, address indexed owner)", + "event PoolNominationRevoked(uint128 indexed poolId, address indexed owner)", + "event PoolOwnerNominated(uint128 indexed poolId, address indexed nominatedOwner, address indexed owner)", + "event PoolOwnershipAccepted(uint128 indexed poolId, address indexed owner)", + "event PoolOwnershipRenounced(uint128 indexed poolId, address indexed owner)", + "event SetMinLiquidityRatio(uint256 minLiquidityRatio)", + "function acceptPoolOwnership(uint128 poolId)", + "function createPool(uint128 requestedPoolId, address owner)", + "function getMinLiquidityRatio() view returns (uint256)", + "function getNominatedPoolOwner(uint128 poolId) view returns (address)", + "function getPoolCollateralConfiguration(uint128 poolId, address collateralType) view returns (tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "function getPoolCollateralIssuanceRatio(uint128 poolId, address collateral) view returns (uint256)", + "function getPoolConfiguration(uint128 poolId) view returns (tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[])", + "function getPoolName(uint128 poolId) view returns (string poolName)", + "function getPoolOwner(uint128 poolId) view returns (address)", + "function nominatePoolOwner(address nominatedOwner, uint128 poolId)", + "function rebalancePool(uint128 poolId, address optionalCollateralType)", + "function renouncePoolNomination(uint128 poolId)", + "function renouncePoolOwnership(uint128 poolId)", + "function revokePoolNomination(uint128 poolId)", + "function setMinLiquidityRatio(uint256 minLiquidityRatio)", + "function setPoolCollateralConfiguration(uint128 poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) newConfig)", + "function setPoolCollateralDisabledByDefault(uint128 poolId, bool disabled)", + "function setPoolConfiguration(uint128 poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] newMarketConfigurations)", + "function setPoolName(uint128 poolId, string name)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x2e75e67159f9a5aa561102ddc187c6c575dc1a170b3df70bdd3407cea19a5c36", + "sourceName": "contracts/modules/core/PoolModule.sol", + "contractName": "PoolModule", + "deployedOn": "contract.PoolModule", + "gasUsed": 5877702, + "gasCost": "100000000" + }, + "RewardsManagerModule": { + "address": "0x758a399E97D9D7F0253A854af451e6D1275e72E4", + "abi": [ + "error AccountNotFound(uint128 accountId)", + "error FeatureUnavailable(bytes32 which)", + "error InvalidParameter(string parameter, string reason)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error OverflowUint256ToUint32()", + "error OverflowUint32ToInt32()", + "error OverflowUint64ToInt64()", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PositionOutOfBounds()", + "error RewardDistributorNotFound()", + "error RewardUnavailable(address distributor)", + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event RewardsClaimed(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount)", + "event RewardsDistributed(uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount, uint256 start, uint256 duration)", + "event RewardsDistributorRegistered(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "event RewardsDistributorRemoved(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "function claimRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) returns (uint256)", + "function distributeRewards(uint128 poolId, address collateralType, uint256 amount, uint64 start, uint32 duration)", + "function getAvailableRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function getRewardRate(uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function registerRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function removeRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function updateRewards(uint128 poolId, address collateralType, uint128 accountId) returns (uint256[], address[])" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x95a08325b277f9131e741d0c69fd7da80ac213e4a0186ca08bfa039e5784a6e9", + "sourceName": "contracts/modules/core/RewardsManagerModule.sol", + "contractName": "RewardsManagerModule", + "deployedOn": "contract.RewardsManagerModule", + "gasUsed": 3453921, + "gasCost": "100000000" + }, + "USDTokenModule": { + "address": "0x3f10B7157c1dA14d5429790959eBA750C17A8c46", + "abi": [ + "error AlreadyInitialized()", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InsufficientBalance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "error Unauthorized(address addr)", + "event Approval(address indexed owner, address indexed spender, uint256 amount)", + "event Transfer(address indexed from, address indexed to, uint256 amount)", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 amount) returns (bool)", + "function balanceOf(address owner) view returns (uint256)", + "function burn(uint256 amount)", + "function burn(address target, uint256 amount)", + "function burnWithAllowance(address from, address spender, uint256 amount)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function initialize(string tokenName, string tokenSymbol, uint8 tokenDecimals)", + "function isInitialized() view returns (bool)", + "function mint(address target, uint256 amount)", + "function name() view returns (string)", + "function setAllowance(address from, address spender, uint256 amount)", + "function symbol() view returns (string)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 amount) returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x0a81688d31e061d803ac98cad0fb1c42e611caa887ac8a382fe4852fceefe452", + "sourceName": "contracts/modules/usd/USDTokenModule.sol", + "contractName": "USDTokenModule", + "deployedOn": "contract.USDTokenModule", + "gasUsed": 1814070, + "gasCost": "100000000" + }, + "UtilsModule": { + "address": "0xBCc471Ec390E59f3D5F77E9a8Bb24cd26D29Bfb7", + "abi": [ + "error InvalidParameter(string parameter, string reason)", + "error OverflowUint256ToUint64()", + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "event NewSupportedCrossChainNetwork(uint64 newChainId)", + "function configureChainlinkCrossChain(address ccipRouter, address ccipTokenPool)", + "function configureOracleManager(address oracleManagerAddress)", + "function getConfig(bytes32 k) view returns (bytes32 v)", + "function getConfigAddress(bytes32 k) view returns (address v)", + "function getConfigUint(bytes32 k) view returns (uint256 v)", + "function getTrustedForwarder() pure returns (address)", + "function isTrustedForwarder(address forwarder) pure returns (bool)", + "function setConfig(bytes32 k, bytes32 v)", + "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x924b26a05729483b5daf98a987eef6c23a9a0a1b641a9bc8491ac1c42a8a8635", + "sourceName": "contracts/modules/core/UtilsModule.sol", + "contractName": "UtilsModule", + "deployedOn": "contract.UtilsModule", + "gasUsed": 1243859, + "gasCost": "100000000" + }, + "VaultModule": { + "address": "0xa51b344Beb72bb9DaC84A70cb9b77cA33DB1675b", + "abi": [ + "error CapacityLocked(uint256 marketId)", + "error CollateralDepositDisabled(address collateralType)", + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error InsufficentAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)", + "error InsufficientAccountCollateral(uint256 amount)", + "error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)", + "error InsufficientDelegation(uint256 minDelegation)", + "error InvalidCollateralAmount()", + "error InvalidLeverage(uint256 leverage)", + "error MarketNotFound(uint128 marketId)", + "error MinDelegationTimeoutPending(uint128 poolId, uint32 timeRemaining)", + "error OverflowInt128ToUint128()", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error OverflowUint256ToUint32()", + "error OverflowUint32ToInt32()", + "error OverflowUint64ToInt64()", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PoolCollateralLimitExceeded(uint128 poolId, address collateralType, uint256 currentCollateral, uint256 maxCollateral)", + "error PoolNotFound(uint128 poolId)", + "error PositionOutOfBounds()", + "error RewardDistributorNotFound()", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event DelegationUpdated(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, uint256 leverage, address indexed sender)", + "function delegateCollateral(uint128 accountId, uint128 poolId, address collateralType, uint256 newCollateralAmountD18, uint256 leverage)", + "function getPosition(uint128 accountId, uint128 poolId, address collateralType) returns (uint256 collateralAmount, uint256 collateralValue, int256 debt, uint256 collateralizationRatio)", + "function getPositionCollateral(uint128 accountId, uint128 poolId, address collateralType) view returns (uint256 amount)", + "function getPositionCollateralRatio(uint128 accountId, uint128 poolId, address collateralType) returns (uint256)", + "function getPositionDebt(uint128 accountId, uint128 poolId, address collateralType) returns (int256 debt)", + "function getVaultCollateral(uint128 poolId, address collateralType) view returns (uint256 amount, uint256 value)", + "function getVaultCollateralRatio(uint128 poolId, address collateralType) returns (uint256)", + "function getVaultDebt(uint128 poolId, address collateralType) returns (int256)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xf507da863641ca218d26b4aeeda29802300217600e40cd9007db4f4244d9ce84", + "sourceName": "contracts/modules/core/VaultModule.sol", + "contractName": "VaultModule", + "deployedOn": "contract.VaultModule", + "gasUsed": 5599946, + "gasCost": "100000000" + }, + "InitialCoreProxy": { + "address": "0x4Ab09F627fa9706f33178129005300Fd4c00EDF1", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)" + ], + "constructorArgs": [ + "0x828EED723cAF0A8F822249231266E38dF614923C", + "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + ], + "linkedLibraries": {}, + "deployTxnHash": "0xcc8bbb0ee97d1b5d6c1388ab5fbfde9d34060f4426b547c3fc6f23e7efda002f", + "sourceName": "contracts/Proxy.sol", + "contractName": "Proxy", + "deployedOn": "contract.InitialCoreProxy", + "gasUsed": 376750, + "gasCost": "100000000" + }, + "AccountRouter": { + "address": "0x0a71d7ca0672329ebb72dcf3d58eb4dd7984ec08", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error AlreadyInitialized()", + "error CannotSelfApprove(address addr)", + "error IndexOverrun(uint256 requestedIndex, uint256 length)", + "error InvalidOwner(address addr)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidTransferRecipient(address addr)", + "error OverflowUint256ToUint128()", + "error TokenAlreadyMinted(uint256 id)", + "error TokenDoesNotExist(uint256 id)", + "event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)", + "event ApprovalForAll(address indexed owner, address indexed operator, bool approved)", + "event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)", + "function approve(address to, uint256 tokenId)", + "function balanceOf(address holder) view returns (uint256 balance)", + "function burn(uint256 tokenId)", + "function getApproved(uint256 tokenId) view returns (address operator)", + "function initialize(string tokenName, string tokenSymbol, string uri)", + "function isApprovedForAll(address holder, address operator) view returns (bool)", + "function isInitialized() view returns (bool)", + "function mint(address to, uint256 tokenId)", + "function name() view returns (string)", + "function ownerOf(uint256 tokenId) view returns (address)", + "function safeMint(address to, uint256 tokenId, bytes data)", + "function safeTransferFrom(address from, address to, uint256 tokenId)", + "function safeTransferFrom(address from, address to, uint256 tokenId, bytes data)", + "function setAllowance(uint256 tokenId, address spender)", + "function setApprovalForAll(address operator, bool approved)", + "function setBaseTokenURI(string uri)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function symbol() view returns (string)", + "function tokenByIndex(uint256 index) view returns (uint256)", + "function tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)", + "function tokenURI(uint256 tokenId) view returns (string)", + "function totalSupply() view returns (uint256)", + "function transferFrom(address from, address to, uint256 tokenId)" + ], + "deployedOn": "router.AccountRouter", + "deployTxnHash": "0x020fa7b5b487323bd8ff91a6f0f0411bb9c63d3d333face17667a2fd151c9e30", + "contractName": "AccountRouter", + "sourceName": "AccountRouter.sol", + "gasUsed": 609681, + "gasCost": "100000000" + }, + "CoreRouter": { + "address": "0x71cb5f83891dfd0f829e862f9d9acf5c1a0af01d", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)", + "error FeatureUnavailable(bytes32 which)", + "error InvalidAccountId(uint128 accountId)", + "error InvalidPermission(bytes32 permission)", + "error OnlyAccountTokenProxy(address origin)", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PermissionNotGranted(uint128 accountId, bytes32 permission, address user)", + "error PositionOutOfBounds()", + "event AccountCreated(uint128 indexed accountId, address indexed owner)", + "event PermissionGranted(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "event PermissionRevoked(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "function createAccount() returns (uint128 accountId)", + "function createAccount(uint128 requestedAccountId)", + "function getAccountLastInteraction(uint128 accountId) view returns (uint256)", + "function getAccountOwner(uint128 accountId) view returns (address)", + "function getAccountPermissions(uint128 accountId) view returns (tuple(address user, bytes32[] permissions)[] accountPerms)", + "function getAccountTokenAddress() view returns (address)", + "function grantPermission(uint128 accountId, bytes32 permission, address user)", + "function hasPermission(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function isAuthorized(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function notifyAccountTransfer(address to, uint128 accountId)", + "function renouncePermission(uint128 accountId, bytes32 permission)", + "function revokePermission(uint128 accountId, bytes32 permission, address user)", + "error AccountNotFound(uint128 accountId)", + "error EmptyDistribution()", + "error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)", + "error MarketNotFound(uint128 marketId)", + "error NotFundedByPool(uint256 marketId, uint256 poolId)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "event DebtAssociated(uint128 indexed marketId, uint128 indexed poolId, address indexed collateralType, uint128 accountId, uint256 amount, int256 updatedDebt)", + "function associateDebt(uint128 marketId, uint128 poolId, address collateralType, uint128 accountId, uint256 amount) returns (int256)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "error InvalidMessage()", + "error NotCcipRouter(address)", + "error UnsupportedNetwork(uint64)", + "function ccipReceive(tuple(bytes32 messageId, uint64 sourceChainSelector, bytes sender, bytes data, tuple(address token, uint256 amount)[] tokenAmounts) message)", + "error AccountActivityTimeoutPending(uint128 accountId, uint256 currentTime, uint256 requiredTime)", + "error CollateralDepositDisabled(address collateralType)", + "error CollateralNotFound()", + "error FailedTransfer(address from, address to, uint256 value)", + "error InsufficentAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)", + "error InsufficientAccountCollateral(uint256 amount)", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "error OverflowUint256ToUint64()", + "error PrecisionLost(uint256 tokenAmount, uint8 decimals)", + "event CollateralLockCreated(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event CollateralLockExpired(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event Deposited(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "event Withdrawn(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "function cleanExpiredLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) returns (uint256 cleared)", + "function createLock(uint128 accountId, address collateralType, uint256 amount, uint64 expireTimestamp)", + "function deposit(uint128 accountId, address collateralType, uint256 tokenAmount)", + "function getAccountAvailableCollateral(uint128 accountId, address collateralType) view returns (uint256)", + "function getAccountCollateral(uint128 accountId, address collateralType) view returns (uint256 totalDeposited, uint256 totalAssigned, uint256 totalLocked)", + "function getLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) view returns (tuple(uint128 amountD18, uint64 lockExpirationTime)[] locks)", + "function withdraw(uint128 accountId, address collateralType, uint256 tokenAmount)", + "event CollateralConfigured(address indexed collateralType, tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function configureCollateral(tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function getCollateralConfiguration(address collateralType) pure returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18))", + "function getCollateralConfigurations(bool hideDisabled) view returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18)[])", + "function getCollateralPrice(address collateralType) view returns (uint256)", + "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", + "event TransferCrossChainInitiated(uint64 indexed destChainId, uint256 indexed amount, address sender)", + "function transferCrossChain(uint64 destChainId, uint256 amount) payable returns (uint256 gasTokenUsed)", + "error InsufficientDebt(int256 currentDebt)", + "error PoolNotFound(uint128 poolId)", + "event IssuanceFeePaid(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 feeAmount)", + "event UsdBurned(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "event UsdMinted(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "function burnUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)", + "function mintUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)", + "error CannotScaleEmptyMapping()", + "error IneligibleForLiquidation(uint256 collateralValue, int256 debt, uint256 currentCRatio, uint256 cratio)", + "error InsufficientMappedAmount()", + "error MustBeVaultLiquidated()", + "error OverflowInt128ToUint128()", + "event Liquidation(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "event VaultLiquidation(uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "function isPositionLiquidatable(uint128 accountId, uint128 poolId, address collateralType) returns (bool)", + "function isVaultLiquidatable(uint128 poolId, address collateralType) returns (bool)", + "function liquidate(uint128 accountId, uint128 poolId, address collateralType, uint128 liquidateAsAccountId) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)", + "function liquidateVault(uint128 poolId, address collateralType, uint128 liquidateAsAccountId, uint256 maxUsd) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)", + "error InsufficientMarketCollateralDepositable(uint128 marketId, address collateralType, uint256 tokenAmountToDeposit)", + "error InsufficientMarketCollateralWithdrawable(uint128 marketId, address collateralType, uint256 tokenAmountToWithdraw)", + "event MarketCollateralDeposited(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MarketCollateralWithdrawn(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MaximumMarketCollateralConfigured(uint128 indexed marketId, address indexed collateralType, uint256 systemAmount, address indexed owner)", + "function configureMaximumMarketCollateral(uint128 marketId, address collateralType, uint256 amount)", + "function depositMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)", + "function getMarketCollateralAmount(uint128 marketId, address collateralType) view returns (uint256 collateralAmountD18)", + "function getMarketCollateralValue(uint128 marketId) view returns (uint256)", + "function getMaximumMarketCollateral(uint128 marketId, address collateralType) view returns (uint256)", + "function withdrawMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)", + "error IncorrectMarketInterface(address market)", + "error NotEnoughLiquidity(uint128 marketId, uint256 amount)", + "event MarketRegistered(address indexed market, uint128 indexed marketId, address indexed sender)", + "event MarketSystemFeePaid(uint128 indexed marketId, uint256 feeAmount)", + "event MarketUsdDeposited(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event MarketUsdWithdrawn(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event SetMarketMinLiquidityRatio(uint128 indexed marketId, uint256 minLiquidityRatio)", + "event SetMinDelegateTime(uint128 indexed marketId, uint32 minDelegateTime)", + "function depositMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", + "function distributeDebtToPools(uint128 marketId, uint256 maxIter) returns (bool)", + "function getMarketAddress(uint128 marketId) view returns (address)", + "function getMarketCollateral(uint128 marketId) view returns (uint256)", + "function getMarketDebtPerShare(uint128 marketId) returns (int256)", + "function getMarketFees(uint128, uint256 amount) view returns (uint256 depositFeeAmount, uint256 withdrawFeeAmount)", + "function getMarketMinDelegateTime(uint128 marketId) view returns (uint32)", + "function getMarketNetIssuance(uint128 marketId) view returns (int128)", + "function getMarketPoolDebtDistribution(uint128 marketId, uint128 poolId) returns (uint256 sharesD18, uint128 totalSharesD18, int128 valuePerShareD27)", + "function getMarketPools(uint128 marketId) returns (uint128[] inRangePoolIds, uint128[] outRangePoolIds)", + "function getMarketReportedDebt(uint128 marketId) view returns (uint256)", + "function getMarketTotalDebt(uint128 marketId) view returns (int256)", + "function getMinLiquidityRatio(uint128 marketId) view returns (uint256)", + "function getOracleManager() view returns (address)", + "function getUsdToken() view returns (address)", + "function getWithdrawableMarketUsd(uint128 marketId) view returns (uint256)", + "function isMarketCapacityLocked(uint128 marketId) view returns (bool)", + "function registerMarket(address market) returns (uint128 marketId)", + "function setMarketMinDelegateTime(uint128 marketId, uint32 minDelegateTime)", + "function setMinLiquidityRatio(uint128 marketId, uint256 minLiquidityRatio)", + "function withdrawMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", + "event PoolApprovedAdded(uint256 poolId)", + "event PoolApprovedRemoved(uint256 poolId)", + "event PreferredPoolSet(uint256 poolId)", + "function addApprovedPool(uint128 poolId)", + "function getApprovedPools() view returns (uint256[])", + "function getPreferredPool() view returns (uint128)", + "function removeApprovedPool(uint128 poolId)", + "function setPreferredPool(uint128 poolId)", + "error CapacityLocked(uint256 marketId)", + "error MinDelegationTimeoutPending(uint128 poolId, uint32 timeRemaining)", + "error PoolAlreadyExists(uint128 poolId)", + "event PoolCollateralConfigurationUpdated(uint128 indexed poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "event PoolCollateralDisabledByDefaultSet(uint128 poolId, bool disabled)", + "event PoolConfigurationSet(uint128 indexed poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] markets, address indexed sender)", + "event PoolCreated(uint128 indexed poolId, address indexed owner, address indexed sender)", + "event PoolNameUpdated(uint128 indexed poolId, string name, address indexed sender)", + "event PoolNominationRenounced(uint128 indexed poolId, address indexed owner)", + "event PoolNominationRevoked(uint128 indexed poolId, address indexed owner)", + "event PoolOwnerNominated(uint128 indexed poolId, address indexed nominatedOwner, address indexed owner)", + "event PoolOwnershipAccepted(uint128 indexed poolId, address indexed owner)", + "event PoolOwnershipRenounced(uint128 indexed poolId, address indexed owner)", + "event SetMinLiquidityRatio(uint256 minLiquidityRatio)", + "function acceptPoolOwnership(uint128 poolId)", + "function createPool(uint128 requestedPoolId, address owner)", + "function getMinLiquidityRatio() view returns (uint256)", + "function getNominatedPoolOwner(uint128 poolId) view returns (address)", + "function getPoolCollateralConfiguration(uint128 poolId, address collateralType) view returns (tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "function getPoolCollateralIssuanceRatio(uint128 poolId, address collateral) view returns (uint256)", + "function getPoolConfiguration(uint128 poolId) view returns (tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[])", + "function getPoolName(uint128 poolId) view returns (string poolName)", + "function getPoolOwner(uint128 poolId) view returns (address)", + "function nominatePoolOwner(address nominatedOwner, uint128 poolId)", + "function rebalancePool(uint128 poolId, address optionalCollateralType)", + "function renouncePoolNomination(uint128 poolId)", + "function renouncePoolOwnership(uint128 poolId)", + "function revokePoolNomination(uint128 poolId)", + "function setMinLiquidityRatio(uint256 minLiquidityRatio)", + "function setPoolCollateralConfiguration(uint128 poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) newConfig)", + "function setPoolCollateralDisabledByDefault(uint128 poolId, bool disabled)", + "function setPoolConfiguration(uint128 poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] newMarketConfigurations)", + "function setPoolName(uint128 poolId, string name)", + "error OverflowUint256ToUint32()", + "error OverflowUint32ToInt32()", + "error OverflowUint64ToInt64()", + "error RewardDistributorNotFound()", + "error RewardUnavailable(address distributor)", + "event RewardsClaimed(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount)", + "event RewardsDistributed(uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount, uint256 start, uint256 duration)", + "event RewardsDistributorRegistered(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "event RewardsDistributorRemoved(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "function claimRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) returns (uint256)", + "function distributeRewards(uint128 poolId, address collateralType, uint256 amount, uint64 start, uint32 duration)", + "function getAvailableRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function getRewardRate(uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function registerRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function removeRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function updateRewards(uint128 poolId, address collateralType, uint128 accountId) returns (uint256[], address[])", + "event NewSupportedCrossChainNetwork(uint64 newChainId)", + "function configureChainlinkCrossChain(address ccipRouter, address ccipTokenPool)", + "function configureOracleManager(address oracleManagerAddress)", + "function getConfig(bytes32 k) view returns (bytes32 v)", + "function getConfigAddress(bytes32 k) view returns (address v)", + "function getConfigUint(bytes32 k) view returns (uint256 v)", + "function getTrustedForwarder() pure returns (address)", + "function isTrustedForwarder(address forwarder) pure returns (bool)", + "function setConfig(bytes32 k, bytes32 v)", + "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "error InsufficientDelegation(uint256 minDelegation)", + "error InvalidCollateralAmount()", + "error InvalidLeverage(uint256 leverage)", + "error PoolCollateralLimitExceeded(uint128 poolId, address collateralType, uint256 currentCollateral, uint256 maxCollateral)", + "event DelegationUpdated(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, uint256 leverage, address indexed sender)", + "function delegateCollateral(uint128 accountId, uint128 poolId, address collateralType, uint256 newCollateralAmountD18, uint256 leverage)", + "function getPosition(uint128 accountId, uint128 poolId, address collateralType) returns (uint256 collateralAmount, uint256 collateralValue, int256 debt, uint256 collateralizationRatio)", + "function getPositionCollateral(uint128 accountId, uint128 poolId, address collateralType) view returns (uint256 amount)", + "function getPositionCollateralRatio(uint128 accountId, uint128 poolId, address collateralType) returns (uint256)", + "function getPositionDebt(uint128 accountId, uint128 poolId, address collateralType) returns (int256 debt)", + "function getVaultCollateral(uint128 poolId, address collateralType) view returns (uint256 amount, uint256 value)", + "function getVaultCollateralRatio(uint128 poolId, address collateralType) returns (uint256)", + "function getVaultDebt(uint128 poolId, address collateralType) returns (int256)" + ], + "deployedOn": "router.CoreRouter", + "deployTxnHash": "0x19b106af32b78266c0505ebf57e2c5217a489c969d51fdb250a5cad87d7582e2", + "contractName": "CoreRouter", + "sourceName": "CoreRouter.sol", + "gasUsed": 1876589, + "gasCost": "100000000" + }, + "USDRouter": { + "address": "0xfb012bf551f25164483d01b91823bce5c3983ff2", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "error AlreadyInitialized()", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InsufficientBalance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "event Approval(address indexed owner, address indexed spender, uint256 amount)", + "event Transfer(address indexed from, address indexed to, uint256 amount)", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 amount) returns (bool)", + "function balanceOf(address owner) view returns (uint256)", + "function burn(uint256 amount)", + "function burn(address target, uint256 amount)", + "function burnWithAllowance(address from, address spender, uint256 amount)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function initialize(string tokenName, string tokenSymbol, uint8 tokenDecimals)", + "function isInitialized() view returns (bool)", + "function mint(address target, uint256 amount)", + "function name() view returns (string)", + "function setAllowance(address from, address spender, uint256 amount)", + "function symbol() view returns (string)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 amount) returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)" + ], + "deployedOn": "router.USDRouter", + "deployTxnHash": "0x54b079d6fa45587206480d43bc397894f29ba18cbd11ec6fefbdcf2ed6256553", + "contractName": "USDRouter", + "sourceName": "USDRouter.sol", + "gasUsed": 604468, + "gasCost": "100000000" + }, + "CoreProxy": { + "address": "0x4Ab09F627fa9706f33178129005300Fd4c00EDF1", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)", + "error FeatureUnavailable(bytes32 which)", + "error InvalidAccountId(uint128 accountId)", + "error InvalidPermission(bytes32 permission)", + "error OnlyAccountTokenProxy(address origin)", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PermissionNotGranted(uint128 accountId, bytes32 permission, address user)", + "error PositionOutOfBounds()", + "event AccountCreated(uint128 indexed accountId, address indexed owner)", + "event PermissionGranted(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "event PermissionRevoked(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "function createAccount() returns (uint128 accountId)", + "function createAccount(uint128 requestedAccountId)", + "function getAccountLastInteraction(uint128 accountId) view returns (uint256)", + "function getAccountOwner(uint128 accountId) view returns (address)", + "function getAccountPermissions(uint128 accountId) view returns (tuple(address user, bytes32[] permissions)[] accountPerms)", + "function getAccountTokenAddress() view returns (address)", + "function grantPermission(uint128 accountId, bytes32 permission, address user)", + "function hasPermission(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function isAuthorized(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function notifyAccountTransfer(address to, uint128 accountId)", + "function renouncePermission(uint128 accountId, bytes32 permission)", + "function revokePermission(uint128 accountId, bytes32 permission, address user)", + "error AccountNotFound(uint128 accountId)", + "error EmptyDistribution()", + "error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)", + "error MarketNotFound(uint128 marketId)", + "error NotFundedByPool(uint256 marketId, uint256 poolId)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "event DebtAssociated(uint128 indexed marketId, uint128 indexed poolId, address indexed collateralType, uint128 accountId, uint256 amount, int256 updatedDebt)", + "function associateDebt(uint128 marketId, uint128 poolId, address collateralType, uint128 accountId, uint256 amount) returns (int256)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "error InvalidMessage()", + "error NotCcipRouter(address)", + "error UnsupportedNetwork(uint64)", + "function ccipReceive(tuple(bytes32 messageId, uint64 sourceChainSelector, bytes sender, bytes data, tuple(address token, uint256 amount)[] tokenAmounts) message)", + "error AccountActivityTimeoutPending(uint128 accountId, uint256 currentTime, uint256 requiredTime)", + "error CollateralDepositDisabled(address collateralType)", + "error CollateralNotFound()", + "error FailedTransfer(address from, address to, uint256 value)", + "error InsufficentAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)", + "error InsufficientAccountCollateral(uint256 amount)", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "error OverflowUint256ToUint64()", + "error PrecisionLost(uint256 tokenAmount, uint8 decimals)", + "event CollateralLockCreated(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event CollateralLockExpired(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event Deposited(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "event Withdrawn(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "function cleanExpiredLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) returns (uint256 cleared)", + "function createLock(uint128 accountId, address collateralType, uint256 amount, uint64 expireTimestamp)", + "function deposit(uint128 accountId, address collateralType, uint256 tokenAmount)", + "function getAccountAvailableCollateral(uint128 accountId, address collateralType) view returns (uint256)", + "function getAccountCollateral(uint128 accountId, address collateralType) view returns (uint256 totalDeposited, uint256 totalAssigned, uint256 totalLocked)", + "function getLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) view returns (tuple(uint128 amountD18, uint64 lockExpirationTime)[] locks)", + "function withdraw(uint128 accountId, address collateralType, uint256 tokenAmount)", + "event CollateralConfigured(address indexed collateralType, tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function configureCollateral(tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function getCollateralConfiguration(address collateralType) pure returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18))", + "function getCollateralConfigurations(bool hideDisabled) view returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18)[])", + "function getCollateralPrice(address collateralType) view returns (uint256)", + "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", + "event TransferCrossChainInitiated(uint64 indexed destChainId, uint256 indexed amount, address sender)", + "function transferCrossChain(uint64 destChainId, uint256 amount) payable returns (uint256 gasTokenUsed)", + "error InsufficientDebt(int256 currentDebt)", + "error PoolNotFound(uint128 poolId)", + "event IssuanceFeePaid(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 feeAmount)", + "event UsdBurned(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "event UsdMinted(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "function burnUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)", + "function mintUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)", + "error CannotScaleEmptyMapping()", + "error IneligibleForLiquidation(uint256 collateralValue, int256 debt, uint256 currentCRatio, uint256 cratio)", + "error InsufficientMappedAmount()", + "error MustBeVaultLiquidated()", + "error OverflowInt128ToUint128()", + "event Liquidation(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "event VaultLiquidation(uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "function isPositionLiquidatable(uint128 accountId, uint128 poolId, address collateralType) returns (bool)", + "function isVaultLiquidatable(uint128 poolId, address collateralType) returns (bool)", + "function liquidate(uint128 accountId, uint128 poolId, address collateralType, uint128 liquidateAsAccountId) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)", + "function liquidateVault(uint128 poolId, address collateralType, uint128 liquidateAsAccountId, uint256 maxUsd) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)", + "error InsufficientMarketCollateralDepositable(uint128 marketId, address collateralType, uint256 tokenAmountToDeposit)", + "error InsufficientMarketCollateralWithdrawable(uint128 marketId, address collateralType, uint256 tokenAmountToWithdraw)", + "event MarketCollateralDeposited(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MarketCollateralWithdrawn(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MaximumMarketCollateralConfigured(uint128 indexed marketId, address indexed collateralType, uint256 systemAmount, address indexed owner)", + "function configureMaximumMarketCollateral(uint128 marketId, address collateralType, uint256 amount)", + "function depositMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)", + "function getMarketCollateralAmount(uint128 marketId, address collateralType) view returns (uint256 collateralAmountD18)", + "function getMarketCollateralValue(uint128 marketId) view returns (uint256)", + "function getMaximumMarketCollateral(uint128 marketId, address collateralType) view returns (uint256)", + "function withdrawMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)", + "error IncorrectMarketInterface(address market)", + "error NotEnoughLiquidity(uint128 marketId, uint256 amount)", + "event MarketRegistered(address indexed market, uint128 indexed marketId, address indexed sender)", + "event MarketSystemFeePaid(uint128 indexed marketId, uint256 feeAmount)", + "event MarketUsdDeposited(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event MarketUsdWithdrawn(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event SetMarketMinLiquidityRatio(uint128 indexed marketId, uint256 minLiquidityRatio)", + "event SetMinDelegateTime(uint128 indexed marketId, uint32 minDelegateTime)", + "function depositMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", + "function distributeDebtToPools(uint128 marketId, uint256 maxIter) returns (bool)", + "function getMarketAddress(uint128 marketId) view returns (address)", + "function getMarketCollateral(uint128 marketId) view returns (uint256)", + "function getMarketDebtPerShare(uint128 marketId) returns (int256)", + "function getMarketFees(uint128, uint256 amount) view returns (uint256 depositFeeAmount, uint256 withdrawFeeAmount)", + "function getMarketMinDelegateTime(uint128 marketId) view returns (uint32)", + "function getMarketNetIssuance(uint128 marketId) view returns (int128)", + "function getMarketPoolDebtDistribution(uint128 marketId, uint128 poolId) returns (uint256 sharesD18, uint128 totalSharesD18, int128 valuePerShareD27)", + "function getMarketPools(uint128 marketId) returns (uint128[] inRangePoolIds, uint128[] outRangePoolIds)", + "function getMarketReportedDebt(uint128 marketId) view returns (uint256)", + "function getMarketTotalDebt(uint128 marketId) view returns (int256)", + "function getMinLiquidityRatio(uint128 marketId) view returns (uint256)", + "function getOracleManager() view returns (address)", + "function getUsdToken() view returns (address)", + "function getWithdrawableMarketUsd(uint128 marketId) view returns (uint256)", + "function isMarketCapacityLocked(uint128 marketId) view returns (bool)", + "function registerMarket(address market) returns (uint128 marketId)", + "function setMarketMinDelegateTime(uint128 marketId, uint32 minDelegateTime)", + "function setMinLiquidityRatio(uint128 marketId, uint256 minLiquidityRatio)", + "function withdrawMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", + "event PoolApprovedAdded(uint256 poolId)", + "event PoolApprovedRemoved(uint256 poolId)", + "event PreferredPoolSet(uint256 poolId)", + "function addApprovedPool(uint128 poolId)", + "function getApprovedPools() view returns (uint256[])", + "function getPreferredPool() view returns (uint128)", + "function removeApprovedPool(uint128 poolId)", + "function setPreferredPool(uint128 poolId)", + "error CapacityLocked(uint256 marketId)", + "error MinDelegationTimeoutPending(uint128 poolId, uint32 timeRemaining)", + "error PoolAlreadyExists(uint128 poolId)", + "event PoolCollateralConfigurationUpdated(uint128 indexed poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "event PoolCollateralDisabledByDefaultSet(uint128 poolId, bool disabled)", + "event PoolConfigurationSet(uint128 indexed poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] markets, address indexed sender)", + "event PoolCreated(uint128 indexed poolId, address indexed owner, address indexed sender)", + "event PoolNameUpdated(uint128 indexed poolId, string name, address indexed sender)", + "event PoolNominationRenounced(uint128 indexed poolId, address indexed owner)", + "event PoolNominationRevoked(uint128 indexed poolId, address indexed owner)", + "event PoolOwnerNominated(uint128 indexed poolId, address indexed nominatedOwner, address indexed owner)", + "event PoolOwnershipAccepted(uint128 indexed poolId, address indexed owner)", + "event PoolOwnershipRenounced(uint128 indexed poolId, address indexed owner)", + "event SetMinLiquidityRatio(uint256 minLiquidityRatio)", + "function acceptPoolOwnership(uint128 poolId)", + "function createPool(uint128 requestedPoolId, address owner)", + "function getMinLiquidityRatio() view returns (uint256)", + "function getNominatedPoolOwner(uint128 poolId) view returns (address)", + "function getPoolCollateralConfiguration(uint128 poolId, address collateralType) view returns (tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "function getPoolCollateralIssuanceRatio(uint128 poolId, address collateral) view returns (uint256)", + "function getPoolConfiguration(uint128 poolId) view returns (tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[])", + "function getPoolName(uint128 poolId) view returns (string poolName)", + "function getPoolOwner(uint128 poolId) view returns (address)", + "function nominatePoolOwner(address nominatedOwner, uint128 poolId)", + "function rebalancePool(uint128 poolId, address optionalCollateralType)", + "function renouncePoolNomination(uint128 poolId)", + "function renouncePoolOwnership(uint128 poolId)", + "function revokePoolNomination(uint128 poolId)", + "function setMinLiquidityRatio(uint256 minLiquidityRatio)", + "function setPoolCollateralConfiguration(uint128 poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) newConfig)", + "function setPoolCollateralDisabledByDefault(uint128 poolId, bool disabled)", + "function setPoolConfiguration(uint128 poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] newMarketConfigurations)", + "function setPoolName(uint128 poolId, string name)", + "error OverflowUint256ToUint32()", + "error OverflowUint32ToInt32()", + "error OverflowUint64ToInt64()", + "error RewardDistributorNotFound()", + "error RewardUnavailable(address distributor)", + "event RewardsClaimed(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount)", + "event RewardsDistributed(uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount, uint256 start, uint256 duration)", + "event RewardsDistributorRegistered(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "event RewardsDistributorRemoved(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "function claimRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) returns (uint256)", + "function distributeRewards(uint128 poolId, address collateralType, uint256 amount, uint64 start, uint32 duration)", + "function getAvailableRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function getRewardRate(uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function registerRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function removeRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function updateRewards(uint128 poolId, address collateralType, uint128 accountId) returns (uint256[], address[])", + "event NewSupportedCrossChainNetwork(uint64 newChainId)", + "function configureChainlinkCrossChain(address ccipRouter, address ccipTokenPool)", + "function configureOracleManager(address oracleManagerAddress)", + "function getConfig(bytes32 k) view returns (bytes32 v)", + "function getConfigAddress(bytes32 k) view returns (address v)", + "function getConfigUint(bytes32 k) view returns (uint256 v)", + "function getTrustedForwarder() pure returns (address)", + "function isTrustedForwarder(address forwarder) pure returns (bool)", + "function setConfig(bytes32 k, bytes32 v)", + "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "error InsufficientDelegation(uint256 minDelegation)", + "error InvalidCollateralAmount()", + "error InvalidLeverage(uint256 leverage)", + "error PoolCollateralLimitExceeded(uint128 poolId, address collateralType, uint256 currentCollateral, uint256 maxCollateral)", + "event DelegationUpdated(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, uint256 leverage, address indexed sender)", + "function delegateCollateral(uint128 accountId, uint128 poolId, address collateralType, uint256 newCollateralAmountD18, uint256 leverage)", + "function getPosition(uint128 accountId, uint128 poolId, address collateralType) returns (uint256 collateralAmount, uint256 collateralValue, int256 debt, uint256 collateralizationRatio)", + "function getPositionCollateral(uint128 accountId, uint128 poolId, address collateralType) view returns (uint256 amount)", + "function getPositionCollateralRatio(uint128 accountId, uint128 poolId, address collateralType) returns (uint256)", + "function getPositionDebt(uint128 accountId, uint128 poolId, address collateralType) returns (int256 debt)", + "function getVaultCollateral(uint128 poolId, address collateralType) view returns (uint256 amount, uint256 value)", + "function getVaultCollateralRatio(uint128 poolId, address collateralType) returns (uint256)", + "function getVaultDebt(uint128 poolId, address collateralType) returns (int256)" + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.upgrade_core_proxy", + "gasUsed": 0, + "gasCost": "0", + "highlight": true + }, + "AccountProxy": { + "address": "0x6e29bE5d3772f9eEeE9a5FEa5DEDDA7F81292b5a", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error AlreadyInitialized()", + "error CannotSelfApprove(address addr)", + "error IndexOverrun(uint256 requestedIndex, uint256 length)", + "error InvalidOwner(address addr)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidTransferRecipient(address addr)", + "error OverflowUint256ToUint128()", + "error TokenAlreadyMinted(uint256 id)", + "error TokenDoesNotExist(uint256 id)", + "event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)", + "event ApprovalForAll(address indexed owner, address indexed operator, bool approved)", + "event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)", + "function approve(address to, uint256 tokenId)", + "function balanceOf(address holder) view returns (uint256 balance)", + "function burn(uint256 tokenId)", + "function getApproved(uint256 tokenId) view returns (address operator)", + "function initialize(string tokenName, string tokenSymbol, string uri)", + "function isApprovedForAll(address holder, address operator) view returns (bool)", + "function isInitialized() view returns (bool)", + "function mint(address to, uint256 tokenId)", + "function name() view returns (string)", + "function ownerOf(uint256 tokenId) view returns (address)", + "function safeMint(address to, uint256 tokenId, bytes data)", + "function safeTransferFrom(address from, address to, uint256 tokenId)", + "function safeTransferFrom(address from, address to, uint256 tokenId, bytes data)", + "function setAllowance(uint256 tokenId, address spender)", + "function setApprovalForAll(address operator, bool approved)", + "function setBaseTokenURI(string uri)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function symbol() view returns (string)", + "function tokenByIndex(uint256 index) view returns (uint256)", + "function tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)", + "function tokenURI(uint256 tokenId) view returns (string)", + "function totalSupply() view returns (uint256)", + "function transferFrom(address from, address to, uint256 tokenId)" + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.init_account", + "gasUsed": 0, + "gasCost": "0", + "highlight": true + }, + "USDProxy": { + "address": "0x574036F5926AA5dD34d16c245e5992f4F2299BB2", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "error AlreadyInitialized()", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InsufficientBalance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "event Approval(address indexed owner, address indexed spender, uint256 amount)", + "event Transfer(address indexed from, address indexed to, uint256 amount)", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 amount) returns (bool)", + "function balanceOf(address owner) view returns (uint256)", + "function burn(uint256 amount)", + "function burn(address target, uint256 amount)", + "function burnWithAllowance(address from, address spender, uint256 amount)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function initialize(string tokenName, string tokenSymbol, uint8 tokenDecimals)", + "function isInitialized() view returns (bool)", + "function mint(address target, uint256 amount)", + "function name() view returns (string)", + "function setAllowance(address from, address spender, uint256 amount)", + "function symbol() view returns (string)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 amount) returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)" + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.init_usd", + "gasUsed": 0, + "gasCost": "0", + "highlight": true + } + }, + "imports": { + "oracle_manager": { + "url": "ipfs://QmXrcQNawxaxsZvLZ9cyWUtM4RBd12kCowKrNpz5ZdWgT6", + "tags": [ + "latest" + ], + "preset": "with-synthetix", + "contracts": { + "CoreModule": { + "address": "0x527A4e662c22733A056464D202E77AAd62fA6109", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x09f279637d8e85e62d71aa3ae85b246f0e0eb7a3892a484c7def7ac5e7685fb4", + "sourceName": "contracts/modules/CoreModule.sol", + "contractName": "CoreModule", + "deployedOn": "contract.CoreModule", + "gasUsed": 1387392, + "gasCost": "100000000" + }, + "NodeModule": { + "address": "0xFCAD0fF92f4854A467C28Bd98FBB40f8352F127A", + "abi": [ + "error DeviationToleranceExceeded(int256 deviation)", + "error InvalidInputPrice()", + "error InvalidNodeDefinition(tuple(uint8 nodeType, bytes parameters, bytes32[] parents) nodeType)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidPrice(int256 price)", + "error NodeNotRegistered(bytes32 nodeId)", + "error OracleDataRequired(address oracleContract, bytes oracleQuery)", + "error OverflowInt256ToUint256()", + "error OverflowInt56ToInt24()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint160()", + "error OverflowUint56ToInt56()", + "error StalenessToleranceExceeded()", + "error UnprocessableNode(bytes32 nodeId)", + "error UnsupportedOperation(uint8 operation)", + "event NodeRegistered(bytes32 nodeId, uint8 nodeType, bytes parameters, bytes32[] parents)", + "function getNode(bytes32 nodeId) pure returns (tuple(uint8 nodeType, bytes parameters, bytes32[] parents) node)", + "function getNodeId(uint8 nodeType, bytes parameters, bytes32[] parents) pure returns (bytes32 nodeId)", + "function process(bytes32 nodeId) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function processWithRuntime(bytes32 nodeId, bytes32[] runtimeKeys, bytes32[] runtimeValues) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function registerNode(uint8 nodeType, bytes parameters, bytes32[] parents) returns (bytes32 nodeId)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xd0712569ab23f8325665b38e9736c15d675205d6971c1989e582a37ab7858ae6", + "sourceName": "contracts/modules/NodeModule.sol", + "contractName": "NodeModule", + "deployedOn": "contract.NodeModule", + "gasUsed": 6226312, + "gasCost": "100000000" + }, + "InitialProxy": { + "address": "0xCD4cbBe3a36D145072cDDB89B0AE966761E416F9", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)" + ], + "constructorArgs": [ + "0x527A4e662c22733A056464D202E77AAd62fA6109", + "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + ], + "linkedLibraries": {}, + "deployTxnHash": "0xda7f2b369ec01553d08cddc05cc385192238074238a383e747d2c72876ebc523", + "sourceName": "contracts/Proxy.sol", + "contractName": "Proxy", + "deployedOn": "contract.InitialProxy", + "gasUsed": 486159, + "gasCost": "100000000" + }, + "OracleRouter": { + "address": "0x94d473d05a3882929b2c2af1772870a9ad602b77", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error DeviationToleranceExceeded(int256 deviation)", + "error InvalidInputPrice()", + "error InvalidNodeDefinition(tuple(uint8 nodeType, bytes parameters, bytes32[] parents) nodeType)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidPrice(int256 price)", + "error NodeNotRegistered(bytes32 nodeId)", + "error OracleDataRequired(address oracleContract, bytes oracleQuery)", + "error OverflowInt256ToUint256()", + "error OverflowInt56ToInt24()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint160()", + "error OverflowUint56ToInt56()", + "error StalenessToleranceExceeded()", + "error UnprocessableNode(bytes32 nodeId)", + "error UnsupportedOperation(uint8 operation)", + "event NodeRegistered(bytes32 nodeId, uint8 nodeType, bytes parameters, bytes32[] parents)", + "function getNode(bytes32 nodeId) pure returns (tuple(uint8 nodeType, bytes parameters, bytes32[] parents) node)", + "function getNodeId(uint8 nodeType, bytes parameters, bytes32[] parents) pure returns (bytes32 nodeId)", + "function process(bytes32 nodeId) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function processWithRuntime(bytes32 nodeId, bytes32[] runtimeKeys, bytes32[] runtimeValues) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function registerNode(uint8 nodeType, bytes parameters, bytes32[] parents) returns (bytes32 nodeId)" + ], + "deployedOn": "router.OracleRouter", + "deployTxnHash": "0xb240da854714a7a4afb710dffc16d58cb1df1c6348040b1df9b1706b9f55ebcc", + "contractName": "OracleRouter", + "sourceName": "OracleRouter.sol", + "gasUsed": 398286, + "gasCost": "100000000" + }, + "Proxy": { + "address": "0xCD4cbBe3a36D145072cDDB89B0AE966761E416F9", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error DeviationToleranceExceeded(int256 deviation)", + "error InvalidInputPrice()", + "error InvalidNodeDefinition(tuple(uint8 nodeType, bytes parameters, bytes32[] parents) nodeType)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidPrice(int256 price)", + "error NodeNotRegistered(bytes32 nodeId)", + "error OracleDataRequired(address oracleContract, bytes oracleQuery)", + "error OverflowInt256ToUint256()", + "error OverflowInt56ToInt24()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint160()", + "error OverflowUint56ToInt56()", + "error StalenessToleranceExceeded()", + "error UnprocessableNode(bytes32 nodeId)", + "error UnsupportedOperation(uint8 operation)", + "event NodeRegistered(bytes32 nodeId, uint8 nodeType, bytes parameters, bytes32[] parents)", + "function getNode(bytes32 nodeId) pure returns (tuple(uint8 nodeType, bytes parameters, bytes32[] parents) node)", + "function getNodeId(uint8 nodeType, bytes parameters, bytes32[] parents) pure returns (bytes32 nodeId)", + "function process(bytes32 nodeId) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function processWithRuntime(bytes32 nodeId, bytes32[] runtimeKeys, bytes32[] runtimeValues) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function registerNode(uint8 nodeType, bytes parameters, bytes32[] parents) returns (bytes32 nodeId)" + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.upgrade_proxy", + "gasUsed": 0, + "gasCost": "0", + "highlight": true + } + }, + "imports": { + "trusted_multicall_forwarder": { + "url": "ipfs://QmWaDqF2WP6LB3xACuWkWx7QCy7wTo66jNpmLCXc2xhRhE", + "tags": [ + "latest" + ], + "preset": "with-oracle-manager", + "contracts": { + "TrustedMulticallForwarder": { + "address": "0xE2C5658cC5C448B48141168f3e475dF8f65A1e3e", + "abi": [ + "constructor()", + "error AddressInsufficientBalance(address account)", + "error ERC2771ForwarderExpiredRequest(uint48 deadline)", + "error ERC2771ForwarderInvalidSigner(address signer, address from)", + "error ERC2771ForwarderMismatchedValue(uint256 requestedValue, uint256 msgValue)", + "error ERC2771UntrustfulTarget(address target, address forwarder)", + "error FailedInnerCall()", + "error InvalidAccountNonce(address account, uint256 currentNonce)", + "error InvalidShortString()", + "error StringTooLong(string str)", + "event EIP712DomainChanged()", + "event ExecutedForwardRequest(address indexed signer, uint256 nonce, bool success)", + "function aggregate(tuple(address target, bytes callData)[] calls) returns (uint256 blockNumber, bytes[] returnData)", + "function aggregate3(tuple(address target, bool requireSuccess, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function aggregate3Value(tuple(address target, bool requireSuccess, uint256 value, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function blockAndAggregate(tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)", + "function eip712Domain() view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)", + "function execute(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature) request) payable", + "function executeBatch(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature)[] requests) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function executeBatch(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature)[] requests, address refundReceiver) payable", + "function getBasefee() view returns (uint256 basefee)", + "function getBlockHash(uint256 blockNumber) view returns (bytes32 blockHash)", + "function getBlockNumber() view returns (uint256 blockNumber)", + "function getChainId() view returns (uint256 chainid)", + "function getCurrentBlockCoinbase() view returns (address coinbase)", + "function getCurrentBlockGasLimit() view returns (uint256 gaslimit)", + "function getCurrentBlockTimestamp() view returns (uint256 timestamp)", + "function getEthBalance(address addr) view returns (uint256 balance)", + "function getLastBlockHash() view returns (bytes32 blockHash)", + "function getPrevRandao() view returns (uint256 prevrandao)", + "function nonces(address owner) view returns (uint256)", + "function tryAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) returns (tuple(bool success, bytes returnData)[] returnData)", + "function tryBlockAndAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)", + "function verify(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature) request) view returns (bool)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xb6ade079172e4551c445793ac1dc02f2040633605f20c473af4b0d17985bd9ef", + "sourceName": "src/TrustedMulticallForwarder.sol", + "contractName": "TrustedMulticallForwarder", + "deployedOn": "contract.TrustedMulticallForwarder", + "gasUsed": 3201761, + "gasCost": "100000000" + } + } + } + }, + "txns": { + "upgrade_proxy": { + "hash": "0xd5e4065dece28760596a1f1eaeb65561276a6ca279f0b56b344b7089dfcdd8c7", + "events": { + "Upgraded": [ + { + "name": "Upgraded", + "args": [ + "0xCD4cbBe3a36D145072cDDB89B0AE966761E416F9", + "0x94d473d05A3882929b2C2af1772870a9Ad602B77" + ] + } + ] + }, + "deployedOn": "invoke.upgrade_proxy", + "gasUsed": 86194, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "trusted_multicall_forwarder": { + "url": "ipfs://QmdAmPr6eB7ncScRuzPQB31gpZVq5ESvq5HhePGzaomiu4", + "tags": [ + "latest" + ], + "preset": "with-synthetix", + "contracts": { + "TrustedMulticallForwarder": { + "address": "0xE2C5658cC5C448B48141168f3e475dF8f65A1e3e", + "abi": [ + "constructor()", + "error AddressInsufficientBalance(address account)", + "error ERC2771ForwarderExpiredRequest(uint48 deadline)", + "error ERC2771ForwarderInvalidSigner(address signer, address from)", + "error ERC2771ForwarderMismatchedValue(uint256 requestedValue, uint256 msgValue)", + "error ERC2771UntrustfulTarget(address target, address forwarder)", + "error FailedInnerCall()", + "error InvalidAccountNonce(address account, uint256 currentNonce)", + "error InvalidShortString()", + "error StringTooLong(string str)", + "event EIP712DomainChanged()", + "event ExecutedForwardRequest(address indexed signer, uint256 nonce, bool success)", + "function aggregate(tuple(address target, bytes callData)[] calls) returns (uint256 blockNumber, bytes[] returnData)", + "function aggregate3(tuple(address target, bool requireSuccess, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function aggregate3Value(tuple(address target, bool requireSuccess, uint256 value, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function blockAndAggregate(tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)", + "function eip712Domain() view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)", + "function execute(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature) request) payable", + "function executeBatch(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature)[] requests) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function executeBatch(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature)[] requests, address refundReceiver) payable", + "function getBasefee() view returns (uint256 basefee)", + "function getBlockHash(uint256 blockNumber) view returns (bytes32 blockHash)", + "function getBlockNumber() view returns (uint256 blockNumber)", + "function getChainId() view returns (uint256 chainid)", + "function getCurrentBlockCoinbase() view returns (address coinbase)", + "function getCurrentBlockGasLimit() view returns (uint256 gaslimit)", + "function getCurrentBlockTimestamp() view returns (uint256 timestamp)", + "function getEthBalance(address addr) view returns (uint256 balance)", + "function getLastBlockHash() view returns (bytes32 blockHash)", + "function getPrevRandao() view returns (uint256 prevrandao)", + "function nonces(address owner) view returns (uint256)", + "function tryAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) returns (tuple(bool success, bytes returnData)[] returnData)", + "function tryBlockAndAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)", + "function verify(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature) request) view returns (bool)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "", + "sourceName": "src/TrustedMulticallForwarder.sol", + "contractName": "TrustedMulticallForwarder", + "deployedOn": "contract.TrustedMulticallForwarder", + "gasUsed": 0, + "gasCost": "0" + } + } + } + }, + "txns": { + "register_const_one_oracle": { + "hash": "0x5b09ed95f7d0aebe10265e51787826838bcc32bbb2bf8ee86816913e3452c854", + "events": { + "NodeRegistered": [ + { + "name": "NodeRegistered", + "args": [ + "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733", + 8, + "0x0000000000000000000000000000000000000000000000000de0b6b3a7640000", + [] + ] + } + ] + }, + "deployedOn": "invoke.register_const_one_oracle", + "gasUsed": 162412, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "upgrade_core_proxy": { + "hash": "0x3c1f1414965eaf1725b4873bf0b593592fd456b53460410aec4096e3eba9425e", + "events": { + "Upgraded": [ + { + "name": "Upgraded", + "args": [ + "0x4Ab09F627fa9706f33178129005300Fd4c00EDF1", + "0x71CB5f83891dFd0F829e862f9D9acF5c1a0Af01d" + ] + } + ] + }, + "deployedOn": "invoke.upgrade_core_proxy", + "gasUsed": 81744, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_burnUsd": { + "hash": "0xfca24b2f9a8ebd64d9d3fcb7375dc45b17b25ce76e5b7103507b773ca52a1db3", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6275726e55736400000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_burnUsd", + "gasUsed": 98847, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_claimRewards": { + "hash": "0xc58c52503225ea71509683326d26a08f7bd6d83d4a25e58ba965fc294f12df22", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x636c61696d526577617264730000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_claimRewards", + "gasUsed": 98907, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_createAccount": { + "hash": "0x159377cf94f0bc0b9dc734747383a61b6a92ff73184ce94a89dc9109fbae8555", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6372656174654163636f756e7400000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_createAccount", + "gasUsed": 98919, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_delegateCollateral": { + "hash": "0x580015fd004c129c74430b5edb969cf5fdb3668b6f41e174c3c38d4779c2d2b3", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x64656c6567617465436f6c6c61746572616c0000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_delegateCollateral", + "gasUsed": 98979, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_deposit": { + "hash": "0x6a0fd0140ba719a11ba4ad7522a46a8edaf8047d76e83cc980ca7d2d173dc38d", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6465706f73697400000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_deposit", + "gasUsed": 98847, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_depositMarketCollateral": { + "hash": "0xdc875f871a874a6ee70bdd0bf33ea233794da2ba00ebe2f845624f84cfe8d397", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6465706f7369744d61726b6574436f6c6c61746572616c000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_depositMarketCollateral", + "gasUsed": 99039, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_depositMarketUsd": { + "hash": "0xc51d389e1a32a110f0dea025b80b888c43bd3c12a1b867cef0a1bab3d911c87f", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6465706f7369744d61726b657455736400000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_depositMarketUsd", + "gasUsed": 98955, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_liquidate": { + "hash": "0xefb831711ead7c9d27362b5a3d510c1b29bd463ebf4ce12138544eaaf9fbef49", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6c69717569646174650000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_liquidate", + "gasUsed": 98871, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_liquidateVault": { + "hash": "0x89a2640395c0ecd31ed8264ba99c8ff54e8fea49762f80efd8be1ac897a52cc7", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6c69717569646174655661756c74000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_liquidateVault", + "gasUsed": 98931, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_mintUsd": { + "hash": "0xcfcbe1854de5c4bed259a68775a71e16862226cec1041541e0a1a020b3565748", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6d696e7455736400000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_mintUsd", + "gasUsed": 98847, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_withdraw": { + "hash": "0x32d121c48f12435683983e829a634b39fa7b590d9aa1902e8dd81913a2465fa4", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x7769746864726177000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_withdraw", + "gasUsed": 98859, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_withdrawMarketCollateral": { + "hash": "0x6301a8b4ce31d4ce615a678a35719cf87c8a5955346391e52fa7ba91ea05ce54", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x77697468647261774d61726b6574436f6c6c61746572616c0000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_withdrawMarketCollateral", + "gasUsed": 99051, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_withdrawMarketUsd": { + "hash": "0x7ecead25a1e25ec6bb20263e4e0482c79d3a352373ad33a1180ea9b0ac616f10", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x77697468647261774d61726b6574557364000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_withdrawMarketUsd", + "gasUsed": 98967, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "init_account": { + "hash": "0x1e1e7f4ffbb54ed5608bf360e02b5958f3c324d3fffa87011c13f3876ca6c69e", + "events": { + "AssociatedSystemSet": [ + { + "name": "AssociatedSystemSet", + "args": [ + "0x6572633732310000000000000000000000000000000000000000000000000000", + "0x6163636f756e744e667400000000000000000000000000000000000000000000", + "0x6e29bE5d3772f9eEeE9a5FEa5DEDDA7F81292b5a", + "0x0a71D7cA0672329EbB72dcF3d58EB4Dd7984ec08" + ] + } + ] + }, + "deployedOn": "invoke.init_account", + "gasUsed": 428964, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "init_usd": { + "hash": "0x069a2a80ede5840e6f68c133081f3dff364a1e30cde33aff893fba3bcb6b70f0", + "events": { + "AssociatedSystemSet": [ + { + "name": "AssociatedSystemSet", + "args": [ + "0x6572633230000000000000000000000000000000000000000000000000000000", + "0x555344546f6b656e000000000000000000000000000000000000000000000000", + "0x574036F5926AA5dD34d16c245e5992f4F2299BB2", + "0xFb012bF551f25164483D01B91823BCe5c3983FF2" + ] + } + ] + }, + "deployedOn": "invoke.init_usd", + "gasUsed": 395851, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "set_oracle_manager": { + "hash": "0x092f19543212dddc4b70cda5571c66d3287d8bad8ac8f61c2d68ed79a82ca1f1", + "events": {}, + "deployedOn": "invoke.set_oracle_manager", + "gasUsed": 89071, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "configure_usd_collateral": { + "hash": "0xcf220ce182ef8ce86c2a0910f306114a1c2acfa92b2052e6039b8179df26719f", + "events": { + "CollateralConfigured": [ + { + "name": "CollateralConfigured", + "args": [ + "0x574036F5926AA5dD34d16c245e5992f4F2299BB2", + { + "depositingEnabled": true, + "issuanceRatioD18": "10000000000000000000", + "liquidationRatioD18": "10000000000000000000", + "liquidationRewardD18": "0", + "oracleNodeId": "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733", + "tokenAddress": "0x574036F5926AA5dD34d16c245e5992f4F2299BB2", + "minDelegationD18": "115792089237316195423570985008687907853269984665640564039457584007913129639935" + } + ] + } + ] + }, + "deployedOn": "invoke.configure_usd_collateral", + "gasUsed": 309834, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": { + "const_one_oracle_id": "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733" + } + } + } + }, + "hash": "e728d2013f915f398695c42273731931", + "version": 6 + }, + "invoke.allowCreateAccount_revert": { + "artifacts": { + "contracts": {}, + "txns": { + "allowCreateAccount_revert": { + "hash": "0x925b1188c38b020d59a1b8c9e17409e88ee2eae20016571d5b45a5b6595bdf42", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6372656174654163636f756e7400000000000000000000000000000000000000", + false + ] + } + ] + }, + "deployedOn": "invoke.allowCreateAccount_revert", + "gasUsed": 76463, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "54fe647966f20b66039c5946d62f6ec6", + "version": 6 + }, + "invoke.permitCreatePool": { + "artifacts": { + "contracts": {}, + "txns": { + "permitCreatePool": { + "hash": "0xa2749d80517446973136e60f626ac6d622addc4e37a610c1f9a0889df0c6a6ea", + "events": { + "FeatureFlagAllowlistAdded": [ + { + "name": "FeatureFlagAllowlistAdded", + "args": [ + "0x637265617465506f6f6c00000000000000000000000000000000000000000000", + "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + ] + } + ] + }, + "deployedOn": "invoke.permitCreatePool", + "gasUsed": 143483, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "06a23cc016a01dd439e03b1ff13bdd2b", + "version": 6 + }, + "invoke.registerLookupArbOracleNode": { + "artifacts": { + "contracts": {}, + "txns": { + "registerLookupArbOracleNode": { + "hash": "0x48be45334cfc45de3d9fc65535ed48e8ba979e4d1120652bf06c37d51a92c7fe", + "events": { + "NodeRegistered": [ + { + "name": "NodeRegistered", + "args": [ + "0xd1496f51d75641f1e06e636277f6c63c69c4db3ec0c0a70e1f6390980ec0e2ec", + 9, + "0x0000000000000000000000007b118596be900f3c0feb2f23758d9798965b72a33fa4252848f9f0a1480be62745a4629d9eb1322aebab8a791e344b3b9c1adcf50000000000000000000000000000000000000000000000000000000000015180", + [] + ] + } + ] + }, + "deployedOn": "invoke.registerLookupArbOracleNode", + "gasUsed": 252715, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": { + "arb_lookup_oracle_id": "0xd1496f51d75641f1e06e636277f6c63c69c4db3ec0c0a70e1f6390980ec0e2ec" + } + }, + "hash": "eb5b5807720265fdfd2361ce10f60339", + "version": 6 + }, + "invoke.registerLookupBtcOracleNode": { + "artifacts": { + "contracts": {}, + "txns": { + "registerLookupBtcOracleNode": { + "hash": "0x47ec16779e56518312eaa91a5f1456ebcaecf1b0fc2f9cdb0bd4666b18854279", + "events": { + "NodeRegistered": [ + { + "name": "NodeRegistered", + "args": [ + "0x9a8a51797f90064392f7aa51aa237fb946071474b43c8f25120c7ee796a9f939", + 9, + "0x0000000000000000000000007b118596be900f3c0feb2f23758d9798965b72a3e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b430000000000000000000000000000000000000000000000000000000000015180", + [] + ] + } + ] + }, + "deployedOn": "invoke.registerLookupBtcOracleNode", + "gasUsed": 253049, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": { + "btc_lookup_oracle_id": "0x9a8a51797f90064392f7aa51aa237fb946071474b43c8f25120c7ee796a9f939" + } + }, + "hash": "82a7936d70a80ed86db6e7e86704af30", + "version": 6 + }, + "invoke.registerLookupEthOracleNode": { + "artifacts": { + "contracts": {}, + "txns": { + "registerLookupEthOracleNode": { + "hash": "0x353d3bda1212793656b468f639ecfcf38f0da01a86ec274f56aa46f0ebfddf04", + "events": { + "NodeRegistered": [ + { + "name": "NodeRegistered", + "args": [ + "0x786b13c83797311e2f24a43c789a6b312686195bd35c5ee5930d2a6e66f0e3ac", + 9, + "0x0000000000000000000000007b118596be900f3c0feb2f23758d9798965b72a3ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace0000000000000000000000000000000000000000000000000000000000015180", + [] + ] + } + ] + }, + "deployedOn": "invoke.registerLookupEthOracleNode", + "gasUsed": 251383, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": { + "eth_lookup_oracle_id": "0x786b13c83797311e2f24a43c789a6b312686195bd35c5ee5930d2a6e66f0e3ac" + } + }, + "hash": "e11a2ed61fe7f4db65a4b820109b5ff3", + "version": 6 + }, + "invoke.registerPerps_KeeperCostEthOracleNode": { + "artifacts": { + "contracts": {}, + "txns": { + "registerPerps_KeeperCostEthOracleNode": { + "hash": "0x26c3a8c134ad91ebfcdfb32557ed0ce6772737d2d6cef7c3b0bb77723732cf40", + "events": { + "NodeRegistered": [ + { + "name": "NodeRegistered", + "args": [ + "0xff8ab8d7fa228d897e75fded658da97e50151303993c7fa160ac9fa2666b585d", + 2, + "0x0000000000000000000000001fbbafb9232247d37af889210c75bbf29303b83300000000000000000000000000000000000000000000000000000000000075300000000000000000000000000000000000000000000000000000000000124f800000000000000000000000000000000000000000000000000000000000003c8c000000000000000000000000000000000000000000000000000000000003d090000000000000000000000000000000000000000000000000000000000000157c000000000000000000000000000000000000000000000000000000000010c8e0", + [] + ] + } + ] + }, + "deployedOn": "invoke.registerPerps_KeeperCostEthOracleNode", + "gasUsed": 326085, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": { + "perps_keeper_cost_eth_oracle_id": "0xff8ab8d7fa228d897e75fded658da97e50151303993c7fa160ac9fa2666b585d" + } + }, + "hash": "7e31399e4875608ca07fdac0b8184f11", + "version": 6 + }, + "invoke.setAccountTimeoutWithdraw": { + "artifacts": { + "contracts": {}, + "txns": { + "setAccountTimeoutWithdraw": { + "hash": "0x4c4b6b4d41d965e2b25132dfa38cf313778b4c9afe95f9d025aebb55df40099b", + "events": {}, + "deployedOn": "invoke.setAccountTimeoutWithdraw", + "gasUsed": 96829, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "44994a5beda714c2a2e8355763ad88c8", + "version": 6 + }, + "invoke.setMinimumLiquidityRatio": { + "artifacts": { + "contracts": {}, + "txns": { + "setMinimumLiquidityRatio": { + "hash": "0xbb5a172ea98138dadcdec787256cb9287935d25012c41d2651b1b5d968f1beaa", + "events": { + "SetMinLiquidityRatio": [ + { + "name": "SetMinLiquidityRatio", + "args": [ + "1250000000000000000" + ] + } + ] + }, + "deployedOn": "invoke.setMinimumLiquidityRatio", + "gasUsed": 89985, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "490989e1b4d30e6683e6a724c1e8eb59", + "version": 6 + }, + "invoke.setUsdTokenName": { + "artifacts": { + "contracts": {}, + "txns": { + "setUsdTokenName": { + "hash": "0xe07434a77264123f2b50d9d719cc937c5cdde53ae1caa090e4ac6431a1c162ca", + "events": {}, + "deployedOn": "invoke.setUsdTokenName", + "gasUsed": 135523, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "55415ecfe3cf37b9f481c018b484b26b", + "version": 6 + }, + "invoke.set_deniers_core_withdraw": { + "artifacts": { + "contracts": {}, + "txns": { + "set_deniers_core_withdraw": { + "hash": "0x7b4d81bbaf88f8bb32d00fd2d49a10ec81e95d9a2198502d1f3942997184cad7", + "events": { + "FeatureFlagDeniersReset": [ + { + "name": "FeatureFlagDeniersReset", + "args": [ + "0x7769746864726177000000000000000000000000000000000000000000000000", + [ + "0x28Ed18Bd77A061E0A886a2a8FFb91da95FF03E56", + "0xd9b891AB93C210eafa46c61fAeb53836F99aa35B", + "0x0B67bab43157e53D21965Af0d83f83BeD9553E0a", + "0x8909F73188C4fE68B283fCB1E724b2466e0BdfD0", + "0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC", + "0x6985b94Db148eDd4df6BD1Ba3F4640da79B44947", + "0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8", + "0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211", + "0x347c3190bD015FBD0e47fb90AA4917138A8A32FE", + "0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd", + "0x1dd532CF7603a60C3ec91360f273DA3Db38545aB", + "0x562948111d50BF039A39Eea48D127f2Ae51ddF02", + "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + ] + ] + } + ] + }, + "deployedOn": "invoke.set_deniers_core_withdraw", + "gasUsed": 482494, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "0925c3b152f8652d4d93473c992f4765", + "version": 6 + }, + "provision.perpsFactory": { + "artifacts": { + "imports": { + "perpsFactory": { + "url": "ipfs://QmZL5ozhWGLBf5nMCS12H5fCiGsyrSGg2ZQQZYzYzq3pQd", + "tags": [ + "latest" + ], + "preset": "arbthetix", + "contracts": { + "AsyncOrderCancelModule": { + "address": "0x8Fcd33e3C477a034FcFb10A4f35fC35f26FfB9EF", + "abi": [ + "error AcceptablePriceNotExceeded(uint256 fillPrice, uint256 acceptablePrice)", + "error AccountLiquidatable(uint128 accountId)", + "error FeatureUnavailable(bytes32 which)", + "error InsufficientAccountMargin(uint256 leftover)", + "error InvalidSettlementStrategy(uint256 settlementStrategyId)", + "error OrderNotValid()", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint64()", + "error SettlementStrategyNotFound(uint8 strategyType)", + "error SettlementWindowExpired(uint256 timestamp, uint256 settlementTime, uint256 settlementExpiration)", + "error SettlementWindowNotOpen(uint256 timestamp, uint256 settlementTime)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event CollateralDeducted(uint256 account, uint128 synthMarketId, uint256 amount)", + "event MarketUpdated(uint128 marketId, uint256 price, int256 skew, uint256 size, int256 sizeDelta, int256 currentFundingRate, int256 currentFundingVelocity, uint128 interestRate)", + "event OrderCancelled(uint128 indexed marketId, uint128 indexed accountId, uint256 desiredPrice, uint256 fillPrice, int128 sizeDelta, uint256 settlementReward, bytes32 indexed trackingCode, address settler)", + "function cancelOrder(uint128 accountId)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x2a16e1a2dfe1af8c423af5d49f50302a0dbd187132b90685b85186a667e8860b", + "sourceName": "contracts/modules/AsyncOrderCancelModule.sol", + "contractName": "AsyncOrderCancelModule", + "deployedOn": "contract.AsyncOrderCancelModule", + "gasUsed": 2328288, + "gasCost": "100000000" + }, + "AsyncOrderModule": { + "address": "0x4E2469BcbBAe65BDf9E83aff58d4677E5f2F9fB3", + "abi": [ + "error AcceptablePriceExceeded(uint256 fillPrice, uint256 acceptablePrice)", + "error AccountLiquidatable(uint128 accountId)", + "error AccountNotFound(uint128 accountId)", + "error FeatureUnavailable(bytes32 which)", + "error InsufficientMargin(int256 availableMargin, uint256 minMargin)", + "error InvalidMarket(uint128 marketId)", + "error InvalidSettlementStrategy(uint256 settlementStrategyId)", + "error KeeperCostsNotSet()", + "error MaxOpenInterestReached(uint128 marketId, uint256 maxMarketSize, int256 newSideSize)", + "error MaxPositionsPerAccountReached(uint128 maxPositionsPerAccount)", + "error MaxUSDOpenInterestReached(uint128 marketId, uint256 maxMarketValue, int256 newSideSize, uint256 price)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error PendingOrderExists()", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PositionOutOfBounds()", + "error PriceFeedNotSet(uint128 marketId)", + "error ZeroSizeOrder()", + "event OrderCommitted(uint128 indexed marketId, uint128 indexed accountId, uint8 orderType, int128 sizeDelta, uint256 acceptablePrice, uint256 commitmentTime, uint256 expectedPriceTime, uint256 settlementTime, uint256 expirationTime, bytes32 indexed trackingCode, address sender)", + "event PreviousOrderExpired(uint128 indexed marketId, uint128 indexed accountId, int128 sizeDelta, uint256 acceptablePrice, uint256 commitmentTime, bytes32 indexed trackingCode)", + "function commitOrder(tuple(uint128 marketId, uint128 accountId, int128 sizeDelta, uint128 settlementStrategyId, uint256 acceptablePrice, bytes32 trackingCode, address referrer) commitment) returns (tuple(uint256 commitmentTime, tuple(uint128 marketId, uint128 accountId, int128 sizeDelta, uint128 settlementStrategyId, uint256 acceptablePrice, bytes32 trackingCode, address referrer) request) retOrder, uint256 fees)", + "function computeOrderFees(uint128 marketId, int128 sizeDelta) view returns (uint256 orderFees, uint256 fillPrice)", + "function computeOrderFeesWithPrice(uint128 marketId, int128 sizeDelta, uint256 price) view returns (uint256 orderFees, uint256 fillPrice)", + "function getOrder(uint128 accountId) view returns (tuple(uint256 commitmentTime, tuple(uint128 marketId, uint128 accountId, int128 sizeDelta, uint128 settlementStrategyId, uint256 acceptablePrice, bytes32 trackingCode, address referrer) request) order)", + "function getSettlementRewardCost(uint128 marketId, uint128 settlementStrategyId) view returns (uint256)", + "function requiredMarginForOrder(uint128 accountId, uint128 marketId, int128 sizeDelta) view returns (uint256 requiredMargin)", + "function requiredMarginForOrderWithPrice(uint128 accountId, uint128 marketId, int128 sizeDelta, uint256 price) view returns (uint256 requiredMargin)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x02705995a6e7e720b77076f96a72b1bb3d2399a42ed1f048ec779ba5429a9835", + "sourceName": "contracts/modules/AsyncOrderModule.sol", + "contractName": "AsyncOrderModule", + "deployedOn": "contract.AsyncOrderModule", + "gasUsed": 4590054, + "gasCost": "100000000" + }, + "AsyncOrderSettlementPythModule": { + "address": "0x4bF3C1Af0FaA689e3A808e6Ad7a8d89d07BB9EC7", + "abi": [ + "error AcceptablePriceExceeded(uint256 fillPrice, uint256 acceptablePrice)", + "error AccountLiquidatable(uint128 accountId)", + "error FeatureUnavailable(bytes32 which)", + "error InsufficientAccountMargin(uint256 leftover)", + "error InsufficientMargin(int256 availableMargin, uint256 minMargin)", + "error InvalidMarket(uint128 marketId)", + "error InvalidSettlementStrategy(uint256 settlementStrategyId)", + "error KeeperCostsNotSet()", + "error MaxOpenInterestReached(uint128 marketId, uint256 maxMarketSize, int256 newSideSize)", + "error MaxUSDOpenInterestReached(uint128 marketId, uint256 maxMarketValue, int256 newSideSize, uint256 price)", + "error OrderNotValid()", + "error OverflowInt128ToUint128()", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error OverflowUint256ToUint64()", + "error PositionOutOfBounds()", + "error PriceFeedNotSet(uint128 marketId)", + "error SettlementStrategyNotFound(uint8 strategyType)", + "error SettlementWindowExpired(uint256 timestamp, uint256 settlementTime, uint256 settlementExpiration)", + "error SettlementWindowNotOpen(uint256 timestamp, uint256 settlementTime)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "error ZeroSizeOrder()", + "event CollateralDeducted(uint256 account, uint128 synthMarketId, uint256 amount)", + "event InterestCharged(uint128 indexed accountId, uint256 interest)", + "event MarketUpdated(uint128 marketId, uint256 price, int256 skew, uint256 size, int256 sizeDelta, int256 currentFundingRate, int256 currentFundingVelocity, uint128 interestRate)", + "event OrderSettled(uint128 indexed marketId, uint128 indexed accountId, uint256 fillPrice, int256 pnl, int256 accruedFunding, int128 sizeDelta, int128 newSize, uint256 totalFees, uint256 referralFees, uint256 collectedFees, uint256 settlementReward, bytes32 indexed trackingCode, address settler)", + "function settleOrder(uint128 accountId)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x1bc8d9d1af58eaf0f6d9329569b30637cf1c0d424f36b4fe9aacf0969c9dc2c2", + "sourceName": "contracts/modules/AsyncOrderSettlementPythModule.sol", + "contractName": "AsyncOrderSettlementPythModule", + "deployedOn": "contract.AsyncOrderSettlementPythModule", + "gasUsed": 5958814, + "gasCost": "100000000" + }, + "CoreModule": { + "address": "0x04412b2aE241C602Be87Bc1114238d50d08398Fb", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x209dc8082d218cd86382a33ecdeccf5da13226104017e6a3e79a5f00d4977a33", + "sourceName": "contracts/modules/CoreModule.sol", + "contractName": "CoreModule", + "deployedOn": "contract.CoreModule", + "gasUsed": 1368211, + "gasCost": "100000000" + }, + "FeatureFlagModule": { + "address": "0x79AE4AAC073c6f153644647Af14F202ca8cc39C5", + "abi": [ + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x07f7fc780ac74d5b45feac2c9f2f99195ed3d40f90b0dd3f7148207dc98542e1", + "sourceName": "contracts/modules/FeatureFlagModule.sol", + "contractName": "FeatureFlagModule", + "deployedOn": "contract.FeatureFlagModule", + "gasUsed": 1303945, + "gasCost": "100000000" + }, + "GlobalPerpsMarketModule": { + "address": "0x86770a2940efF6a778768592B42A6668FfB162a4", + "abi": [ + "error InvalidFeeCollectorInterface(address invalidFeeCollector)", + "error InvalidInterestRateParameters(uint128 lowUtilizationInterestRateGradient, uint128 highUtilizationInterestRateGradient)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidReferrerShareRatio(uint256 shareRatioD18)", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error PositionOutOfBounds()", + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "error ZeroAddress()", + "event CollateralConfigurationSet(uint128 indexed synthMarketId, uint256 maxCollateralAmount)", + "event FeeCollectorSet(address feeCollector)", + "event InterestRateParametersSet(uint256 lowUtilizationInterestRateGradient, uint256 interestRateGradientBreakpoint, uint256 highUtilizationInterestRateGradient)", + "event InterestRateUpdated(uint128 indexed superMarketId, uint128 interestRate)", + "event KeeperCostNodeIdUpdated(bytes32 keeperCostNodeId)", + "event KeeperRewardGuardsSet(uint256 minKeeperRewardUsd, uint256 minKeeperProfitRatioD18, uint256 maxKeeperRewardUsd, uint256 maxKeeperScalingRatioD18)", + "event PerAccountCapsSet(uint128 maxPositionsPerAccount, uint128 maxCollateralsPerAccount)", + "event ReferrerShareUpdated(address referrer, uint256 shareRatioD18)", + "event SynthDeductionPrioritySet(uint128[] newSynthDeductionPriority)", + "function getCollateralConfiguration(uint128 synthMarketId) view returns (uint256 maxCollateralAmount)", + "function getFeeCollector() view returns (address feeCollector)", + "function getInterestRateParameters() view returns (uint128 lowUtilizationInterestRateGradient, uint128 interestRateGradientBreakpoint, uint128 highUtilizationInterestRateGradient)", + "function getKeeperCostNodeId() view returns (bytes32 keeperCostNodeId)", + "function getKeeperRewardGuards() view returns (uint256 minKeeperRewardUsd, uint256 minKeeperProfitRatioD18, uint256 maxKeeperRewardUsd, uint256 maxKeeperScalingRatioD18)", + "function getMarkets() view returns (uint256[] marketIds)", + "function getPerAccountCaps() view returns (uint128 maxPositionsPerAccount, uint128 maxCollateralsPerAccount)", + "function getReferrerShare(address referrer) view returns (uint256 shareRatioD18)", + "function getSupportedCollaterals() view returns (uint256[] supportedCollaterals)", + "function getSynthDeductionPriority() view returns (uint128[])", + "function setCollateralConfiguration(uint128 synthMarketId, uint256 maxCollateralAmount)", + "function setFeeCollector(address feeCollector)", + "function setInterestRateParameters(uint128 lowUtilizationInterestRateGradient, uint128 interestRateGradientBreakpoint, uint128 highUtilizationInterestRateGradient)", + "function setKeeperRewardGuards(uint256 minKeeperRewardUsd, uint256 minKeeperProfitRatioD18, uint256 maxKeeperRewardUsd, uint256 maxKeeperScalingRatioD18)", + "function setPerAccountCaps(uint128 maxPositionsPerAccount, uint128 maxCollateralsPerAccount)", + "function setSynthDeductionPriority(uint128[] newSynthDeductionPriority)", + "function totalGlobalCollateralValue() view returns (uint256 totalCollateralValue)", + "function updateInterestRate()", + "function updateKeeperCostNodeId(bytes32 keeperCostNodeId)", + "function updateReferrerShare(address referrer, uint256 shareRatioD18)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xcd9a9f8cc907520b7f3a7bbe4754dc98db87e778fbae95162090ee1ed77bc81c", + "sourceName": "contracts/modules/GlobalPerpsMarketModule.sol", + "contractName": "GlobalPerpsMarketModule", + "deployedOn": "contract.GlobalPerpsMarketModule", + "gasUsed": 3020057, + "gasCost": "100000000" + }, + "LiquidationModule": { + "address": "0xAD35498D97f3b1a0B99de42da7Ad81c91156BA77", + "abi": [ + "error FeatureUnavailable(bytes32 which)", + "error NotEligibleForLiquidation(uint128 accountId)", + "error OverflowInt128ToUint128()", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error PositionOutOfBounds()", + "error SettlementStrategyNotFound(uint8 strategyType)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event AccountFlaggedForLiquidation(uint128 indexed accountId, int256 availableMargin, uint256 requiredMaintenanceMargin, uint256 liquidationReward, uint256 flagReward)", + "event AccountLiquidationAttempt(uint128 indexed accountId, uint256 reward, bool fullLiquidation)", + "event MarketUpdated(uint128 marketId, uint256 price, int256 skew, uint256 size, int256 sizeDelta, int256 currentFundingRate, int256 currentFundingVelocity, uint128 interestRate)", + "event PositionLiquidated(uint128 indexed accountId, uint128 indexed marketId, uint256 amountLiquidated, int128 currentPositionSize)", + "function canLiquidate(uint128 accountId) view returns (bool isEligible)", + "function flaggedAccounts() view returns (uint256[] accountIds)", + "function liquidate(uint128 accountId) returns (uint256 liquidationReward)", + "function liquidateFlagged(uint256 maxNumberOfAccounts) returns (uint256 liquidationReward)", + "function liquidateFlaggedAccounts(uint128[] accountIds) returns (uint256 liquidationReward)", + "function liquidationCapacity(uint128 marketId) view returns (uint256 capacity, uint256 maxLiquidationInWindow, uint256 latestLiquidationTimestamp)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x8ad2ff1631d8c79673d4693485124915cb4b1bd7786b0438fcf40d30052f3c0d", + "sourceName": "contracts/modules/LiquidationModule.sol", + "contractName": "LiquidationModule", + "deployedOn": "contract.LiquidationModule", + "gasUsed": 5195000, + "gasCost": "100000000" + }, + "MarketConfigurationModule": { + "address": "0x98d601E04527a0acBB603BaD845D9b7B8840de1c", + "abi": [ + "error InvalidSettlementStrategy(uint256 settlementStrategyId)", + "error InvalidSettlementWindowDuration(uint256 duration)", + "error Unauthorized(address addr)", + "event FundingParametersSet(uint128 indexed marketId, uint256 skewScale, uint256 maxFundingVelocity)", + "event LiquidationParametersSet(uint128 indexed marketId, uint256 initialMarginRatioD18, uint256 maintenanceMarginRatioD18, uint256 minimumInitialMarginRatioD18, uint256 flagRewardRatioD18, uint256 minimumPositionMargin)", + "event LockedOiRatioSet(uint128 indexed marketId, uint256 lockedOiRatioD18)", + "event MarketPriceDataUpdated(uint128 indexed marketId, bytes32 feedId, uint256 strictStalenessTolerance)", + "event MaxLiquidationParametersSet(uint128 indexed marketId, uint256 maxLiquidationLimitAccumulationMultiplier, uint256 maxSecondsInLiquidationWindow, uint256 maxLiquidationPd, address endorsedLiquidator)", + "event MaxMarketSizeSet(uint128 indexed marketId, uint256 maxMarketSize)", + "event MaxMarketValueSet(uint128 indexed marketId, uint256 maxMarketValue)", + "event OrderFeesSet(uint128 indexed marketId, uint256 makerFeeRatio, uint256 takerFeeRatio)", + "event SettlementStrategyAdded(uint128 indexed marketId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, uint256 settlementReward, bool disabled, uint256 commitmentPriceDelay) strategy, uint256 indexed strategyId)", + "event SettlementStrategySet(uint128 indexed marketId, uint256 indexed strategyId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, uint256 settlementReward, bool disabled, uint256 commitmentPriceDelay) strategy)", + "function addSettlementStrategy(uint128 marketId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, uint256 settlementReward, bool disabled, uint256 commitmentPriceDelay) strategy) returns (uint256 strategyId)", + "function getFundingParameters(uint128 marketId) view returns (uint256 skewScale, uint256 maxFundingVelocity)", + "function getLiquidationParameters(uint128 marketId) view returns (uint256 initialMarginRatioD18, uint256 minimumInitialMarginRatioD18, uint256 maintenanceMarginScalarD18, uint256 flagRewardRatioD18, uint256 minimumPositionMargin)", + "function getLockedOiRatio(uint128 marketId) view returns (uint256)", + "function getMaxLiquidationParameters(uint128 marketId) view returns (uint256 maxLiquidationLimitAccumulationMultiplier, uint256 maxSecondsInLiquidationWindow, uint256 maxLiquidationPd, address endorsedLiquidator)", + "function getMaxMarketSize(uint128 marketId) view returns (uint256 maxMarketSize)", + "function getMaxMarketValue(uint128 marketId) view returns (uint256 maxMarketValue)", + "function getOrderFees(uint128 marketId) view returns (uint256 makerFee, uint256 takerFee)", + "function getPriceData(uint128 perpsMarketId) view returns (bytes32 feedId, uint256 strictStalenessTolerance)", + "function getSettlementStrategy(uint128 marketId, uint256 strategyId) view returns (tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, uint256 settlementReward, bool disabled, uint256 commitmentPriceDelay) settlementStrategy)", + "function setFundingParameters(uint128 marketId, uint256 skewScale, uint256 maxFundingVelocity)", + "function setLiquidationParameters(uint128 marketId, uint256 initialMarginRatioD18, uint256 minimumInitialMarginRatioD18, uint256 maintenanceMarginScalarD18, uint256 flagRewardRatioD18, uint256 minimumPositionMargin)", + "function setLockedOiRatio(uint128 marketId, uint256 lockedOiRatioD18)", + "function setMaxLiquidationParameters(uint128 marketId, uint256 maxLiquidationLimitAccumulationMultiplier, uint256 maxSecondsInLiquidationWindow, uint256 maxLiquidationPd, address endorsedLiquidator)", + "function setMaxMarketSize(uint128 marketId, uint256 maxMarketSize)", + "function setMaxMarketValue(uint128 marketId, uint256 maxMarketValue)", + "function setOrderFees(uint128 marketId, uint256 makerFeeRatio, uint256 takerFeeRatio)", + "function setSettlementStrategy(uint128 marketId, uint256 strategyId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, uint256 settlementReward, bool disabled, uint256 commitmentPriceDelay) strategy)", + "function setSettlementStrategyEnabled(uint128 marketId, uint256 strategyId, bool enabled)", + "function updatePriceData(uint128 perpsMarketId, bytes32 feedId, uint256 strictStalenessTolerance)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x414b8e88857bbbd3cb9d602e9e3ffda7b32fac2786b1aaf27bb8da7f0ee271b1", + "sourceName": "contracts/modules/MarketConfigurationModule.sol", + "contractName": "MarketConfigurationModule", + "deployedOn": "contract.MarketConfigurationModule", + "gasUsed": 1748755, + "gasCost": "100000000" + }, + "PerpsAccountModule": { + "address": "0x4e8f55f1948D3E61A1FD3Cd38Ce05EFC77bffEb5", + "abi": [ + "error AccountLiquidatable(uint128 accountId)", + "error AccountNotFound(uint128 accountId)", + "error FeatureUnavailable(bytes32 which)", + "error InsufficientCollateral(uint128 synthMarketId, uint256 collateralAmount, uint256 withdrawAmount)", + "error InsufficientCollateralAvailableForWithdraw(uint256 availableUsdDenominated, uint256 requiredUsdDenominated)", + "error InsufficientSynthCollateral(uint128 synthMarketId, uint256 collateralAmount, uint256 withdrawAmount)", + "error InvalidAmountDelta(int256 amountDelta)", + "error InvalidMarket(uint128 marketId)", + "error KeeperCostsNotSet()", + "error MaxCollateralExceeded(uint128 synthMarketId, uint256 maxAmount, uint256 collateralAmount, uint256 depositAmount)", + "error MaxCollateralsPerAccountReached(uint128 maxCollateralsPerAccount)", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error PendingOrderExists()", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PositionOutOfBounds()", + "error PriceFeedNotSet(uint128 marketId)", + "error SynthNotEnabledForCollateral(uint128 synthMarketId)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event CollateralModified(uint128 indexed accountId, uint128 indexed synthMarketId, int256 amountDelta, address indexed sender)", + "function getAccountCollateralIds(uint128 accountId) view returns (uint256[])", + "function getAccountOpenPositions(uint128 accountId) view returns (uint256[])", + "function getAvailableMargin(uint128 accountId) view returns (int256 availableMargin)", + "function getCollateralAmount(uint128 accountId, uint128 synthMarketId) view returns (uint256)", + "function getOpenPosition(uint128 accountId, uint128 marketId) view returns (int256 totalPnl, int256 accruedFunding, int128 positionSize, uint256 owedInterest)", + "function getOpenPositionSize(uint128 accountId, uint128 marketId) view returns (int128 positionSize)", + "function getRequiredMargins(uint128 accountId) view returns (uint256 requiredInitialMargin, uint256 requiredMaintenanceMargin, uint256 maxLiquidationReward)", + "function getWithdrawableMargin(uint128 accountId) view returns (int256 withdrawableMargin)", + "function modifyCollateral(uint128 accountId, uint128 synthMarketId, int256 amountDelta)", + "function totalAccountOpenInterest(uint128 accountId) view returns (uint256)", + "function totalCollateralValue(uint128 accountId) view returns (uint256)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x8d9e18463db304a5e5af3e80196981dc0796979f595bfe0f93825dbbc0f76d88", + "sourceName": "contracts/modules/PerpsAccountModule.sol", + "contractName": "PerpsAccountModule", + "deployedOn": "contract.PerpsAccountModule", + "gasUsed": 4304156, + "gasCost": "100000000" + }, + "PerpsMarketFactoryModule": { + "address": "0xf12B26b9F28a0220b98d1FbBb7737Df699B59202", + "abi": [ + "error FeatureUnavailable(bytes32 which)", + "error InvalidMarket(uint128 marketId)", + "error InvalidParameter(string parameter, string reason)", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error PerpsMarketAlreadyInitialized()", + "error PerpsMarketNotInitialized()", + "error PositionOutOfBounds()", + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "event FactoryInitialized(uint128 globalPerpsMarketId)", + "event MarketCreated(uint128 indexed perpsMarketId, string marketName, string marketSymbol)", + "function createMarket(uint128 requestedMarketId, string marketName, string marketSymbol) returns (uint128)", + "function initializeFactory(address synthetix, address spotMarket) returns (uint128)", + "function interestRate() view returns (uint128)", + "function minimumCredit(uint128 perpsMarketId) view returns (uint256)", + "function name(uint128 perpsMarketId) view returns (string)", + "function reportedDebt(uint128 perpsMarketId) view returns (uint256)", + "function setPerpsMarketName(string marketName)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function utilizationRate() view returns (uint256 rate, uint256 delegatedCollateral, uint256 lockedCredit)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xc3b0c811ca69296efa9c539cfad88217509e2a35c084a08a65995c0ccc865d89", + "sourceName": "contracts/modules/PerpsMarketFactoryModule.sol", + "contractName": "PerpsMarketFactoryModule", + "deployedOn": "contract.PerpsMarketFactoryModule", + "gasUsed": 2751776, + "gasCost": "100000000" + }, + "PerpsMarketModule": { + "address": "0x27A64e368cf200C4d106b3F225cDbB2d02448376", + "abi": [ + "error OverflowInt256ToUint256()", + "error OverflowUint256ToInt256()", + "function currentFundingRate(uint128 marketId) view returns (int256)", + "function currentFundingVelocity(uint128 marketId) view returns (int256)", + "function fillPrice(uint128 marketId, int128 orderSize, uint256 price) view returns (uint256)", + "function getMarketSummary(uint128 marketId) view returns (tuple(int256 skew, uint256 size, uint256 maxOpenInterest, int256 currentFundingRate, int256 currentFundingVelocity, uint256 indexPrice) summary)", + "function indexPrice(uint128 marketId) view returns (uint256)", + "function maxOpenInterest(uint128 marketId) view returns (uint256)", + "function metadata(uint128 marketId) view returns (string name, string symbol)", + "function size(uint128 marketId) view returns (uint256)", + "function skew(uint128 marketId) view returns (int256)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xe4e6b9cb1732fe001ad6822e955def08b55a9abb3f0b427e5d02ebfd68723b11", + "sourceName": "contracts/modules/PerpsMarketModule.sol", + "contractName": "PerpsMarketModule", + "deployedOn": "contract.PerpsMarketModule", + "gasUsed": 1416332, + "gasCost": "100000000" + }, + "InitialProxy": { + "address": "0x1174e8895D4302bbEdd8F97beC298735D9F7F65e", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)" + ], + "constructorArgs": [ + "0x04412b2aE241C602Be87Bc1114238d50d08398Fb", + "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + ], + "linkedLibraries": {}, + "deployTxnHash": "0x11388d8918faaf5a0e7658918580cf16d00b6e5eeb9844136decb81a5fb990e1", + "sourceName": "contracts/Proxy.sol", + "contractName": "Proxy", + "deployedOn": "contract.InitialProxy", + "gasUsed": 467544, + "gasCost": "100000000" + }, + "PerpsMarketRouter": { + "address": "0x8d930f7cd799dbd5689c8a71bb2891e00e71acff", + "abi": [ + "error FeatureUnavailable(bytes32 which)", + "error InvalidAccountId(uint128 accountId)", + "error InvalidPermission(bytes32 permission)", + "error OnlyAccountTokenProxy(address origin)", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PermissionNotGranted(uint128 accountId, bytes32 permission, address user)", + "error PositionOutOfBounds()", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "error ZeroAddress()", + "event AccountCreated(uint128 indexed accountId, address indexed owner)", + "event PermissionGranted(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "event PermissionRevoked(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "function createAccount() returns (uint128 accountId)", + "function createAccount(uint128 requestedAccountId)", + "function getAccountLastInteraction(uint128 accountId) view returns (uint256)", + "function getAccountOwner(uint128 accountId) view returns (address)", + "function getAccountPermissions(uint128 accountId) view returns (tuple(address user, bytes32[] permissions)[] accountPerms)", + "function getAccountTokenAddress() view returns (address)", + "function grantPermission(uint128 accountId, bytes32 permission, address user)", + "function hasPermission(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function isAuthorized(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function notifyAccountTransfer(address to, uint128 accountId)", + "function renouncePermission(uint128 accountId, bytes32 permission)", + "function revokePermission(uint128 accountId, bytes32 permission, address user)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "error Unauthorized(address addr)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error UpgradeSimulationFailed()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error InvalidMarket(uint128 marketId)", + "error InvalidParameter(string parameter, string reason)", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error PerpsMarketAlreadyInitialized()", + "error PerpsMarketNotInitialized()", + "event FactoryInitialized(uint128 globalPerpsMarketId)", + "event MarketCreated(uint128 indexed perpsMarketId, string marketName, string marketSymbol)", + "function createMarket(uint128 requestedMarketId, string marketName, string marketSymbol) returns (uint128)", + "function initializeFactory(address synthetix, address spotMarket) returns (uint128)", + "function interestRate() view returns (uint128)", + "function minimumCredit(uint128 perpsMarketId) view returns (uint256)", + "function name(uint128 perpsMarketId) view returns (string)", + "function reportedDebt(uint128 perpsMarketId) view returns (uint256)", + "function setPerpsMarketName(string marketName)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function utilizationRate() view returns (uint256 rate, uint256 delegatedCollateral, uint256 lockedCredit)", + "error AccountLiquidatable(uint128 accountId)", + "error AccountNotFound(uint128 accountId)", + "error InsufficientCollateral(uint128 synthMarketId, uint256 collateralAmount, uint256 withdrawAmount)", + "error InsufficientCollateralAvailableForWithdraw(uint256 availableUsdDenominated, uint256 requiredUsdDenominated)", + "error InsufficientSynthCollateral(uint128 synthMarketId, uint256 collateralAmount, uint256 withdrawAmount)", + "error InvalidAmountDelta(int256 amountDelta)", + "error KeeperCostsNotSet()", + "error MaxCollateralExceeded(uint128 synthMarketId, uint256 maxAmount, uint256 collateralAmount, uint256 depositAmount)", + "error MaxCollateralsPerAccountReached(uint128 maxCollateralsPerAccount)", + "error OverflowUint128ToInt128()", + "error PendingOrderExists()", + "error PriceFeedNotSet(uint128 marketId)", + "error SynthNotEnabledForCollateral(uint128 synthMarketId)", + "event CollateralModified(uint128 indexed accountId, uint128 indexed synthMarketId, int256 amountDelta, address indexed sender)", + "function getAccountCollateralIds(uint128 accountId) view returns (uint256[])", + "function getAccountOpenPositions(uint128 accountId) view returns (uint256[])", + "function getAvailableMargin(uint128 accountId) view returns (int256 availableMargin)", + "function getCollateralAmount(uint128 accountId, uint128 synthMarketId) view returns (uint256)", + "function getOpenPosition(uint128 accountId, uint128 marketId) view returns (int256 totalPnl, int256 accruedFunding, int128 positionSize, uint256 owedInterest)", + "function getOpenPositionSize(uint128 accountId, uint128 marketId) view returns (int128 positionSize)", + "function getRequiredMargins(uint128 accountId) view returns (uint256 requiredInitialMargin, uint256 requiredMaintenanceMargin, uint256 maxLiquidationReward)", + "function getWithdrawableMargin(uint128 accountId) view returns (int256 withdrawableMargin)", + "function modifyCollateral(uint128 accountId, uint128 synthMarketId, int256 amountDelta)", + "function totalAccountOpenInterest(uint128 accountId) view returns (uint256)", + "function totalCollateralValue(uint128 accountId) view returns (uint256)", + "function currentFundingRate(uint128 marketId) view returns (int256)", + "function currentFundingVelocity(uint128 marketId) view returns (int256)", + "function fillPrice(uint128 marketId, int128 orderSize, uint256 price) view returns (uint256)", + "function getMarketSummary(uint128 marketId) view returns (tuple(int256 skew, uint256 size, uint256 maxOpenInterest, int256 currentFundingRate, int256 currentFundingVelocity, uint256 indexPrice) summary)", + "function indexPrice(uint128 marketId) view returns (uint256)", + "function maxOpenInterest(uint128 marketId) view returns (uint256)", + "function metadata(uint128 marketId) view returns (string name, string symbol)", + "function size(uint128 marketId) view returns (uint256)", + "function skew(uint128 marketId) view returns (int256)", + "error AcceptablePriceExceeded(uint256 fillPrice, uint256 acceptablePrice)", + "error InsufficientMargin(int256 availableMargin, uint256 minMargin)", + "error InvalidSettlementStrategy(uint256 settlementStrategyId)", + "error MaxOpenInterestReached(uint128 marketId, uint256 maxMarketSize, int256 newSideSize)", + "error MaxPositionsPerAccountReached(uint128 maxPositionsPerAccount)", + "error MaxUSDOpenInterestReached(uint128 marketId, uint256 maxMarketValue, int256 newSideSize, uint256 price)", + "error OverflowInt256ToInt128()", + "error ZeroSizeOrder()", + "event OrderCommitted(uint128 indexed marketId, uint128 indexed accountId, uint8 orderType, int128 sizeDelta, uint256 acceptablePrice, uint256 commitmentTime, uint256 expectedPriceTime, uint256 settlementTime, uint256 expirationTime, bytes32 indexed trackingCode, address sender)", + "event PreviousOrderExpired(uint128 indexed marketId, uint128 indexed accountId, int128 sizeDelta, uint256 acceptablePrice, uint256 commitmentTime, bytes32 indexed trackingCode)", + "function commitOrder(tuple(uint128 marketId, uint128 accountId, int128 sizeDelta, uint128 settlementStrategyId, uint256 acceptablePrice, bytes32 trackingCode, address referrer) commitment) returns (tuple(uint256 commitmentTime, tuple(uint128 marketId, uint128 accountId, int128 sizeDelta, uint128 settlementStrategyId, uint256 acceptablePrice, bytes32 trackingCode, address referrer) request) retOrder, uint256 fees)", + "function computeOrderFees(uint128 marketId, int128 sizeDelta) view returns (uint256 orderFees, uint256 fillPrice)", + "function computeOrderFeesWithPrice(uint128 marketId, int128 sizeDelta, uint256 price) view returns (uint256 orderFees, uint256 fillPrice)", + "function getOrder(uint128 accountId) view returns (tuple(uint256 commitmentTime, tuple(uint128 marketId, uint128 accountId, int128 sizeDelta, uint128 settlementStrategyId, uint256 acceptablePrice, bytes32 trackingCode, address referrer) request) order)", + "function getSettlementRewardCost(uint128 marketId, uint128 settlementStrategyId) view returns (uint256)", + "function requiredMarginForOrder(uint128 accountId, uint128 marketId, int128 sizeDelta) view returns (uint256 requiredMargin)", + "function requiredMarginForOrderWithPrice(uint128 accountId, uint128 marketId, int128 sizeDelta, uint256 price) view returns (uint256 requiredMargin)", + "error InsufficientAccountMargin(uint256 leftover)", + "error OrderNotValid()", + "error OverflowInt128ToUint128()", + "error OverflowUint256ToUint64()", + "error SettlementStrategyNotFound(uint8 strategyType)", + "error SettlementWindowExpired(uint256 timestamp, uint256 settlementTime, uint256 settlementExpiration)", + "error SettlementWindowNotOpen(uint256 timestamp, uint256 settlementTime)", + "event CollateralDeducted(uint256 account, uint128 synthMarketId, uint256 amount)", + "event InterestCharged(uint128 indexed accountId, uint256 interest)", + "event MarketUpdated(uint128 marketId, uint256 price, int256 skew, uint256 size, int256 sizeDelta, int256 currentFundingRate, int256 currentFundingVelocity, uint128 interestRate)", + "event OrderSettled(uint128 indexed marketId, uint128 indexed accountId, uint256 fillPrice, int256 pnl, int256 accruedFunding, int128 sizeDelta, int128 newSize, uint256 totalFees, uint256 referralFees, uint256 collectedFees, uint256 settlementReward, bytes32 indexed trackingCode, address settler)", + "function settleOrder(uint128 accountId)", + "error AcceptablePriceNotExceeded(uint256 fillPrice, uint256 acceptablePrice)", + "event OrderCancelled(uint128 indexed marketId, uint128 indexed accountId, uint256 desiredPrice, uint256 fillPrice, int128 sizeDelta, uint256 settlementReward, bytes32 indexed trackingCode, address settler)", + "function cancelOrder(uint128 accountId)", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)", + "error NotEligibleForLiquidation(uint128 accountId)", + "event AccountFlaggedForLiquidation(uint128 indexed accountId, int256 availableMargin, uint256 requiredMaintenanceMargin, uint256 liquidationReward, uint256 flagReward)", + "event AccountLiquidationAttempt(uint128 indexed accountId, uint256 reward, bool fullLiquidation)", + "event PositionLiquidated(uint128 indexed accountId, uint128 indexed marketId, uint256 amountLiquidated, int128 currentPositionSize)", + "function canLiquidate(uint128 accountId) view returns (bool isEligible)", + "function flaggedAccounts() view returns (uint256[] accountIds)", + "function liquidate(uint128 accountId) returns (uint256 liquidationReward)", + "function liquidateFlagged(uint256 maxNumberOfAccounts) returns (uint256 liquidationReward)", + "function liquidateFlaggedAccounts(uint128[] accountIds) returns (uint256 liquidationReward)", + "function liquidationCapacity(uint128 marketId) view returns (uint256 capacity, uint256 maxLiquidationInWindow, uint256 latestLiquidationTimestamp)", + "error InvalidSettlementWindowDuration(uint256 duration)", + "event FundingParametersSet(uint128 indexed marketId, uint256 skewScale, uint256 maxFundingVelocity)", + "event LiquidationParametersSet(uint128 indexed marketId, uint256 initialMarginRatioD18, uint256 maintenanceMarginRatioD18, uint256 minimumInitialMarginRatioD18, uint256 flagRewardRatioD18, uint256 minimumPositionMargin)", + "event LockedOiRatioSet(uint128 indexed marketId, uint256 lockedOiRatioD18)", + "event MarketPriceDataUpdated(uint128 indexed marketId, bytes32 feedId, uint256 strictStalenessTolerance)", + "event MaxLiquidationParametersSet(uint128 indexed marketId, uint256 maxLiquidationLimitAccumulationMultiplier, uint256 maxSecondsInLiquidationWindow, uint256 maxLiquidationPd, address endorsedLiquidator)", + "event MaxMarketSizeSet(uint128 indexed marketId, uint256 maxMarketSize)", + "event MaxMarketValueSet(uint128 indexed marketId, uint256 maxMarketValue)", + "event OrderFeesSet(uint128 indexed marketId, uint256 makerFeeRatio, uint256 takerFeeRatio)", + "event SettlementStrategyAdded(uint128 indexed marketId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, uint256 settlementReward, bool disabled, uint256 commitmentPriceDelay) strategy, uint256 indexed strategyId)", + "event SettlementStrategySet(uint128 indexed marketId, uint256 indexed strategyId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, uint256 settlementReward, bool disabled, uint256 commitmentPriceDelay) strategy)", + "function addSettlementStrategy(uint128 marketId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, uint256 settlementReward, bool disabled, uint256 commitmentPriceDelay) strategy) returns (uint256 strategyId)", + "function getFundingParameters(uint128 marketId) view returns (uint256 skewScale, uint256 maxFundingVelocity)", + "function getLiquidationParameters(uint128 marketId) view returns (uint256 initialMarginRatioD18, uint256 minimumInitialMarginRatioD18, uint256 maintenanceMarginScalarD18, uint256 flagRewardRatioD18, uint256 minimumPositionMargin)", + "function getLockedOiRatio(uint128 marketId) view returns (uint256)", + "function getMaxLiquidationParameters(uint128 marketId) view returns (uint256 maxLiquidationLimitAccumulationMultiplier, uint256 maxSecondsInLiquidationWindow, uint256 maxLiquidationPd, address endorsedLiquidator)", + "function getMaxMarketSize(uint128 marketId) view returns (uint256 maxMarketSize)", + "function getMaxMarketValue(uint128 marketId) view returns (uint256 maxMarketValue)", + "function getOrderFees(uint128 marketId) view returns (uint256 makerFee, uint256 takerFee)", + "function getPriceData(uint128 perpsMarketId) view returns (bytes32 feedId, uint256 strictStalenessTolerance)", + "function getSettlementStrategy(uint128 marketId, uint256 strategyId) view returns (tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, uint256 settlementReward, bool disabled, uint256 commitmentPriceDelay) settlementStrategy)", + "function setFundingParameters(uint128 marketId, uint256 skewScale, uint256 maxFundingVelocity)", + "function setLiquidationParameters(uint128 marketId, uint256 initialMarginRatioD18, uint256 minimumInitialMarginRatioD18, uint256 maintenanceMarginScalarD18, uint256 flagRewardRatioD18, uint256 minimumPositionMargin)", + "function setLockedOiRatio(uint128 marketId, uint256 lockedOiRatioD18)", + "function setMaxLiquidationParameters(uint128 marketId, uint256 maxLiquidationLimitAccumulationMultiplier, uint256 maxSecondsInLiquidationWindow, uint256 maxLiquidationPd, address endorsedLiquidator)", + "function setMaxMarketSize(uint128 marketId, uint256 maxMarketSize)", + "function setMaxMarketValue(uint128 marketId, uint256 maxMarketValue)", + "function setOrderFees(uint128 marketId, uint256 makerFeeRatio, uint256 takerFeeRatio)", + "function setSettlementStrategy(uint128 marketId, uint256 strategyId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, uint256 settlementReward, bool disabled, uint256 commitmentPriceDelay) strategy)", + "function setSettlementStrategyEnabled(uint128 marketId, uint256 strategyId, bool enabled)", + "function updatePriceData(uint128 perpsMarketId, bytes32 feedId, uint256 strictStalenessTolerance)", + "error InvalidFeeCollectorInterface(address invalidFeeCollector)", + "error InvalidInterestRateParameters(uint128 lowUtilizationInterestRateGradient, uint128 highUtilizationInterestRateGradient)", + "error InvalidReferrerShareRatio(uint256 shareRatioD18)", + "event CollateralConfigurationSet(uint128 indexed synthMarketId, uint256 maxCollateralAmount)", + "event FeeCollectorSet(address feeCollector)", + "event InterestRateParametersSet(uint256 lowUtilizationInterestRateGradient, uint256 interestRateGradientBreakpoint, uint256 highUtilizationInterestRateGradient)", + "event InterestRateUpdated(uint128 indexed superMarketId, uint128 interestRate)", + "event KeeperCostNodeIdUpdated(bytes32 keeperCostNodeId)", + "event KeeperRewardGuardsSet(uint256 minKeeperRewardUsd, uint256 minKeeperProfitRatioD18, uint256 maxKeeperRewardUsd, uint256 maxKeeperScalingRatioD18)", + "event PerAccountCapsSet(uint128 maxPositionsPerAccount, uint128 maxCollateralsPerAccount)", + "event ReferrerShareUpdated(address referrer, uint256 shareRatioD18)", + "event SynthDeductionPrioritySet(uint128[] newSynthDeductionPriority)", + "function getCollateralConfiguration(uint128 synthMarketId) view returns (uint256 maxCollateralAmount)", + "function getFeeCollector() view returns (address feeCollector)", + "function getInterestRateParameters() view returns (uint128 lowUtilizationInterestRateGradient, uint128 interestRateGradientBreakpoint, uint128 highUtilizationInterestRateGradient)", + "function getKeeperCostNodeId() view returns (bytes32 keeperCostNodeId)", + "function getKeeperRewardGuards() view returns (uint256 minKeeperRewardUsd, uint256 minKeeperProfitRatioD18, uint256 maxKeeperRewardUsd, uint256 maxKeeperScalingRatioD18)", + "function getMarkets() view returns (uint256[] marketIds)", + "function getPerAccountCaps() view returns (uint128 maxPositionsPerAccount, uint128 maxCollateralsPerAccount)", + "function getReferrerShare(address referrer) view returns (uint256 shareRatioD18)", + "function getSupportedCollaterals() view returns (uint256[] supportedCollaterals)", + "function getSynthDeductionPriority() view returns (uint128[])", + "function setCollateralConfiguration(uint128 synthMarketId, uint256 maxCollateralAmount)", + "function setFeeCollector(address feeCollector)", + "function setInterestRateParameters(uint128 lowUtilizationInterestRateGradient, uint128 interestRateGradientBreakpoint, uint128 highUtilizationInterestRateGradient)", + "function setKeeperRewardGuards(uint256 minKeeperRewardUsd, uint256 minKeeperProfitRatioD18, uint256 maxKeeperRewardUsd, uint256 maxKeeperScalingRatioD18)", + "function setPerAccountCaps(uint128 maxPositionsPerAccount, uint128 maxCollateralsPerAccount)", + "function setSynthDeductionPriority(uint128[] newSynthDeductionPriority)", + "function totalGlobalCollateralValue() view returns (uint256 totalCollateralValue)", + "function updateInterestRate()", + "function updateKeeperCostNodeId(bytes32 keeperCostNodeId)", + "function updateReferrerShare(address referrer, uint256 shareRatioD18)" + ], + "deployedOn": "router.PerpsMarketRouter", + "deployTxnHash": "0xe6d5962c18c9ebfc534d5459246d8de8ce4c3a1d98737a99321b7f02b41669bc", + "contractName": "PerpsMarketRouter", + "sourceName": "PerpsMarketRouter.sol", + "gasUsed": 1960037, + "gasCost": "100000000" + }, + "PerpsMarketProxy": { + "address": "0x1174e8895D4302bbEdd8F97beC298735D9F7F65e", + "abi": [ + "error FeatureUnavailable(bytes32 which)", + "error InvalidAccountId(uint128 accountId)", + "error InvalidPermission(bytes32 permission)", + "error OnlyAccountTokenProxy(address origin)", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PermissionNotGranted(uint128 accountId, bytes32 permission, address user)", + "error PositionOutOfBounds()", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "error ZeroAddress()", + "event AccountCreated(uint128 indexed accountId, address indexed owner)", + "event PermissionGranted(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "event PermissionRevoked(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "function createAccount() returns (uint128 accountId)", + "function createAccount(uint128 requestedAccountId)", + "function getAccountLastInteraction(uint128 accountId) view returns (uint256)", + "function getAccountOwner(uint128 accountId) view returns (address)", + "function getAccountPermissions(uint128 accountId) view returns (tuple(address user, bytes32[] permissions)[] accountPerms)", + "function getAccountTokenAddress() view returns (address)", + "function grantPermission(uint128 accountId, bytes32 permission, address user)", + "function hasPermission(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function isAuthorized(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function notifyAccountTransfer(address to, uint128 accountId)", + "function renouncePermission(uint128 accountId, bytes32 permission)", + "function revokePermission(uint128 accountId, bytes32 permission, address user)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "error Unauthorized(address addr)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error UpgradeSimulationFailed()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error InvalidMarket(uint128 marketId)", + "error InvalidParameter(string parameter, string reason)", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error PerpsMarketAlreadyInitialized()", + "error PerpsMarketNotInitialized()", + "event FactoryInitialized(uint128 globalPerpsMarketId)", + "event MarketCreated(uint128 indexed perpsMarketId, string marketName, string marketSymbol)", + "function createMarket(uint128 requestedMarketId, string marketName, string marketSymbol) returns (uint128)", + "function initializeFactory(address synthetix, address spotMarket) returns (uint128)", + "function interestRate() view returns (uint128)", + "function minimumCredit(uint128 perpsMarketId) view returns (uint256)", + "function name(uint128 perpsMarketId) view returns (string)", + "function reportedDebt(uint128 perpsMarketId) view returns (uint256)", + "function setPerpsMarketName(string marketName)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function utilizationRate() view returns (uint256 rate, uint256 delegatedCollateral, uint256 lockedCredit)", + "error AccountLiquidatable(uint128 accountId)", + "error AccountNotFound(uint128 accountId)", + "error InsufficientCollateral(uint128 synthMarketId, uint256 collateralAmount, uint256 withdrawAmount)", + "error InsufficientCollateralAvailableForWithdraw(uint256 availableUsdDenominated, uint256 requiredUsdDenominated)", + "error InsufficientSynthCollateral(uint128 synthMarketId, uint256 collateralAmount, uint256 withdrawAmount)", + "error InvalidAmountDelta(int256 amountDelta)", + "error KeeperCostsNotSet()", + "error MaxCollateralExceeded(uint128 synthMarketId, uint256 maxAmount, uint256 collateralAmount, uint256 depositAmount)", + "error MaxCollateralsPerAccountReached(uint128 maxCollateralsPerAccount)", + "error OverflowUint128ToInt128()", + "error PendingOrderExists()", + "error PriceFeedNotSet(uint128 marketId)", + "error SynthNotEnabledForCollateral(uint128 synthMarketId)", + "event CollateralModified(uint128 indexed accountId, uint128 indexed synthMarketId, int256 amountDelta, address indexed sender)", + "function getAccountCollateralIds(uint128 accountId) view returns (uint256[])", + "function getAccountOpenPositions(uint128 accountId) view returns (uint256[])", + "function getAvailableMargin(uint128 accountId) view returns (int256 availableMargin)", + "function getCollateralAmount(uint128 accountId, uint128 synthMarketId) view returns (uint256)", + "function getOpenPosition(uint128 accountId, uint128 marketId) view returns (int256 totalPnl, int256 accruedFunding, int128 positionSize, uint256 owedInterest)", + "function getOpenPositionSize(uint128 accountId, uint128 marketId) view returns (int128 positionSize)", + "function getRequiredMargins(uint128 accountId) view returns (uint256 requiredInitialMargin, uint256 requiredMaintenanceMargin, uint256 maxLiquidationReward)", + "function getWithdrawableMargin(uint128 accountId) view returns (int256 withdrawableMargin)", + "function modifyCollateral(uint128 accountId, uint128 synthMarketId, int256 amountDelta)", + "function totalAccountOpenInterest(uint128 accountId) view returns (uint256)", + "function totalCollateralValue(uint128 accountId) view returns (uint256)", + "function currentFundingRate(uint128 marketId) view returns (int256)", + "function currentFundingVelocity(uint128 marketId) view returns (int256)", + "function fillPrice(uint128 marketId, int128 orderSize, uint256 price) view returns (uint256)", + "function getMarketSummary(uint128 marketId) view returns (tuple(int256 skew, uint256 size, uint256 maxOpenInterest, int256 currentFundingRate, int256 currentFundingVelocity, uint256 indexPrice) summary)", + "function indexPrice(uint128 marketId) view returns (uint256)", + "function maxOpenInterest(uint128 marketId) view returns (uint256)", + "function metadata(uint128 marketId) view returns (string name, string symbol)", + "function size(uint128 marketId) view returns (uint256)", + "function skew(uint128 marketId) view returns (int256)", + "error AcceptablePriceExceeded(uint256 fillPrice, uint256 acceptablePrice)", + "error InsufficientMargin(int256 availableMargin, uint256 minMargin)", + "error InvalidSettlementStrategy(uint256 settlementStrategyId)", + "error MaxOpenInterestReached(uint128 marketId, uint256 maxMarketSize, int256 newSideSize)", + "error MaxPositionsPerAccountReached(uint128 maxPositionsPerAccount)", + "error MaxUSDOpenInterestReached(uint128 marketId, uint256 maxMarketValue, int256 newSideSize, uint256 price)", + "error OverflowInt256ToInt128()", + "error ZeroSizeOrder()", + "event OrderCommitted(uint128 indexed marketId, uint128 indexed accountId, uint8 orderType, int128 sizeDelta, uint256 acceptablePrice, uint256 commitmentTime, uint256 expectedPriceTime, uint256 settlementTime, uint256 expirationTime, bytes32 indexed trackingCode, address sender)", + "event PreviousOrderExpired(uint128 indexed marketId, uint128 indexed accountId, int128 sizeDelta, uint256 acceptablePrice, uint256 commitmentTime, bytes32 indexed trackingCode)", + "function commitOrder(tuple(uint128 marketId, uint128 accountId, int128 sizeDelta, uint128 settlementStrategyId, uint256 acceptablePrice, bytes32 trackingCode, address referrer) commitment) returns (tuple(uint256 commitmentTime, tuple(uint128 marketId, uint128 accountId, int128 sizeDelta, uint128 settlementStrategyId, uint256 acceptablePrice, bytes32 trackingCode, address referrer) request) retOrder, uint256 fees)", + "function computeOrderFees(uint128 marketId, int128 sizeDelta) view returns (uint256 orderFees, uint256 fillPrice)", + "function computeOrderFeesWithPrice(uint128 marketId, int128 sizeDelta, uint256 price) view returns (uint256 orderFees, uint256 fillPrice)", + "function getOrder(uint128 accountId) view returns (tuple(uint256 commitmentTime, tuple(uint128 marketId, uint128 accountId, int128 sizeDelta, uint128 settlementStrategyId, uint256 acceptablePrice, bytes32 trackingCode, address referrer) request) order)", + "function getSettlementRewardCost(uint128 marketId, uint128 settlementStrategyId) view returns (uint256)", + "function requiredMarginForOrder(uint128 accountId, uint128 marketId, int128 sizeDelta) view returns (uint256 requiredMargin)", + "function requiredMarginForOrderWithPrice(uint128 accountId, uint128 marketId, int128 sizeDelta, uint256 price) view returns (uint256 requiredMargin)", + "error InsufficientAccountMargin(uint256 leftover)", + "error OrderNotValid()", + "error OverflowInt128ToUint128()", + "error OverflowUint256ToUint64()", + "error SettlementStrategyNotFound(uint8 strategyType)", + "error SettlementWindowExpired(uint256 timestamp, uint256 settlementTime, uint256 settlementExpiration)", + "error SettlementWindowNotOpen(uint256 timestamp, uint256 settlementTime)", + "event CollateralDeducted(uint256 account, uint128 synthMarketId, uint256 amount)", + "event InterestCharged(uint128 indexed accountId, uint256 interest)", + "event MarketUpdated(uint128 marketId, uint256 price, int256 skew, uint256 size, int256 sizeDelta, int256 currentFundingRate, int256 currentFundingVelocity, uint128 interestRate)", + "event OrderSettled(uint128 indexed marketId, uint128 indexed accountId, uint256 fillPrice, int256 pnl, int256 accruedFunding, int128 sizeDelta, int128 newSize, uint256 totalFees, uint256 referralFees, uint256 collectedFees, uint256 settlementReward, bytes32 indexed trackingCode, address settler)", + "function settleOrder(uint128 accountId)", + "error AcceptablePriceNotExceeded(uint256 fillPrice, uint256 acceptablePrice)", + "event OrderCancelled(uint128 indexed marketId, uint128 indexed accountId, uint256 desiredPrice, uint256 fillPrice, int128 sizeDelta, uint256 settlementReward, bytes32 indexed trackingCode, address settler)", + "function cancelOrder(uint128 accountId)", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)", + "error NotEligibleForLiquidation(uint128 accountId)", + "event AccountFlaggedForLiquidation(uint128 indexed accountId, int256 availableMargin, uint256 requiredMaintenanceMargin, uint256 liquidationReward, uint256 flagReward)", + "event AccountLiquidationAttempt(uint128 indexed accountId, uint256 reward, bool fullLiquidation)", + "event PositionLiquidated(uint128 indexed accountId, uint128 indexed marketId, uint256 amountLiquidated, int128 currentPositionSize)", + "function canLiquidate(uint128 accountId) view returns (bool isEligible)", + "function flaggedAccounts() view returns (uint256[] accountIds)", + "function liquidate(uint128 accountId) returns (uint256 liquidationReward)", + "function liquidateFlagged(uint256 maxNumberOfAccounts) returns (uint256 liquidationReward)", + "function liquidateFlaggedAccounts(uint128[] accountIds) returns (uint256 liquidationReward)", + "function liquidationCapacity(uint128 marketId) view returns (uint256 capacity, uint256 maxLiquidationInWindow, uint256 latestLiquidationTimestamp)", + "error InvalidSettlementWindowDuration(uint256 duration)", + "event FundingParametersSet(uint128 indexed marketId, uint256 skewScale, uint256 maxFundingVelocity)", + "event LiquidationParametersSet(uint128 indexed marketId, uint256 initialMarginRatioD18, uint256 maintenanceMarginRatioD18, uint256 minimumInitialMarginRatioD18, uint256 flagRewardRatioD18, uint256 minimumPositionMargin)", + "event LockedOiRatioSet(uint128 indexed marketId, uint256 lockedOiRatioD18)", + "event MarketPriceDataUpdated(uint128 indexed marketId, bytes32 feedId, uint256 strictStalenessTolerance)", + "event MaxLiquidationParametersSet(uint128 indexed marketId, uint256 maxLiquidationLimitAccumulationMultiplier, uint256 maxSecondsInLiquidationWindow, uint256 maxLiquidationPd, address endorsedLiquidator)", + "event MaxMarketSizeSet(uint128 indexed marketId, uint256 maxMarketSize)", + "event MaxMarketValueSet(uint128 indexed marketId, uint256 maxMarketValue)", + "event OrderFeesSet(uint128 indexed marketId, uint256 makerFeeRatio, uint256 takerFeeRatio)", + "event SettlementStrategyAdded(uint128 indexed marketId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, uint256 settlementReward, bool disabled, uint256 commitmentPriceDelay) strategy, uint256 indexed strategyId)", + "event SettlementStrategySet(uint128 indexed marketId, uint256 indexed strategyId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, uint256 settlementReward, bool disabled, uint256 commitmentPriceDelay) strategy)", + "function addSettlementStrategy(uint128 marketId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, uint256 settlementReward, bool disabled, uint256 commitmentPriceDelay) strategy) returns (uint256 strategyId)", + "function getFundingParameters(uint128 marketId) view returns (uint256 skewScale, uint256 maxFundingVelocity)", + "function getLiquidationParameters(uint128 marketId) view returns (uint256 initialMarginRatioD18, uint256 minimumInitialMarginRatioD18, uint256 maintenanceMarginScalarD18, uint256 flagRewardRatioD18, uint256 minimumPositionMargin)", + "function getLockedOiRatio(uint128 marketId) view returns (uint256)", + "function getMaxLiquidationParameters(uint128 marketId) view returns (uint256 maxLiquidationLimitAccumulationMultiplier, uint256 maxSecondsInLiquidationWindow, uint256 maxLiquidationPd, address endorsedLiquidator)", + "function getMaxMarketSize(uint128 marketId) view returns (uint256 maxMarketSize)", + "function getMaxMarketValue(uint128 marketId) view returns (uint256 maxMarketValue)", + "function getOrderFees(uint128 marketId) view returns (uint256 makerFee, uint256 takerFee)", + "function getPriceData(uint128 perpsMarketId) view returns (bytes32 feedId, uint256 strictStalenessTolerance)", + "function getSettlementStrategy(uint128 marketId, uint256 strategyId) view returns (tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, uint256 settlementReward, bool disabled, uint256 commitmentPriceDelay) settlementStrategy)", + "function setFundingParameters(uint128 marketId, uint256 skewScale, uint256 maxFundingVelocity)", + "function setLiquidationParameters(uint128 marketId, uint256 initialMarginRatioD18, uint256 minimumInitialMarginRatioD18, uint256 maintenanceMarginScalarD18, uint256 flagRewardRatioD18, uint256 minimumPositionMargin)", + "function setLockedOiRatio(uint128 marketId, uint256 lockedOiRatioD18)", + "function setMaxLiquidationParameters(uint128 marketId, uint256 maxLiquidationLimitAccumulationMultiplier, uint256 maxSecondsInLiquidationWindow, uint256 maxLiquidationPd, address endorsedLiquidator)", + "function setMaxMarketSize(uint128 marketId, uint256 maxMarketSize)", + "function setMaxMarketValue(uint128 marketId, uint256 maxMarketValue)", + "function setOrderFees(uint128 marketId, uint256 makerFeeRatio, uint256 takerFeeRatio)", + "function setSettlementStrategy(uint128 marketId, uint256 strategyId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, uint256 settlementReward, bool disabled, uint256 commitmentPriceDelay) strategy)", + "function setSettlementStrategyEnabled(uint128 marketId, uint256 strategyId, bool enabled)", + "function updatePriceData(uint128 perpsMarketId, bytes32 feedId, uint256 strictStalenessTolerance)", + "error InvalidFeeCollectorInterface(address invalidFeeCollector)", + "error InvalidInterestRateParameters(uint128 lowUtilizationInterestRateGradient, uint128 highUtilizationInterestRateGradient)", + "error InvalidReferrerShareRatio(uint256 shareRatioD18)", + "event CollateralConfigurationSet(uint128 indexed synthMarketId, uint256 maxCollateralAmount)", + "event FeeCollectorSet(address feeCollector)", + "event InterestRateParametersSet(uint256 lowUtilizationInterestRateGradient, uint256 interestRateGradientBreakpoint, uint256 highUtilizationInterestRateGradient)", + "event InterestRateUpdated(uint128 indexed superMarketId, uint128 interestRate)", + "event KeeperCostNodeIdUpdated(bytes32 keeperCostNodeId)", + "event KeeperRewardGuardsSet(uint256 minKeeperRewardUsd, uint256 minKeeperProfitRatioD18, uint256 maxKeeperRewardUsd, uint256 maxKeeperScalingRatioD18)", + "event PerAccountCapsSet(uint128 maxPositionsPerAccount, uint128 maxCollateralsPerAccount)", + "event ReferrerShareUpdated(address referrer, uint256 shareRatioD18)", + "event SynthDeductionPrioritySet(uint128[] newSynthDeductionPriority)", + "function getCollateralConfiguration(uint128 synthMarketId) view returns (uint256 maxCollateralAmount)", + "function getFeeCollector() view returns (address feeCollector)", + "function getInterestRateParameters() view returns (uint128 lowUtilizationInterestRateGradient, uint128 interestRateGradientBreakpoint, uint128 highUtilizationInterestRateGradient)", + "function getKeeperCostNodeId() view returns (bytes32 keeperCostNodeId)", + "function getKeeperRewardGuards() view returns (uint256 minKeeperRewardUsd, uint256 minKeeperProfitRatioD18, uint256 maxKeeperRewardUsd, uint256 maxKeeperScalingRatioD18)", + "function getMarkets() view returns (uint256[] marketIds)", + "function getPerAccountCaps() view returns (uint128 maxPositionsPerAccount, uint128 maxCollateralsPerAccount)", + "function getReferrerShare(address referrer) view returns (uint256 shareRatioD18)", + "function getSupportedCollaterals() view returns (uint256[] supportedCollaterals)", + "function getSynthDeductionPriority() view returns (uint128[])", + "function setCollateralConfiguration(uint128 synthMarketId, uint256 maxCollateralAmount)", + "function setFeeCollector(address feeCollector)", + "function setInterestRateParameters(uint128 lowUtilizationInterestRateGradient, uint128 interestRateGradientBreakpoint, uint128 highUtilizationInterestRateGradient)", + "function setKeeperRewardGuards(uint256 minKeeperRewardUsd, uint256 minKeeperProfitRatioD18, uint256 maxKeeperRewardUsd, uint256 maxKeeperScalingRatioD18)", + "function setPerAccountCaps(uint128 maxPositionsPerAccount, uint128 maxCollateralsPerAccount)", + "function setSynthDeductionPriority(uint128[] newSynthDeductionPriority)", + "function totalGlobalCollateralValue() view returns (uint256 totalCollateralValue)", + "function updateInterestRate()", + "function updateKeeperCostNodeId(bytes32 keeperCostNodeId)", + "function updateReferrerShare(address referrer, uint256 shareRatioD18)" + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.upgrade_proxy", + "gasUsed": 0, + "gasCost": "0", + "highlight": true + }, + "PerpsAccountProxy": { + "address": "0x40c37a2956e1D34E685d43D721597f028403304B", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error AlreadyInitialized()", + "error CannotSelfApprove(address addr)", + "error IndexOverrun(uint256 requestedIndex, uint256 length)", + "error InvalidOwner(address addr)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidTransferRecipient(address addr)", + "error OverflowUint256ToUint128()", + "error TokenAlreadyMinted(uint256 id)", + "error TokenDoesNotExist(uint256 id)", + "event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)", + "event ApprovalForAll(address indexed owner, address indexed operator, bool approved)", + "event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)", + "function approve(address to, uint256 tokenId)", + "function balanceOf(address holder) view returns (uint256 balance)", + "function burn(uint256 tokenId)", + "function getApproved(uint256 tokenId) view returns (address operator)", + "function initialize(string tokenName, string tokenSymbol, string uri)", + "function isApprovedForAll(address holder, address operator) view returns (bool)", + "function isInitialized() view returns (bool)", + "function mint(address to, uint256 tokenId)", + "function name() view returns (string)", + "function ownerOf(uint256 tokenId) view returns (address)", + "function safeMint(address to, uint256 tokenId, bytes data)", + "function safeTransferFrom(address from, address to, uint256 tokenId)", + "function safeTransferFrom(address from, address to, uint256 tokenId, bytes data)", + "function setAllowance(uint256 tokenId, address spender)", + "function setApprovalForAll(address operator, bool approved)", + "function setBaseTokenURI(string uri)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function symbol() view returns (string)", + "function tokenByIndex(uint256 index) view returns (uint256)", + "function tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)", + "function tokenURI(uint256 tokenId) view returns (string)", + "function totalSupply() view returns (uint256)", + "function transferFrom(address from, address to, uint256 tokenId)" + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.init_account", + "gasUsed": 0, + "gasCost": "0", + "highlight": true + } + }, + "imports": { + "spotMarket": { + "url": "ipfs://QmWN2TuwDLdUUqby15XF86PjyG1pRtkstyPXaCgCMVXBq7", + "contracts": { + "AsyncOrderConfigurationModule": { + "address": "0x3400f899EE37Db540681Fbf0fb49bEF2Bc7F351B", + "abi": [ + "error InvalidSettlementStrategy(uint256 settlementStrategyId)", + "error InvalidSettlementWindowDuration(uint256 duration)", + "error OnlyMarketOwner(address marketOwner, address sender)", + "event SettlementStrategyAdded(uint128 indexed synthMarketId, uint256 indexed strategyId)", + "event SettlementStrategySet(uint128 indexed synthMarketId, uint256 indexed strategyId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) strategy)", + "function addSettlementStrategy(uint128 marketId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) strategy) returns (uint256 strategyId)", + "function getSettlementStrategy(uint128 marketId, uint256 strategyId) view returns (tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) settlementStrategy)", + "function setSettlementStrategy(uint128 marketId, uint256 strategyId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) strategy)", + "function setSettlementStrategyEnabled(uint128 marketId, uint256 strategyId, bool enabled)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xafab1958b165fe2d136b5b0e00244885f0fb1277f43fb4928391f14d0d7c2040", + "sourceName": "contracts/modules/AsyncOrderConfigurationModule.sol", + "contractName": "AsyncOrderConfigurationModule", + "deployedOn": "contract.AsyncOrderConfigurationModule", + "gasUsed": 1473152, + "gasCost": "100000000" + }, + "AsyncOrderModule": { + "address": "0x832258D2744fEf7DdaB4eEE269d1B21B8DC0f116", + "abi": [ + "error IneligibleForCancellation(uint256 timestamp, uint256 expirationTime)", + "error InsufficientSharesAmount(uint256 expected, uint256 actual)", + "error InvalidAsyncTransactionType(uint8 transactionType)", + "error InvalidClaim(uint256 asyncOrderId)", + "error InvalidCommitmentAmount(uint256 minimumAmount, uint256 amount)", + "error InvalidMarket(uint128 marketId)", + "error InvalidSettlementStrategy(uint256 settlementStrategyId)", + "error OrderAlreadySettled(uint256 asyncOrderId, uint256 settledAt)", + "error OverflowInt256ToUint256()", + "event OrderCancelled(uint128 indexed marketId, uint128 indexed asyncOrderId, tuple(uint128 id, address owner, uint8 orderType, uint256 amountEscrowed, uint256 settlementStrategyId, uint256 commitmentTime, uint256 minimumSettlementAmount, uint256 settledAt, address referrer) asyncOrderClaim, address indexed sender)", + "event OrderCommitted(uint128 indexed marketId, uint8 indexed orderType, uint256 amountProvided, uint128 asyncOrderId, address indexed sender, address referrer)", + "function cancelOrder(uint128 marketId, uint128 asyncOrderId)", + "function commitOrder(uint128 marketId, uint8 orderType, uint256 amountProvided, uint256 settlementStrategyId, uint256 minimumSettlementAmount, address referrer) returns (tuple(uint128 id, address owner, uint8 orderType, uint256 amountEscrowed, uint256 settlementStrategyId, uint256 commitmentTime, uint256 minimumSettlementAmount, uint256 settledAt, address referrer) asyncOrderClaim)", + "function getAsyncOrderClaim(uint128 marketId, uint128 asyncOrderId) pure returns (tuple(uint128 id, address owner, uint8 orderType, uint256 amountEscrowed, uint256 settlementStrategyId, uint256 commitmentTime, uint256 minimumSettlementAmount, uint256 settledAt, address referrer) asyncOrderClaim)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x4b1f75162e51e55b95baf5625f291797aefc6f2d54d444548963e1adc1e31a3c", + "sourceName": "contracts/modules/AsyncOrderModule.sol", + "contractName": "AsyncOrderModule", + "deployedOn": "contract.AsyncOrderModule", + "gasUsed": 2099485, + "gasCost": "100000000" + }, + "AsyncOrderSettlementModule": { + "address": "0x20042b9D44B8168c2CB2A5EDB021E436010dbdEC", + "abi": [ + "error InvalidClaim(uint256 asyncOrderId)", + "error InvalidSettlementStrategy(uint8 strategyType)", + "error InvalidVerificationResponse()", + "error MinimumSettlementAmountNotMet(uint256 minimum, uint256 actual)", + "error OrderAlreadySettled(uint256 asyncOrderId, uint256 settledAt)", + "error OutsideSettlementWindow(uint256 timestamp, uint256 startTime, uint256 expirationTime)", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint64()", + "error SettlementStrategyNotFound(uint8 strategyType)", + "event OrderSettled(uint128 indexed marketId, uint128 indexed asyncOrderId, uint256 finalOrderAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 collectedFees, address indexed settler, uint256 price, uint8 orderType)", + "function settleOrder(uint128 marketId, uint128 asyncOrderId) returns (uint256 finalOrderAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x51f7ca2a18f17d94b1c9097fc04f8332f3ba4c02b8081afeb36cb7724ab00796", + "sourceName": "contracts/modules/AsyncOrderSettlementModule.sol", + "contractName": "AsyncOrderSettlementModule", + "deployedOn": "contract.AsyncOrderSettlementModule", + "gasUsed": 3033125, + "gasCost": "100000000" + }, + "AtomicOrderModule": { + "address": "0x18141523403e2595D31b22604AcB8Fc06a4CaA61", + "abi": [ + "error ExceedsMaxSynthAmount(uint256 maxSynthAmount, uint256 synthAmountCharged)", + "error ExceedsMaxUsdAmount(uint256 maxUsdAmount, uint256 usdAmountCharged)", + "error InsufficientAmountReceived(uint256 expected, uint256 current)", + "error InvalidMarket(uint128 marketId)", + "error InvalidPrices()", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToInt256()", + "event SynthBought(uint256 indexed synthMarketId, uint256 synthReturned, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 collectedFees, address referrer, uint256 price)", + "event SynthSold(uint256 indexed synthMarketId, uint256 amountReturned, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 collectedFees, address referrer, uint256 price)", + "function buy(uint128 marketId, uint256 usdAmount, uint256 minAmountReceived, address referrer) returns (uint256 synthAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function buyExactIn(uint128 marketId, uint256 usdAmount, uint256 minAmountReceived, address referrer) returns (uint256 synthAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function buyExactOut(uint128 marketId, uint256 synthAmount, uint256 maxUsdAmount, address referrer) returns (uint256 usdAmountCharged, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function getMarketSkew(uint128 marketId) view returns (int256 marketSkew)", + "function quoteBuyExactIn(uint128 marketId, uint256 usdAmount, uint8 stalenessTolerance) view returns (uint256 synthAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function quoteBuyExactOut(uint128 marketId, uint256 synthAmount, uint8 stalenessTolerance) view returns (uint256 usdAmountCharged, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function quoteSellExactIn(uint128 marketId, uint256 synthAmount, uint8 stalenessTolerance) view returns (uint256 returnAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function quoteSellExactOut(uint128 marketId, uint256 usdAmount, uint8 stalenessTolerance) view returns (uint256 synthToBurn, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function sell(uint128 marketId, uint256 synthAmount, uint256 minUsdAmount, address referrer) returns (uint256 usdAmountReceived, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function sellExactIn(uint128 marketId, uint256 synthAmount, uint256 minAmountReceived, address referrer) returns (uint256 returnAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function sellExactOut(uint128 marketId, uint256 usdAmount, uint256 maxSynthAmount, address referrer) returns (uint256 synthToBurn, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x5777ea9a27f84e9d1984f90644614f971728f3c6b495242058aec24156043d71", + "sourceName": "contracts/modules/AtomicOrderModule.sol", + "contractName": "AtomicOrderModule", + "deployedOn": "contract.AtomicOrderModule", + "gasUsed": 3206938, + "gasCost": "100000000" + }, + "CoreModule": { + "address": "0x2933477A4f7b0125D9e7e6B95295c4d6AADb26e7", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xf32da4de987f469b7630346bbbacf9cddcc0aa1d31adbd0445e0405091e2bd63", + "sourceName": "contracts/modules/CoreModule.sol", + "contractName": "CoreModule", + "deployedOn": "contract.CoreModule", + "gasUsed": 1367737, + "gasCost": "100000000" + }, + "FeatureFlagModule": { + "address": "0x5312175CC17Eb3502d73581055d12CE076aB00d1", + "abi": [ + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x106a4173677ca576e29a08810812c7d0994e160dad015e6fe7301c9b90aa7354", + "sourceName": "contracts/modules/FeatureFlagModule.sol", + "contractName": "FeatureFlagModule", + "deployedOn": "contract.FeatureFlagModule", + "gasUsed": 1303482, + "gasCost": "100000000" + }, + "MarketConfigurationModule": { + "address": "0x92b5Be134c562B36fc86E911BA21b8c2488e75E7", + "abi": [ + "error InvalidCollateralLeverage(uint256)", + "error InvalidFeeCollectorInterface(address invalidFeeCollector)", + "error InvalidWrapperFees()", + "error OnlyMarketOwner(address marketOwner, address sender)", + "event AsyncFixedFeeSet(uint256 indexed synthMarketId, uint256 asyncFixedFee)", + "event AtomicFixedFeeSet(uint256 indexed synthMarketId, uint256 atomicFixedFee)", + "event CollateralLeverageSet(uint256 indexed synthMarketId, uint256 collateralLeverage)", + "event FeeCollectorSet(uint256 indexed synthMarketId, address feeCollector)", + "event MarketSkewScaleSet(uint256 indexed synthMarketId, uint256 skewScale)", + "event MarketUtilizationFeesSet(uint256 indexed synthMarketId, uint256 utilizationFeeRate)", + "event ReferrerShareUpdated(uint128 indexed marketId, address referrer, uint256 sharePercentage)", + "event TransactorFixedFeeSet(uint256 indexed synthMarketId, address transactor, uint256 fixedFeeAmount)", + "event WrapperFeesSet(uint256 indexed synthMarketId, int256 wrapFee, int256 unwrapFee)", + "function getCollateralLeverage(uint128 synthMarketId) view returns (uint256 collateralLeverage)", + "function getCustomTransactorFees(uint128 synthMarketId, address transactor) view returns (uint256 fixedFeeAmount)", + "function getFeeCollector(uint128 synthMarketId) view returns (address feeCollector)", + "function getMarketFees(uint128 synthMarketId) view returns (uint256 atomicFixedFee, uint256 asyncFixedFee, int256 wrapFee, int256 unwrapFee)", + "function getMarketSkewScale(uint128 synthMarketId) view returns (uint256 skewScale)", + "function getMarketUtilizationFees(uint128 synthMarketId) view returns (uint256 utilizationFeeRate)", + "function getReferrerShare(uint128 synthMarketId, address referrer) view returns (uint256 sharePercentage)", + "function setAsyncFixedFee(uint128 synthMarketId, uint256 asyncFixedFee)", + "function setAtomicFixedFee(uint128 synthMarketId, uint256 atomicFixedFee)", + "function setCollateralLeverage(uint128 synthMarketId, uint256 collateralLeverage)", + "function setCustomTransactorFees(uint128 synthMarketId, address transactor, uint256 fixedFeeAmount)", + "function setFeeCollector(uint128 synthMarketId, address feeCollector)", + "function setMarketSkewScale(uint128 synthMarketId, uint256 skewScale)", + "function setMarketUtilizationFees(uint128 synthMarketId, uint256 utilizationFeeRate)", + "function setWrapperFees(uint128 synthMarketId, int256 wrapFee, int256 unwrapFee)", + "function updateReferrerShare(uint128 synthMarketId, address referrer, uint256 sharePercentage)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xeb9dda8ec170e04a8e74ef2a92d0ba33d1a20d5f63ecddee09f5ad215a94d255", + "sourceName": "contracts/modules/MarketConfigurationModule.sol", + "contractName": "MarketConfigurationModule", + "deployedOn": "contract.MarketConfigurationModule", + "gasUsed": 1231679, + "gasCost": "100000000" + }, + "SpotMarketFactoryModule": { + "address": "0x5Ba5791d1AeBDDCa9Cc1089727857A41Bfc92aE7", + "abi": [ + "error FeatureUnavailable(bytes32 which)", + "error InvalidMarketOwner()", + "error InvalidSynthImplementation(uint256 synthImplementation)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "error NotNominated(address addr)", + "error OnlyMarketOwner(address marketOwner, address sender)", + "error OverflowInt256ToUint256()", + "error Unauthorized(address addr)", + "error ZeroAddress()", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "event DecayRateUpdated(uint128 indexed marketId, uint256 rate)", + "event MarketNominationRenounced(uint128 indexed marketId, address nominee)", + "event MarketOwnerChanged(uint128 indexed marketId, address oldOwner, address newOwner)", + "event MarketOwnerNominated(uint128 indexed marketId, address newOwner)", + "event SynthImplementationSet(address synthImplementation)", + "event SynthImplementationUpgraded(uint256 indexed synthMarketId, address indexed proxy, address implementation)", + "event SynthPriceDataUpdated(uint256 indexed synthMarketId, bytes32 indexed buyFeedId, bytes32 indexed sellFeedId, uint256 strictStalenessTolerance)", + "event SynthRegistered(uint256 indexed synthMarketId, address synthTokenAddress)", + "event SynthetixSystemSet(address synthetix, address usdTokenAddress, address oracleManager)", + "function acceptMarketOwnership(uint128 synthMarketId)", + "function createSynth(string tokenName, string tokenSymbol, address synthOwner) returns (uint128 synthMarketId)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function getMarketOwner(uint128 synthMarketId) view returns (address marketOwner)", + "function getNominatedMarketOwner(uint128 synthMarketId) view returns (address marketOwner)", + "function getPriceData(uint128 synthMarketId) view returns (bytes32 buyFeedId, bytes32 sellFeedId, uint256 strictPriceStalenessTolerance)", + "function getSynth(uint128 marketId) view returns (address synthAddress)", + "function getSynthImpl(uint128 marketId) view returns (address implAddress)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function minimumCredit(uint128 marketId) view returns (uint256 lockedAmount)", + "function name(uint128 marketId) view returns (string marketName)", + "function nominateMarketOwner(uint128 synthMarketId, address newNominatedOwner)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "function renounceMarketNomination(uint128 synthMarketId)", + "function renounceMarketOwnership(uint128 synthMarketId)", + "function reportedDebt(uint128 marketId) view returns (uint256 reportedDebtAmount)", + "function setDecayRate(uint128 marketId, uint256 rate)", + "function setSynthImplementation(address synthImplementation)", + "function setSynthetix(address synthetix)", + "function supportsInterface(bytes4 interfaceId) view returns (bool isSupported)", + "function updatePriceData(uint128 synthMarketId, bytes32 buyFeedId, bytes32 sellFeedId, uint256 strictPriceStalenessTolerance)", + "function upgradeSynthImpl(uint128 marketId)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x14c4a05ca4a3a94cab9d1b9df09e81de6bcf764b10fcc806e656570f2b328b28", + "sourceName": "contracts/modules/SpotMarketFactoryModule.sol", + "contractName": "SpotMarketFactoryModule", + "deployedOn": "contract.SpotMarketFactoryModule", + "gasUsed": 3530908, + "gasCost": "100000000" + }, + "SynthTokenModule": { + "address": "0x33CE95e433931bD483B29310c6bA961c82E762Cf", + "abi": [ + "error AlreadyInitialized()", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InsufficientBalance(uint256 required, uint256 existing)", + "error InvalidDecayRate()", + "error InvalidParameter(string parameter, string reason)", + "error Unauthorized(address addr)", + "event Approval(address indexed owner, address indexed spender, uint256 amount)", + "event Transfer(address indexed from, address indexed to, uint256 amount)", + "function advanceEpoch() returns (uint256)", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 amount) returns (bool)", + "function balanceOf(address user) view returns (uint256)", + "function burn(address from, uint256 amount)", + "function decayRate() view returns (uint256)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function initialize(string tokenName, string tokenSymbol, uint8 tokenDecimals)", + "function isInitialized() view returns (bool)", + "function mint(address to, uint256 amount)", + "function name() view returns (string)", + "function setAllowance(address from, address spender, uint256 amount)", + "function setDecayRate(uint256 _rate)", + "function symbol() view returns (string)", + "function totalShares() view returns (uint256)", + "function totalSupply() view returns (uint256 supply)", + "function transfer(address to, uint256 amount) returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x380982a39dcc4f9be5a046917a94b225e73c81d031a25cc6e6e27a37e365f87d", + "sourceName": "contracts/modules/token/SynthTokenModule.sol", + "contractName": "SynthTokenModule", + "deployedOn": "contract.SynthTokenModule", + "gasUsed": 1993612, + "gasCost": "100000000" + }, + "WrapperModule": { + "address": "0xD8f5D001A501c3331006D986F6A8f3192754899C", + "abi": [ + "error FailedTransfer(address from, address to, uint256 value)", + "error InsufficientAmountReceived(uint256 expected, uint256 current)", + "error InvalidCollateralType(address configuredCollateralType)", + "error InvalidMarket(uint128 marketId)", + "error OnlyMarketOwner(address marketOwner, address sender)", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToInt256()", + "error WrapperExceedsMaxAmount(uint256 maxWrappableAmount, uint256 currentSupply, uint256 amountToWrap)", + "event SynthUnwrapped(uint256 indexed synthMarketId, uint256 amountUnwrapped, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 feesCollected)", + "event SynthWrapped(uint256 indexed synthMarketId, uint256 amountWrapped, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 feesCollected)", + "event WrapperSet(uint256 indexed synthMarketId, address indexed wrapCollateralType, uint256 maxWrappableAmount)", + "function getWrapper(uint128 marketId) view returns (address wrapCollateralType, uint256 maxWrappableAmount)", + "function setWrapper(uint128 marketId, address wrapCollateralType, uint256 maxWrappableAmount)", + "function unwrap(uint128 marketId, uint256 unwrapAmount, uint256 minAmountReceived) returns (uint256 returnCollateralAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function wrap(uint128 marketId, uint256 wrapAmount, uint256 minAmountReceived) returns (uint256 amountToMint, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xf5e714c67c04cf0ea04fd336d099fc5cebabd7af636f6c662042f9d1ce740c06", + "sourceName": "contracts/modules/WrapperModule.sol", + "contractName": "WrapperModule", + "deployedOn": "contract.WrapperModule", + "gasUsed": 2628906, + "gasCost": "100000000" + }, + "InitialSpotMarketProxy": { + "address": "0x4BeadB0CaC85b4E3F2F3E71bDc0624FA60260a74", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)" + ], + "constructorArgs": [ + "0x2933477A4f7b0125D9e7e6B95295c4d6AADb26e7", + "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + ], + "linkedLibraries": {}, + "deployTxnHash": "0x81e4ceb9d9c3c86de2f73a5e9f929db47bee31a941ef947eeb3ca2a170c9339a", + "sourceName": "contracts/Proxy.sol", + "contractName": "Proxy", + "deployedOn": "contract.InitialSpotMarketProxy", + "gasUsed": 466386, + "gasCost": "100000000" + }, + "SpotMarketRouter": { + "address": "0x6e6b88c6c8c9483d9721d62239070c4a20aee74f", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error FeatureUnavailable(bytes32 which)", + "error InvalidMarketOwner()", + "error InvalidSynthImplementation(uint256 synthImplementation)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "error OnlyMarketOwner(address marketOwner, address sender)", + "error OverflowInt256ToUint256()", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "event DecayRateUpdated(uint128 indexed marketId, uint256 rate)", + "event MarketNominationRenounced(uint128 indexed marketId, address nominee)", + "event MarketOwnerChanged(uint128 indexed marketId, address oldOwner, address newOwner)", + "event MarketOwnerNominated(uint128 indexed marketId, address newOwner)", + "event SynthImplementationSet(address synthImplementation)", + "event SynthImplementationUpgraded(uint256 indexed synthMarketId, address indexed proxy, address implementation)", + "event SynthPriceDataUpdated(uint256 indexed synthMarketId, bytes32 indexed buyFeedId, bytes32 indexed sellFeedId, uint256 strictStalenessTolerance)", + "event SynthRegistered(uint256 indexed synthMarketId, address synthTokenAddress)", + "event SynthetixSystemSet(address synthetix, address usdTokenAddress, address oracleManager)", + "function acceptMarketOwnership(uint128 synthMarketId)", + "function createSynth(string tokenName, string tokenSymbol, address synthOwner) returns (uint128 synthMarketId)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function getMarketOwner(uint128 synthMarketId) view returns (address marketOwner)", + "function getNominatedMarketOwner(uint128 synthMarketId) view returns (address marketOwner)", + "function getPriceData(uint128 synthMarketId) view returns (bytes32 buyFeedId, bytes32 sellFeedId, uint256 strictPriceStalenessTolerance)", + "function getSynth(uint128 marketId) view returns (address synthAddress)", + "function getSynthImpl(uint128 marketId) view returns (address implAddress)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function minimumCredit(uint128 marketId) view returns (uint256 lockedAmount)", + "function name(uint128 marketId) view returns (string marketName)", + "function nominateMarketOwner(uint128 synthMarketId, address newNominatedOwner)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "function renounceMarketNomination(uint128 synthMarketId)", + "function renounceMarketOwnership(uint128 synthMarketId)", + "function reportedDebt(uint128 marketId) view returns (uint256 reportedDebtAmount)", + "function setDecayRate(uint128 marketId, uint256 rate)", + "function setSynthImplementation(address synthImplementation)", + "function setSynthetix(address synthetix)", + "function supportsInterface(bytes4 interfaceId) view returns (bool isSupported)", + "function updatePriceData(uint128 synthMarketId, bytes32 buyFeedId, bytes32 sellFeedId, uint256 strictPriceStalenessTolerance)", + "function upgradeSynthImpl(uint128 marketId)", + "error ExceedsMaxSynthAmount(uint256 maxSynthAmount, uint256 synthAmountCharged)", + "error ExceedsMaxUsdAmount(uint256 maxUsdAmount, uint256 usdAmountCharged)", + "error InsufficientAmountReceived(uint256 expected, uint256 current)", + "error InvalidMarket(uint128 marketId)", + "error InvalidPrices()", + "error OverflowUint256ToInt256()", + "event SynthBought(uint256 indexed synthMarketId, uint256 synthReturned, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 collectedFees, address referrer, uint256 price)", + "event SynthSold(uint256 indexed synthMarketId, uint256 amountReturned, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 collectedFees, address referrer, uint256 price)", + "function buy(uint128 marketId, uint256 usdAmount, uint256 minAmountReceived, address referrer) returns (uint256 synthAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function buyExactIn(uint128 marketId, uint256 usdAmount, uint256 minAmountReceived, address referrer) returns (uint256 synthAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function buyExactOut(uint128 marketId, uint256 synthAmount, uint256 maxUsdAmount, address referrer) returns (uint256 usdAmountCharged, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function getMarketSkew(uint128 marketId) view returns (int256 marketSkew)", + "function quoteBuyExactIn(uint128 marketId, uint256 usdAmount, uint8 stalenessTolerance) view returns (uint256 synthAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function quoteBuyExactOut(uint128 marketId, uint256 synthAmount, uint8 stalenessTolerance) view returns (uint256 usdAmountCharged, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function quoteSellExactIn(uint128 marketId, uint256 synthAmount, uint8 stalenessTolerance) view returns (uint256 returnAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function quoteSellExactOut(uint128 marketId, uint256 usdAmount, uint8 stalenessTolerance) view returns (uint256 synthToBurn, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function sell(uint128 marketId, uint256 synthAmount, uint256 minUsdAmount, address referrer) returns (uint256 usdAmountReceived, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function sellExactIn(uint128 marketId, uint256 synthAmount, uint256 minAmountReceived, address referrer) returns (uint256 returnAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function sellExactOut(uint128 marketId, uint256 usdAmount, uint256 maxSynthAmount, address referrer) returns (uint256 synthToBurn, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "error IneligibleForCancellation(uint256 timestamp, uint256 expirationTime)", + "error InsufficientSharesAmount(uint256 expected, uint256 actual)", + "error InvalidAsyncTransactionType(uint8 transactionType)", + "error InvalidClaim(uint256 asyncOrderId)", + "error InvalidCommitmentAmount(uint256 minimumAmount, uint256 amount)", + "error InvalidSettlementStrategy(uint256 settlementStrategyId)", + "error OrderAlreadySettled(uint256 asyncOrderId, uint256 settledAt)", + "event OrderCancelled(uint128 indexed marketId, uint128 indexed asyncOrderId, tuple(uint128 id, address owner, uint8 orderType, uint256 amountEscrowed, uint256 settlementStrategyId, uint256 commitmentTime, uint256 minimumSettlementAmount, uint256 settledAt, address referrer) asyncOrderClaim, address indexed sender)", + "event OrderCommitted(uint128 indexed marketId, uint8 indexed orderType, uint256 amountProvided, uint128 asyncOrderId, address indexed sender, address referrer)", + "function cancelOrder(uint128 marketId, uint128 asyncOrderId)", + "function commitOrder(uint128 marketId, uint8 orderType, uint256 amountProvided, uint256 settlementStrategyId, uint256 minimumSettlementAmount, address referrer) returns (tuple(uint128 id, address owner, uint8 orderType, uint256 amountEscrowed, uint256 settlementStrategyId, uint256 commitmentTime, uint256 minimumSettlementAmount, uint256 settledAt, address referrer) asyncOrderClaim)", + "function getAsyncOrderClaim(uint128 marketId, uint128 asyncOrderId) pure returns (tuple(uint128 id, address owner, uint8 orderType, uint256 amountEscrowed, uint256 settlementStrategyId, uint256 commitmentTime, uint256 minimumSettlementAmount, uint256 settledAt, address referrer) asyncOrderClaim)", + "error InvalidSettlementStrategy(uint8 strategyType)", + "error InvalidVerificationResponse()", + "error MinimumSettlementAmountNotMet(uint256 minimum, uint256 actual)", + "error OutsideSettlementWindow(uint256 timestamp, uint256 startTime, uint256 expirationTime)", + "error OverflowUint256ToUint64()", + "error SettlementStrategyNotFound(uint8 strategyType)", + "event OrderSettled(uint128 indexed marketId, uint128 indexed asyncOrderId, uint256 finalOrderAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 collectedFees, address indexed settler, uint256 price, uint8 orderType)", + "function settleOrder(uint128 marketId, uint128 asyncOrderId) returns (uint256 finalOrderAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "error InvalidSettlementWindowDuration(uint256 duration)", + "event SettlementStrategyAdded(uint128 indexed synthMarketId, uint256 indexed strategyId)", + "event SettlementStrategySet(uint128 indexed synthMarketId, uint256 indexed strategyId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) strategy)", + "function addSettlementStrategy(uint128 marketId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) strategy) returns (uint256 strategyId)", + "function getSettlementStrategy(uint128 marketId, uint256 strategyId) view returns (tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) settlementStrategy)", + "function setSettlementStrategy(uint128 marketId, uint256 strategyId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) strategy)", + "function setSettlementStrategyEnabled(uint128 marketId, uint256 strategyId, bool enabled)", + "error FailedTransfer(address from, address to, uint256 value)", + "error InvalidCollateralType(address configuredCollateralType)", + "error WrapperExceedsMaxAmount(uint256 maxWrappableAmount, uint256 currentSupply, uint256 amountToWrap)", + "event SynthUnwrapped(uint256 indexed synthMarketId, uint256 amountUnwrapped, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 feesCollected)", + "event SynthWrapped(uint256 indexed synthMarketId, uint256 amountWrapped, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 feesCollected)", + "event WrapperSet(uint256 indexed synthMarketId, address indexed wrapCollateralType, uint256 maxWrappableAmount)", + "function getWrapper(uint128 marketId) view returns (address wrapCollateralType, uint256 maxWrappableAmount)", + "function setWrapper(uint128 marketId, address wrapCollateralType, uint256 maxWrappableAmount)", + "function unwrap(uint128 marketId, uint256 unwrapAmount, uint256 minAmountReceived) returns (uint256 returnCollateralAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function wrap(uint128 marketId, uint256 wrapAmount, uint256 minAmountReceived) returns (uint256 amountToMint, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "error InvalidCollateralLeverage(uint256)", + "error InvalidFeeCollectorInterface(address invalidFeeCollector)", + "error InvalidWrapperFees()", + "event AsyncFixedFeeSet(uint256 indexed synthMarketId, uint256 asyncFixedFee)", + "event AtomicFixedFeeSet(uint256 indexed synthMarketId, uint256 atomicFixedFee)", + "event CollateralLeverageSet(uint256 indexed synthMarketId, uint256 collateralLeverage)", + "event FeeCollectorSet(uint256 indexed synthMarketId, address feeCollector)", + "event MarketSkewScaleSet(uint256 indexed synthMarketId, uint256 skewScale)", + "event MarketUtilizationFeesSet(uint256 indexed synthMarketId, uint256 utilizationFeeRate)", + "event ReferrerShareUpdated(uint128 indexed marketId, address referrer, uint256 sharePercentage)", + "event TransactorFixedFeeSet(uint256 indexed synthMarketId, address transactor, uint256 fixedFeeAmount)", + "event WrapperFeesSet(uint256 indexed synthMarketId, int256 wrapFee, int256 unwrapFee)", + "function getCollateralLeverage(uint128 synthMarketId) view returns (uint256 collateralLeverage)", + "function getCustomTransactorFees(uint128 synthMarketId, address transactor) view returns (uint256 fixedFeeAmount)", + "function getFeeCollector(uint128 synthMarketId) view returns (address feeCollector)", + "function getMarketFees(uint128 synthMarketId) view returns (uint256 atomicFixedFee, uint256 asyncFixedFee, int256 wrapFee, int256 unwrapFee)", + "function getMarketSkewScale(uint128 synthMarketId) view returns (uint256 skewScale)", + "function getMarketUtilizationFees(uint128 synthMarketId) view returns (uint256 utilizationFeeRate)", + "function getReferrerShare(uint128 synthMarketId, address referrer) view returns (uint256 sharePercentage)", + "function setAsyncFixedFee(uint128 synthMarketId, uint256 asyncFixedFee)", + "function setAtomicFixedFee(uint128 synthMarketId, uint256 atomicFixedFee)", + "function setCollateralLeverage(uint128 synthMarketId, uint256 collateralLeverage)", + "function setCustomTransactorFees(uint128 synthMarketId, address transactor, uint256 fixedFeeAmount)", + "function setFeeCollector(uint128 synthMarketId, address feeCollector)", + "function setMarketSkewScale(uint128 synthMarketId, uint256 skewScale)", + "function setMarketUtilizationFees(uint128 synthMarketId, uint256 utilizationFeeRate)", + "function setWrapperFees(uint128 synthMarketId, int256 wrapFee, int256 unwrapFee)", + "function updateReferrerShare(uint128 synthMarketId, address referrer, uint256 sharePercentage)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)" + ], + "deployedOn": "router.SpotMarketRouter", + "deployTxnHash": "0xa73c16d80784138c9f703d212c8370008b992cbb3904a81df56f0fa15b8cf991", + "contractName": "SpotMarketRouter", + "sourceName": "SpotMarketRouter.sol", + "gasUsed": 1278771, + "gasCost": "100000000" + }, + "SynthRouter": { + "address": "0xdd43b9413249835104e5b1ff86f16ddc5e073815", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error AlreadyInitialized()", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InsufficientBalance(uint256 required, uint256 existing)", + "error InvalidDecayRate()", + "error InvalidParameter(string parameter, string reason)", + "event Approval(address indexed owner, address indexed spender, uint256 amount)", + "event Transfer(address indexed from, address indexed to, uint256 amount)", + "function advanceEpoch() returns (uint256)", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 amount) returns (bool)", + "function balanceOf(address user) view returns (uint256)", + "function burn(address from, uint256 amount)", + "function decayRate() view returns (uint256)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function initialize(string tokenName, string tokenSymbol, uint8 tokenDecimals)", + "function isInitialized() view returns (bool)", + "function mint(address to, uint256 amount)", + "function name() view returns (string)", + "function setAllowance(address from, address spender, uint256 amount)", + "function setDecayRate(uint256 _rate)", + "function symbol() view returns (string)", + "function totalShares() view returns (uint256)", + "function totalSupply() view returns (uint256 supply)", + "function transfer(address to, uint256 amount) returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)" + ], + "deployedOn": "router.SynthRouter", + "deployTxnHash": "0xad29c49f70a2c71cbe9fd9dcab49f9b4e525bebc14bb72f41feb02d89357daa9", + "contractName": "SynthRouter", + "sourceName": "SynthRouter.sol", + "gasUsed": 577871, + "gasCost": "100000000" + }, + "SpotMarketProxy": { + "address": "0x4BeadB0CaC85b4E3F2F3E71bDc0624FA60260a74", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error FeatureUnavailable(bytes32 which)", + "error InvalidMarketOwner()", + "error InvalidSynthImplementation(uint256 synthImplementation)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "error OnlyMarketOwner(address marketOwner, address sender)", + "error OverflowInt256ToUint256()", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "event DecayRateUpdated(uint128 indexed marketId, uint256 rate)", + "event MarketNominationRenounced(uint128 indexed marketId, address nominee)", + "event MarketOwnerChanged(uint128 indexed marketId, address oldOwner, address newOwner)", + "event MarketOwnerNominated(uint128 indexed marketId, address newOwner)", + "event SynthImplementationSet(address synthImplementation)", + "event SynthImplementationUpgraded(uint256 indexed synthMarketId, address indexed proxy, address implementation)", + "event SynthPriceDataUpdated(uint256 indexed synthMarketId, bytes32 indexed buyFeedId, bytes32 indexed sellFeedId, uint256 strictStalenessTolerance)", + "event SynthRegistered(uint256 indexed synthMarketId, address synthTokenAddress)", + "event SynthetixSystemSet(address synthetix, address usdTokenAddress, address oracleManager)", + "function acceptMarketOwnership(uint128 synthMarketId)", + "function createSynth(string tokenName, string tokenSymbol, address synthOwner) returns (uint128 synthMarketId)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function getMarketOwner(uint128 synthMarketId) view returns (address marketOwner)", + "function getNominatedMarketOwner(uint128 synthMarketId) view returns (address marketOwner)", + "function getPriceData(uint128 synthMarketId) view returns (bytes32 buyFeedId, bytes32 sellFeedId, uint256 strictPriceStalenessTolerance)", + "function getSynth(uint128 marketId) view returns (address synthAddress)", + "function getSynthImpl(uint128 marketId) view returns (address implAddress)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function minimumCredit(uint128 marketId) view returns (uint256 lockedAmount)", + "function name(uint128 marketId) view returns (string marketName)", + "function nominateMarketOwner(uint128 synthMarketId, address newNominatedOwner)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "function renounceMarketNomination(uint128 synthMarketId)", + "function renounceMarketOwnership(uint128 synthMarketId)", + "function reportedDebt(uint128 marketId) view returns (uint256 reportedDebtAmount)", + "function setDecayRate(uint128 marketId, uint256 rate)", + "function setSynthImplementation(address synthImplementation)", + "function setSynthetix(address synthetix)", + "function supportsInterface(bytes4 interfaceId) view returns (bool isSupported)", + "function updatePriceData(uint128 synthMarketId, bytes32 buyFeedId, bytes32 sellFeedId, uint256 strictPriceStalenessTolerance)", + "function upgradeSynthImpl(uint128 marketId)", + "error ExceedsMaxSynthAmount(uint256 maxSynthAmount, uint256 synthAmountCharged)", + "error ExceedsMaxUsdAmount(uint256 maxUsdAmount, uint256 usdAmountCharged)", + "error InsufficientAmountReceived(uint256 expected, uint256 current)", + "error InvalidMarket(uint128 marketId)", + "error InvalidPrices()", + "error OverflowUint256ToInt256()", + "event SynthBought(uint256 indexed synthMarketId, uint256 synthReturned, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 collectedFees, address referrer, uint256 price)", + "event SynthSold(uint256 indexed synthMarketId, uint256 amountReturned, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 collectedFees, address referrer, uint256 price)", + "function buy(uint128 marketId, uint256 usdAmount, uint256 minAmountReceived, address referrer) returns (uint256 synthAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function buyExactIn(uint128 marketId, uint256 usdAmount, uint256 minAmountReceived, address referrer) returns (uint256 synthAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function buyExactOut(uint128 marketId, uint256 synthAmount, uint256 maxUsdAmount, address referrer) returns (uint256 usdAmountCharged, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function getMarketSkew(uint128 marketId) view returns (int256 marketSkew)", + "function quoteBuyExactIn(uint128 marketId, uint256 usdAmount, uint8 stalenessTolerance) view returns (uint256 synthAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function quoteBuyExactOut(uint128 marketId, uint256 synthAmount, uint8 stalenessTolerance) view returns (uint256 usdAmountCharged, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function quoteSellExactIn(uint128 marketId, uint256 synthAmount, uint8 stalenessTolerance) view returns (uint256 returnAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function quoteSellExactOut(uint128 marketId, uint256 usdAmount, uint8 stalenessTolerance) view returns (uint256 synthToBurn, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function sell(uint128 marketId, uint256 synthAmount, uint256 minUsdAmount, address referrer) returns (uint256 usdAmountReceived, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function sellExactIn(uint128 marketId, uint256 synthAmount, uint256 minAmountReceived, address referrer) returns (uint256 returnAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function sellExactOut(uint128 marketId, uint256 usdAmount, uint256 maxSynthAmount, address referrer) returns (uint256 synthToBurn, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "error IneligibleForCancellation(uint256 timestamp, uint256 expirationTime)", + "error InsufficientSharesAmount(uint256 expected, uint256 actual)", + "error InvalidAsyncTransactionType(uint8 transactionType)", + "error InvalidClaim(uint256 asyncOrderId)", + "error InvalidCommitmentAmount(uint256 minimumAmount, uint256 amount)", + "error InvalidSettlementStrategy(uint256 settlementStrategyId)", + "error OrderAlreadySettled(uint256 asyncOrderId, uint256 settledAt)", + "event OrderCancelled(uint128 indexed marketId, uint128 indexed asyncOrderId, tuple(uint128 id, address owner, uint8 orderType, uint256 amountEscrowed, uint256 settlementStrategyId, uint256 commitmentTime, uint256 minimumSettlementAmount, uint256 settledAt, address referrer) asyncOrderClaim, address indexed sender)", + "event OrderCommitted(uint128 indexed marketId, uint8 indexed orderType, uint256 amountProvided, uint128 asyncOrderId, address indexed sender, address referrer)", + "function cancelOrder(uint128 marketId, uint128 asyncOrderId)", + "function commitOrder(uint128 marketId, uint8 orderType, uint256 amountProvided, uint256 settlementStrategyId, uint256 minimumSettlementAmount, address referrer) returns (tuple(uint128 id, address owner, uint8 orderType, uint256 amountEscrowed, uint256 settlementStrategyId, uint256 commitmentTime, uint256 minimumSettlementAmount, uint256 settledAt, address referrer) asyncOrderClaim)", + "function getAsyncOrderClaim(uint128 marketId, uint128 asyncOrderId) pure returns (tuple(uint128 id, address owner, uint8 orderType, uint256 amountEscrowed, uint256 settlementStrategyId, uint256 commitmentTime, uint256 minimumSettlementAmount, uint256 settledAt, address referrer) asyncOrderClaim)", + "error InvalidSettlementStrategy(uint8 strategyType)", + "error InvalidVerificationResponse()", + "error MinimumSettlementAmountNotMet(uint256 minimum, uint256 actual)", + "error OutsideSettlementWindow(uint256 timestamp, uint256 startTime, uint256 expirationTime)", + "error OverflowUint256ToUint64()", + "error SettlementStrategyNotFound(uint8 strategyType)", + "event OrderSettled(uint128 indexed marketId, uint128 indexed asyncOrderId, uint256 finalOrderAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 collectedFees, address indexed settler, uint256 price, uint8 orderType)", + "function settleOrder(uint128 marketId, uint128 asyncOrderId) returns (uint256 finalOrderAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "error InvalidSettlementWindowDuration(uint256 duration)", + "event SettlementStrategyAdded(uint128 indexed synthMarketId, uint256 indexed strategyId)", + "event SettlementStrategySet(uint128 indexed synthMarketId, uint256 indexed strategyId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) strategy)", + "function addSettlementStrategy(uint128 marketId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) strategy) returns (uint256 strategyId)", + "function getSettlementStrategy(uint128 marketId, uint256 strategyId) view returns (tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) settlementStrategy)", + "function setSettlementStrategy(uint128 marketId, uint256 strategyId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) strategy)", + "function setSettlementStrategyEnabled(uint128 marketId, uint256 strategyId, bool enabled)", + "error FailedTransfer(address from, address to, uint256 value)", + "error InvalidCollateralType(address configuredCollateralType)", + "error WrapperExceedsMaxAmount(uint256 maxWrappableAmount, uint256 currentSupply, uint256 amountToWrap)", + "event SynthUnwrapped(uint256 indexed synthMarketId, uint256 amountUnwrapped, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 feesCollected)", + "event SynthWrapped(uint256 indexed synthMarketId, uint256 amountWrapped, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 feesCollected)", + "event WrapperSet(uint256 indexed synthMarketId, address indexed wrapCollateralType, uint256 maxWrappableAmount)", + "function getWrapper(uint128 marketId) view returns (address wrapCollateralType, uint256 maxWrappableAmount)", + "function setWrapper(uint128 marketId, address wrapCollateralType, uint256 maxWrappableAmount)", + "function unwrap(uint128 marketId, uint256 unwrapAmount, uint256 minAmountReceived) returns (uint256 returnCollateralAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function wrap(uint128 marketId, uint256 wrapAmount, uint256 minAmountReceived) returns (uint256 amountToMint, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "error InvalidCollateralLeverage(uint256)", + "error InvalidFeeCollectorInterface(address invalidFeeCollector)", + "error InvalidWrapperFees()", + "event AsyncFixedFeeSet(uint256 indexed synthMarketId, uint256 asyncFixedFee)", + "event AtomicFixedFeeSet(uint256 indexed synthMarketId, uint256 atomicFixedFee)", + "event CollateralLeverageSet(uint256 indexed synthMarketId, uint256 collateralLeverage)", + "event FeeCollectorSet(uint256 indexed synthMarketId, address feeCollector)", + "event MarketSkewScaleSet(uint256 indexed synthMarketId, uint256 skewScale)", + "event MarketUtilizationFeesSet(uint256 indexed synthMarketId, uint256 utilizationFeeRate)", + "event ReferrerShareUpdated(uint128 indexed marketId, address referrer, uint256 sharePercentage)", + "event TransactorFixedFeeSet(uint256 indexed synthMarketId, address transactor, uint256 fixedFeeAmount)", + "event WrapperFeesSet(uint256 indexed synthMarketId, int256 wrapFee, int256 unwrapFee)", + "function getCollateralLeverage(uint128 synthMarketId) view returns (uint256 collateralLeverage)", + "function getCustomTransactorFees(uint128 synthMarketId, address transactor) view returns (uint256 fixedFeeAmount)", + "function getFeeCollector(uint128 synthMarketId) view returns (address feeCollector)", + "function getMarketFees(uint128 synthMarketId) view returns (uint256 atomicFixedFee, uint256 asyncFixedFee, int256 wrapFee, int256 unwrapFee)", + "function getMarketSkewScale(uint128 synthMarketId) view returns (uint256 skewScale)", + "function getMarketUtilizationFees(uint128 synthMarketId) view returns (uint256 utilizationFeeRate)", + "function getReferrerShare(uint128 synthMarketId, address referrer) view returns (uint256 sharePercentage)", + "function setAsyncFixedFee(uint128 synthMarketId, uint256 asyncFixedFee)", + "function setAtomicFixedFee(uint128 synthMarketId, uint256 atomicFixedFee)", + "function setCollateralLeverage(uint128 synthMarketId, uint256 collateralLeverage)", + "function setCustomTransactorFees(uint128 synthMarketId, address transactor, uint256 fixedFeeAmount)", + "function setFeeCollector(uint128 synthMarketId, address feeCollector)", + "function setMarketSkewScale(uint128 synthMarketId, uint256 skewScale)", + "function setMarketUtilizationFees(uint128 synthMarketId, uint256 utilizationFeeRate)", + "function setWrapperFees(uint128 synthMarketId, int256 wrapFee, int256 unwrapFee)", + "function updateReferrerShare(uint128 synthMarketId, address referrer, uint256 sharePercentage)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)" + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.upgradeSpotMarketProxy", + "gasUsed": 0, + "gasCost": "0", + "highlight": true + } + }, + "imports": { + "synthetix": { + "url": "ipfs://QmQgBJxBPDJ3hfFex2SKSihRSdBBomUmaL3r7ja24Ap8Go", + "contracts": { + "AccountModule": { + "address": "0xBb0CBCa9CE28a8C6c7Aaa13584A76c0B1a35Fff7", + "abi": [ + "error FeatureUnavailable(bytes32 which)", + "error InvalidAccountId(uint128 accountId)", + "error InvalidPermission(bytes32 permission)", + "error OnlyAccountTokenProxy(address origin)", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PermissionNotGranted(uint128 accountId, bytes32 permission, address user)", + "error PositionOutOfBounds()", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "error ZeroAddress()", + "event AccountCreated(uint128 indexed accountId, address indexed owner)", + "event PermissionGranted(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "event PermissionRevoked(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "function createAccount() returns (uint128 accountId)", + "function createAccount(uint128 requestedAccountId)", + "function getAccountLastInteraction(uint128 accountId) view returns (uint256)", + "function getAccountOwner(uint128 accountId) view returns (address)", + "function getAccountPermissions(uint128 accountId) view returns (tuple(address user, bytes32[] permissions)[] accountPerms)", + "function getAccountTokenAddress() view returns (address)", + "function grantPermission(uint128 accountId, bytes32 permission, address user)", + "function hasPermission(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function isAuthorized(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function notifyAccountTransfer(address to, uint128 accountId)", + "function renouncePermission(uint128 accountId, bytes32 permission)", + "function revokePermission(uint128 accountId, bytes32 permission, address user)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x18d83342552a8c747220ab5bca9b844b0dcaf6fcc36cf676afacaccb99514d2d", + "sourceName": "contracts/modules/core/AccountModule.sol", + "contractName": "AccountModule", + "deployedOn": "contract.AccountModule", + "gasUsed": 1962339, + "gasCost": "100000000" + }, + "AccountTokenModule": { + "address": "0xd1e00870D19AB306a255Eaf6161cbeb78730F501", + "abi": [ + "error AlreadyInitialized()", + "error CannotSelfApprove(address addr)", + "error IndexOverrun(uint256 requestedIndex, uint256 length)", + "error InvalidOwner(address addr)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidTransferRecipient(address addr)", + "error OverflowUint256ToUint128()", + "error TokenAlreadyMinted(uint256 id)", + "error TokenDoesNotExist(uint256 id)", + "error Unauthorized(address addr)", + "error ZeroAddress()", + "event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)", + "event ApprovalForAll(address indexed owner, address indexed operator, bool approved)", + "event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)", + "function approve(address to, uint256 tokenId)", + "function balanceOf(address holder) view returns (uint256 balance)", + "function burn(uint256 tokenId)", + "function getApproved(uint256 tokenId) view returns (address operator)", + "function initialize(string tokenName, string tokenSymbol, string uri)", + "function isApprovedForAll(address holder, address operator) view returns (bool)", + "function isInitialized() view returns (bool)", + "function mint(address to, uint256 tokenId)", + "function name() view returns (string)", + "function ownerOf(uint256 tokenId) view returns (address)", + "function safeMint(address to, uint256 tokenId, bytes data)", + "function safeTransferFrom(address from, address to, uint256 tokenId)", + "function safeTransferFrom(address from, address to, uint256 tokenId, bytes data)", + "function setAllowance(uint256 tokenId, address spender)", + "function setApprovalForAll(address operator, bool approved)", + "function setBaseTokenURI(string uri)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function symbol() view returns (string)", + "function tokenByIndex(uint256 index) view returns (uint256)", + "function tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)", + "function tokenURI(uint256 tokenId) view returns (string)", + "function totalSupply() view returns (uint256)", + "function transferFrom(address from, address to, uint256 tokenId)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xfee543f5f83c14bac68bc9c40b1a7905dadccf684d93eb48bf7321a8ef89336c", + "sourceName": "contracts/modules/account/AccountTokenModule.sol", + "contractName": "AccountTokenModule", + "deployedOn": "contract.AccountTokenModule", + "gasUsed": 2864034, + "gasCost": "100000000" + }, + "AssociateDebtModule": { + "address": "0x7e5fF045f228075e759355a15B80d48BBBb9A1bC", + "abi": [ + "error AccountNotFound(uint128 accountId)", + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)", + "error MarketNotFound(uint128 marketId)", + "error NotFundedByPool(uint256 marketId, uint256 poolId)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error Unauthorized(address addr)", + "event DebtAssociated(uint128 indexed marketId, uint128 indexed poolId, address indexed collateralType, uint128 accountId, uint256 amount, int256 updatedDebt)", + "function associateDebt(uint128 marketId, uint128 poolId, address collateralType, uint128 accountId, uint256 amount) returns (int256)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x43152c69f60de40bd7e2f223461d2b5272a76791ea70723e53452e75f7122d35", + "sourceName": "contracts/modules/core/AssociateDebtModule.sol", + "contractName": "AssociateDebtModule", + "deployedOn": "contract.AssociateDebtModule", + "gasUsed": 3586947, + "gasCost": "100000000" + }, + "AssociatedSystemsModule": { + "address": "0xD5FcCd43205CEF11FbaF9b38dF15ADbe1B186869", + "abi": [ + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "error Unauthorized(address addr)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x2fcb1d5c7aaedfa113657d4d597a88c9f091b98d35410c04ae5848a12f78aeb9", + "sourceName": "contracts/modules/associated-systems/AssociatedSystemsModule.sol", + "contractName": "AssociatedSystemsModule", + "deployedOn": "contract.AssociatedSystemsModule", + "gasUsed": 1373337, + "gasCost": "100000000" + }, + "CcipReceiverModule": { + "address": "0xd10cd91683301c8C15eDA40F59e73d1b0BcfECDD", + "abi": [ + "error InvalidMessage()", + "error NotCcipRouter(address)", + "error Unauthorized(address addr)", + "error UnsupportedNetwork(uint64)", + "function ccipReceive(tuple(bytes32 messageId, uint64 sourceChainSelector, bytes sender, bytes data, tuple(address token, uint256 amount)[] tokenAmounts) message)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x020b837f84bd556165a2206df8477d44b3317d357b0f0e6220d9918d3b853276", + "sourceName": "contracts/modules/core/CcipReceiverModule.sol", + "contractName": "CcipReceiverModule", + "deployedOn": "contract.CcipReceiverModule", + "gasUsed": 802040, + "gasCost": "100000000" + }, + "CollateralConfigurationModule": { + "address": "0x3091AcaEAF27985F33a8a4b0EefEa49dc60c8506", + "abi": [ + "error InvalidParameter(string parameter, string reason)", + "error OverflowInt256ToUint256()", + "error PositionOutOfBounds()", + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "event CollateralConfigured(address indexed collateralType, tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function configureCollateral(tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function getCollateralConfiguration(address collateralType) pure returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18))", + "function getCollateralConfigurations(bool hideDisabled) view returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18)[])", + "function getCollateralPrice(address collateralType) view returns (uint256)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x9b2d5789720e5d906a359b0b9a1d27a6f5b1af1b8af9675b109294aae00fe1d6", + "sourceName": "contracts/modules/core/CollateralConfigurationModule.sol", + "contractName": "CollateralConfigurationModule", + "deployedOn": "contract.CollateralConfigurationModule", + "gasUsed": 1370165, + "gasCost": "100000000" + }, + "CollateralModule": { + "address": "0x0DAeA0367d7b82644C4db4D992cF4ba39c8A359C", + "abi": [ + "error AccountActivityTimeoutPending(uint128 accountId, uint256 currentTime, uint256 requiredTime)", + "error AccountNotFound(uint128 accountId)", + "error CollateralDepositDisabled(address collateralType)", + "error CollateralNotFound()", + "error FailedTransfer(address from, address to, uint256 value)", + "error FeatureUnavailable(bytes32 which)", + "error InsufficentAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)", + "error InsufficientAccountCollateral(uint256 amount)", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToUint128()", + "error OverflowUint256ToUint64()", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PositionOutOfBounds()", + "error PrecisionLost(uint256 tokenAmount, uint8 decimals)", + "event CollateralLockCreated(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event CollateralLockExpired(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event Deposited(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "event Withdrawn(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "function cleanExpiredLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) returns (uint256 cleared)", + "function createLock(uint128 accountId, address collateralType, uint256 amount, uint64 expireTimestamp)", + "function deposit(uint128 accountId, address collateralType, uint256 tokenAmount)", + "function getAccountAvailableCollateral(uint128 accountId, address collateralType) view returns (uint256)", + "function getAccountCollateral(uint128 accountId, address collateralType) view returns (uint256 totalDeposited, uint256 totalAssigned, uint256 totalLocked)", + "function getLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) view returns (tuple(uint128 amountD18, uint64 lockExpirationTime)[] locks)", + "function withdraw(uint128 accountId, address collateralType, uint256 tokenAmount)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x82bc4461a9fcefbb2f74a229effeed0b58e8aa5ceefedb585daf27e70209e21e", + "sourceName": "contracts/modules/core/CollateralModule.sol", + "contractName": "CollateralModule", + "deployedOn": "contract.CollateralModule", + "gasUsed": 2834863, + "gasCost": "100000000" + }, + "CrossChainUSDModule": { + "address": "0x978D4b5438D3E4EDf4f03682e5A53b48E56604c5", + "abi": [ + "error FeatureUnavailable(bytes32 which)", + "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "event TransferCrossChainInitiated(uint64 indexed destChainId, uint256 indexed amount, address sender)", + "function transferCrossChain(uint64 destChainId, uint256 amount) payable returns (uint256 gasTokenUsed)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xc4942e90cd4588ad332c5069e2be4435800f7030ccd5bafb5f73d3990e258281", + "sourceName": "contracts/modules/core/CrossChainUSDModule.sol", + "contractName": "CrossChainUSDModule", + "deployedOn": "contract.CrossChainUSDModule", + "gasUsed": 1016259, + "gasCost": "100000000" + }, + "FeatureFlagModule": { + "address": "0xb16a8B06318C78c274f3BBc5CC5C9191B0d0c1A3", + "abi": [ + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x55f518a183a88388ec3f3ae305aec581f42c346ef73fac81681f1ac19aa40805", + "sourceName": "contracts/modules/core/FeatureFlagModule.sol", + "contractName": "FeatureFlagModule", + "deployedOn": "contract.FeatureFlagModule", + "gasUsed": 1322533, + "gasCost": "100000000" + }, + "InitialModuleBundle": { + "address": "0x828EED723cAF0A8F822249231266E38dF614923C", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x48b0a7c9404c5ceaeb59491e3ee15579be92edc50f27b796544bcca6feeb4183", + "sourceName": "contracts/modules/InitialModuleBundle.sol", + "contractName": "InitialModuleBundle", + "deployedOn": "contract.InitialModuleBundle", + "gasUsed": 856521, + "gasCost": "100000000" + }, + "IssueUSDModule": { + "address": "0xF5C78bAB6d1e52EA3c2BE6c657BB4Ef29244E0f5", + "abi": [ + "error CollateralDepositDisabled(address collateralType)", + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error InsufficentAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)", + "error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)", + "error InsufficientDebt(int256 currentDebt)", + "error InvalidParameter(string parameter, string reason)", + "error MarketNotFound(uint128 marketId)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PoolNotFound(uint128 poolId)", + "event IssuanceFeePaid(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 feeAmount)", + "event UsdBurned(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "event UsdMinted(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "function burnUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)", + "function mintUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x75c35436cc2495995460018b0ffb95f72d4887a36a1040bf6ba7cd8448654a12", + "sourceName": "contracts/modules/core/IssueUSDModule.sol", + "contractName": "IssueUSDModule", + "deployedOn": "contract.IssueUSDModule", + "gasUsed": 4432823, + "gasCost": "100000000" + }, + "LiquidationModule": { + "address": "0x569E1A3Ca9aE30416d2CbFE9A8e43538f35Bdc8d", + "abi": [ + "error AccountNotFound(uint128 accountId)", + "error CannotScaleEmptyMapping()", + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error IneligibleForLiquidation(uint256 collateralValue, int256 debt, uint256 currentCRatio, uint256 cratio)", + "error InsufficientMappedAmount()", + "error InvalidParameter(string parameter, string reason)", + "error MarketNotFound(uint128 marketId)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MustBeVaultLiquidated()", + "error OverflowInt128ToUint128()", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "event Liquidation(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "event VaultLiquidation(uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "function isPositionLiquidatable(uint128 accountId, uint128 poolId, address collateralType) returns (bool)", + "function isVaultLiquidatable(uint128 poolId, address collateralType) returns (bool)", + "function liquidate(uint128 accountId, uint128 poolId, address collateralType, uint128 liquidateAsAccountId) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)", + "function liquidateVault(uint128 poolId, address collateralType, uint128 liquidateAsAccountId, uint256 maxUsd) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xe6c8445b1a82097753c6c58ab439c30148bdec505bc2c3cd50178faa4c33d1d6", + "sourceName": "contracts/modules/core/LiquidationModule.sol", + "contractName": "LiquidationModule", + "deployedOn": "contract.LiquidationModule", + "gasUsed": 4555211, + "gasCost": "100000000" + }, + "MarketCollateralModule": { + "address": "0xd9A139422AB4BEe9d5E071fcCa8e34217953D6a9", + "abi": [ + "error CollateralNotFound()", + "error FailedTransfer(address from, address to, uint256 value)", + "error FeatureUnavailable(bytes32 which)", + "error InsufficientMarketCollateralDepositable(uint128 marketId, address collateralType, uint256 tokenAmountToDeposit)", + "error InsufficientMarketCollateralWithdrawable(uint128 marketId, address collateralType, uint256 tokenAmountToWithdraw)", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToInt256()", + "error PrecisionLost(uint256 tokenAmount, uint8 decimals)", + "error Unauthorized(address addr)", + "event MarketCollateralDeposited(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MarketCollateralWithdrawn(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MaximumMarketCollateralConfigured(uint128 indexed marketId, address indexed collateralType, uint256 systemAmount, address indexed owner)", + "function configureMaximumMarketCollateral(uint128 marketId, address collateralType, uint256 amount)", + "function depositMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)", + "function getMarketCollateralAmount(uint128 marketId, address collateralType) view returns (uint256 collateralAmountD18)", + "function getMarketCollateralValue(uint128 marketId) view returns (uint256)", + "function getMaximumMarketCollateral(uint128 marketId, address collateralType) view returns (uint256)", + "function withdrawMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xeb30410ded4de61c35dad99e27f21ad2c86a7ec563114a3ac1457b62d6623a80", + "sourceName": "contracts/modules/core/MarketCollateralModule.sol", + "contractName": "MarketCollateralModule", + "deployedOn": "contract.MarketCollateralModule", + "gasUsed": 2000574, + "gasCost": "100000000" + }, + "MarketManagerModule": { + "address": "0xe8f3c0a64FA3D76942521923352F9DDFBb3763B9", + "abi": [ + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error IncorrectMarketInterface(address market)", + "error InvalidParameter(string parameter, string reason)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error NotEnoughLiquidity(uint128 marketId, uint256 amount)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error Unauthorized(address addr)", + "event MarketRegistered(address indexed market, uint128 indexed marketId, address indexed sender)", + "event MarketSystemFeePaid(uint128 indexed marketId, uint256 feeAmount)", + "event MarketUsdDeposited(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event MarketUsdWithdrawn(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event SetMarketMinLiquidityRatio(uint128 indexed marketId, uint256 minLiquidityRatio)", + "event SetMinDelegateTime(uint128 indexed marketId, uint32 minDelegateTime)", + "function depositMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", + "function distributeDebtToPools(uint128 marketId, uint256 maxIter) returns (bool)", + "function getMarketAddress(uint128 marketId) view returns (address)", + "function getMarketCollateral(uint128 marketId) view returns (uint256)", + "function getMarketDebtPerShare(uint128 marketId) returns (int256)", + "function getMarketFees(uint128, uint256 amount) view returns (uint256 depositFeeAmount, uint256 withdrawFeeAmount)", + "function getMarketMinDelegateTime(uint128 marketId) view returns (uint32)", + "function getMarketNetIssuance(uint128 marketId) view returns (int128)", + "function getMarketPoolDebtDistribution(uint128 marketId, uint128 poolId) returns (uint256 sharesD18, uint128 totalSharesD18, int128 valuePerShareD27)", + "function getMarketPools(uint128 marketId) returns (uint128[] inRangePoolIds, uint128[] outRangePoolIds)", + "function getMarketReportedDebt(uint128 marketId) view returns (uint256)", + "function getMarketTotalDebt(uint128 marketId) view returns (int256)", + "function getMinLiquidityRatio(uint128 marketId) view returns (uint256)", + "function getOracleManager() view returns (address)", + "function getUsdToken() view returns (address)", + "function getWithdrawableMarketUsd(uint128 marketId) view returns (uint256)", + "function isMarketCapacityLocked(uint128 marketId) view returns (bool)", + "function registerMarket(address market) returns (uint128 marketId)", + "function setMarketMinDelegateTime(uint128 marketId, uint32 minDelegateTime)", + "function setMinLiquidityRatio(uint128 marketId, uint256 minLiquidityRatio)", + "function withdrawMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x30494350a57d1bfd8766fecb64aab5e7d7436ee08d209d0e263d177db3e99939", + "sourceName": "contracts/modules/core/MarketManagerModule.sol", + "contractName": "MarketManagerModule", + "deployedOn": "contract.MarketManagerModule", + "gasUsed": 4376458, + "gasCost": "100000000" + }, + "PoolConfigurationModule": { + "address": "0x6f7E8EB502cEFe31a0565390Cf6a17E50A237A02", + "abi": [ + "error PoolNotFound(uint128 poolId)", + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event PoolApprovedAdded(uint256 poolId)", + "event PoolApprovedRemoved(uint256 poolId)", + "event PreferredPoolSet(uint256 poolId)", + "function addApprovedPool(uint128 poolId)", + "function getApprovedPools() view returns (uint256[])", + "function getPreferredPool() view returns (uint128)", + "function removeApprovedPool(uint128 poolId)", + "function setPreferredPool(uint128 poolId)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xcb9e49288a38a5bf6bae25e8577876f4dbbfdf5c2c0287b0e191621901e71428", + "sourceName": "contracts/modules/core/PoolConfigurationModule.sol", + "contractName": "PoolConfigurationModule", + "deployedOn": "contract.PoolConfigurationModule", + "gasUsed": 765875, + "gasCost": "100000000" + }, + "PoolModule": { + "address": "0xf326AF86ff32B430d7ba01E9BCe198246ef2b027", + "abi": [ + "error CapacityLocked(uint256 marketId)", + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error InvalidParameter(string parameter, string reason)", + "error MarketNotFound(uint128 marketId)", + "error MinDelegationTimeoutPending(uint128 poolId, uint32 timeRemaining)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error PoolAlreadyExists(uint128 poolId)", + "error PoolNotFound(uint128 poolId)", + "error Unauthorized(address addr)", + "error ZeroAddress()", + "event PoolCollateralConfigurationUpdated(uint128 indexed poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "event PoolCollateralDisabledByDefaultSet(uint128 poolId, bool disabled)", + "event PoolConfigurationSet(uint128 indexed poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] markets, address indexed sender)", + "event PoolCreated(uint128 indexed poolId, address indexed owner, address indexed sender)", + "event PoolNameUpdated(uint128 indexed poolId, string name, address indexed sender)", + "event PoolNominationRenounced(uint128 indexed poolId, address indexed owner)", + "event PoolNominationRevoked(uint128 indexed poolId, address indexed owner)", + "event PoolOwnerNominated(uint128 indexed poolId, address indexed nominatedOwner, address indexed owner)", + "event PoolOwnershipAccepted(uint128 indexed poolId, address indexed owner)", + "event PoolOwnershipRenounced(uint128 indexed poolId, address indexed owner)", + "event SetMinLiquidityRatio(uint256 minLiquidityRatio)", + "function acceptPoolOwnership(uint128 poolId)", + "function createPool(uint128 requestedPoolId, address owner)", + "function getMinLiquidityRatio() view returns (uint256)", + "function getNominatedPoolOwner(uint128 poolId) view returns (address)", + "function getPoolCollateralConfiguration(uint128 poolId, address collateralType) view returns (tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "function getPoolCollateralIssuanceRatio(uint128 poolId, address collateral) view returns (uint256)", + "function getPoolConfiguration(uint128 poolId) view returns (tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[])", + "function getPoolName(uint128 poolId) view returns (string poolName)", + "function getPoolOwner(uint128 poolId) view returns (address)", + "function nominatePoolOwner(address nominatedOwner, uint128 poolId)", + "function rebalancePool(uint128 poolId, address optionalCollateralType)", + "function renouncePoolNomination(uint128 poolId)", + "function renouncePoolOwnership(uint128 poolId)", + "function revokePoolNomination(uint128 poolId)", + "function setMinLiquidityRatio(uint256 minLiquidityRatio)", + "function setPoolCollateralConfiguration(uint128 poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) newConfig)", + "function setPoolCollateralDisabledByDefault(uint128 poolId, bool disabled)", + "function setPoolConfiguration(uint128 poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] newMarketConfigurations)", + "function setPoolName(uint128 poolId, string name)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x2e75e67159f9a5aa561102ddc187c6c575dc1a170b3df70bdd3407cea19a5c36", + "sourceName": "contracts/modules/core/PoolModule.sol", + "contractName": "PoolModule", + "deployedOn": "contract.PoolModule", + "gasUsed": 5877702, + "gasCost": "100000000" + }, + "RewardsManagerModule": { + "address": "0x758a399E97D9D7F0253A854af451e6D1275e72E4", + "abi": [ + "error AccountNotFound(uint128 accountId)", + "error FeatureUnavailable(bytes32 which)", + "error InvalidParameter(string parameter, string reason)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error OverflowUint256ToUint32()", + "error OverflowUint32ToInt32()", + "error OverflowUint64ToInt64()", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PositionOutOfBounds()", + "error RewardDistributorNotFound()", + "error RewardUnavailable(address distributor)", + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event RewardsClaimed(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount)", + "event RewardsDistributed(uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount, uint256 start, uint256 duration)", + "event RewardsDistributorRegistered(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "event RewardsDistributorRemoved(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "function claimRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) returns (uint256)", + "function distributeRewards(uint128 poolId, address collateralType, uint256 amount, uint64 start, uint32 duration)", + "function getAvailableRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function getRewardRate(uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function registerRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function removeRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function updateRewards(uint128 poolId, address collateralType, uint128 accountId) returns (uint256[], address[])" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x95a08325b277f9131e741d0c69fd7da80ac213e4a0186ca08bfa039e5784a6e9", + "sourceName": "contracts/modules/core/RewardsManagerModule.sol", + "contractName": "RewardsManagerModule", + "deployedOn": "contract.RewardsManagerModule", + "gasUsed": 3453921, + "gasCost": "100000000" + }, + "USDTokenModule": { + "address": "0x3f10B7157c1dA14d5429790959eBA750C17A8c46", + "abi": [ + "error AlreadyInitialized()", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InsufficientBalance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "error Unauthorized(address addr)", + "event Approval(address indexed owner, address indexed spender, uint256 amount)", + "event Transfer(address indexed from, address indexed to, uint256 amount)", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 amount) returns (bool)", + "function balanceOf(address owner) view returns (uint256)", + "function burn(uint256 amount)", + "function burn(address target, uint256 amount)", + "function burnWithAllowance(address from, address spender, uint256 amount)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function initialize(string tokenName, string tokenSymbol, uint8 tokenDecimals)", + "function isInitialized() view returns (bool)", + "function mint(address target, uint256 amount)", + "function name() view returns (string)", + "function setAllowance(address from, address spender, uint256 amount)", + "function symbol() view returns (string)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 amount) returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x0a81688d31e061d803ac98cad0fb1c42e611caa887ac8a382fe4852fceefe452", + "sourceName": "contracts/modules/usd/USDTokenModule.sol", + "contractName": "USDTokenModule", + "deployedOn": "contract.USDTokenModule", + "gasUsed": 1814070, + "gasCost": "100000000" + }, + "UtilsModule": { + "address": "0xBCc471Ec390E59f3D5F77E9a8Bb24cd26D29Bfb7", + "abi": [ + "error InvalidParameter(string parameter, string reason)", + "error OverflowUint256ToUint64()", + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "event NewSupportedCrossChainNetwork(uint64 newChainId)", + "function configureChainlinkCrossChain(address ccipRouter, address ccipTokenPool)", + "function configureOracleManager(address oracleManagerAddress)", + "function getConfig(bytes32 k) view returns (bytes32 v)", + "function getConfigAddress(bytes32 k) view returns (address v)", + "function getConfigUint(bytes32 k) view returns (uint256 v)", + "function getTrustedForwarder() pure returns (address)", + "function isTrustedForwarder(address forwarder) pure returns (bool)", + "function setConfig(bytes32 k, bytes32 v)", + "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x924b26a05729483b5daf98a987eef6c23a9a0a1b641a9bc8491ac1c42a8a8635", + "sourceName": "contracts/modules/core/UtilsModule.sol", + "contractName": "UtilsModule", + "deployedOn": "contract.UtilsModule", + "gasUsed": 1243859, + "gasCost": "100000000" + }, + "VaultModule": { + "address": "0xa51b344Beb72bb9DaC84A70cb9b77cA33DB1675b", + "abi": [ + "error CapacityLocked(uint256 marketId)", + "error CollateralDepositDisabled(address collateralType)", + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error InsufficentAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)", + "error InsufficientAccountCollateral(uint256 amount)", + "error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)", + "error InsufficientDelegation(uint256 minDelegation)", + "error InvalidCollateralAmount()", + "error InvalidLeverage(uint256 leverage)", + "error MarketNotFound(uint128 marketId)", + "error MinDelegationTimeoutPending(uint128 poolId, uint32 timeRemaining)", + "error OverflowInt128ToUint128()", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error OverflowUint256ToUint32()", + "error OverflowUint32ToInt32()", + "error OverflowUint64ToInt64()", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PoolCollateralLimitExceeded(uint128 poolId, address collateralType, uint256 currentCollateral, uint256 maxCollateral)", + "error PoolNotFound(uint128 poolId)", + "error PositionOutOfBounds()", + "error RewardDistributorNotFound()", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event DelegationUpdated(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, uint256 leverage, address indexed sender)", + "function delegateCollateral(uint128 accountId, uint128 poolId, address collateralType, uint256 newCollateralAmountD18, uint256 leverage)", + "function getPosition(uint128 accountId, uint128 poolId, address collateralType) returns (uint256 collateralAmount, uint256 collateralValue, int256 debt, uint256 collateralizationRatio)", + "function getPositionCollateral(uint128 accountId, uint128 poolId, address collateralType) view returns (uint256 amount)", + "function getPositionCollateralRatio(uint128 accountId, uint128 poolId, address collateralType) returns (uint256)", + "function getPositionDebt(uint128 accountId, uint128 poolId, address collateralType) returns (int256 debt)", + "function getVaultCollateral(uint128 poolId, address collateralType) view returns (uint256 amount, uint256 value)", + "function getVaultCollateralRatio(uint128 poolId, address collateralType) returns (uint256)", + "function getVaultDebt(uint128 poolId, address collateralType) returns (int256)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xf507da863641ca218d26b4aeeda29802300217600e40cd9007db4f4244d9ce84", + "sourceName": "contracts/modules/core/VaultModule.sol", + "contractName": "VaultModule", + "deployedOn": "contract.VaultModule", + "gasUsed": 5599946, + "gasCost": "100000000" + }, + "InitialCoreProxy": { + "address": "0x4Ab09F627fa9706f33178129005300Fd4c00EDF1", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)" + ], + "constructorArgs": [ + "0x828EED723cAF0A8F822249231266E38dF614923C", + "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + ], + "linkedLibraries": {}, + "deployTxnHash": "0xcc8bbb0ee97d1b5d6c1388ab5fbfde9d34060f4426b547c3fc6f23e7efda002f", + "sourceName": "contracts/Proxy.sol", + "contractName": "Proxy", + "deployedOn": "contract.InitialCoreProxy", + "gasUsed": 376750, + "gasCost": "100000000" + }, + "AccountRouter": { + "address": "0x0a71d7ca0672329ebb72dcf3d58eb4dd7984ec08", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error AlreadyInitialized()", + "error CannotSelfApprove(address addr)", + "error IndexOverrun(uint256 requestedIndex, uint256 length)", + "error InvalidOwner(address addr)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidTransferRecipient(address addr)", + "error OverflowUint256ToUint128()", + "error TokenAlreadyMinted(uint256 id)", + "error TokenDoesNotExist(uint256 id)", + "event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)", + "event ApprovalForAll(address indexed owner, address indexed operator, bool approved)", + "event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)", + "function approve(address to, uint256 tokenId)", + "function balanceOf(address holder) view returns (uint256 balance)", + "function burn(uint256 tokenId)", + "function getApproved(uint256 tokenId) view returns (address operator)", + "function initialize(string tokenName, string tokenSymbol, string uri)", + "function isApprovedForAll(address holder, address operator) view returns (bool)", + "function isInitialized() view returns (bool)", + "function mint(address to, uint256 tokenId)", + "function name() view returns (string)", + "function ownerOf(uint256 tokenId) view returns (address)", + "function safeMint(address to, uint256 tokenId, bytes data)", + "function safeTransferFrom(address from, address to, uint256 tokenId)", + "function safeTransferFrom(address from, address to, uint256 tokenId, bytes data)", + "function setAllowance(uint256 tokenId, address spender)", + "function setApprovalForAll(address operator, bool approved)", + "function setBaseTokenURI(string uri)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function symbol() view returns (string)", + "function tokenByIndex(uint256 index) view returns (uint256)", + "function tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)", + "function tokenURI(uint256 tokenId) view returns (string)", + "function totalSupply() view returns (uint256)", + "function transferFrom(address from, address to, uint256 tokenId)" + ], + "deployedOn": "router.AccountRouter", + "deployTxnHash": "0x020fa7b5b487323bd8ff91a6f0f0411bb9c63d3d333face17667a2fd151c9e30", + "contractName": "AccountRouter", + "sourceName": "AccountRouter.sol", + "gasUsed": 609681, + "gasCost": "100000000" + }, + "CoreRouter": { + "address": "0x71cb5f83891dfd0f829e862f9d9acf5c1a0af01d", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)", + "error FeatureUnavailable(bytes32 which)", + "error InvalidAccountId(uint128 accountId)", + "error InvalidPermission(bytes32 permission)", + "error OnlyAccountTokenProxy(address origin)", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PermissionNotGranted(uint128 accountId, bytes32 permission, address user)", + "error PositionOutOfBounds()", + "event AccountCreated(uint128 indexed accountId, address indexed owner)", + "event PermissionGranted(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "event PermissionRevoked(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "function createAccount() returns (uint128 accountId)", + "function createAccount(uint128 requestedAccountId)", + "function getAccountLastInteraction(uint128 accountId) view returns (uint256)", + "function getAccountOwner(uint128 accountId) view returns (address)", + "function getAccountPermissions(uint128 accountId) view returns (tuple(address user, bytes32[] permissions)[] accountPerms)", + "function getAccountTokenAddress() view returns (address)", + "function grantPermission(uint128 accountId, bytes32 permission, address user)", + "function hasPermission(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function isAuthorized(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function notifyAccountTransfer(address to, uint128 accountId)", + "function renouncePermission(uint128 accountId, bytes32 permission)", + "function revokePermission(uint128 accountId, bytes32 permission, address user)", + "error AccountNotFound(uint128 accountId)", + "error EmptyDistribution()", + "error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)", + "error MarketNotFound(uint128 marketId)", + "error NotFundedByPool(uint256 marketId, uint256 poolId)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "event DebtAssociated(uint128 indexed marketId, uint128 indexed poolId, address indexed collateralType, uint128 accountId, uint256 amount, int256 updatedDebt)", + "function associateDebt(uint128 marketId, uint128 poolId, address collateralType, uint128 accountId, uint256 amount) returns (int256)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "error InvalidMessage()", + "error NotCcipRouter(address)", + "error UnsupportedNetwork(uint64)", + "function ccipReceive(tuple(bytes32 messageId, uint64 sourceChainSelector, bytes sender, bytes data, tuple(address token, uint256 amount)[] tokenAmounts) message)", + "error AccountActivityTimeoutPending(uint128 accountId, uint256 currentTime, uint256 requiredTime)", + "error CollateralDepositDisabled(address collateralType)", + "error CollateralNotFound()", + "error FailedTransfer(address from, address to, uint256 value)", + "error InsufficentAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)", + "error InsufficientAccountCollateral(uint256 amount)", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "error OverflowUint256ToUint64()", + "error PrecisionLost(uint256 tokenAmount, uint8 decimals)", + "event CollateralLockCreated(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event CollateralLockExpired(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event Deposited(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "event Withdrawn(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "function cleanExpiredLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) returns (uint256 cleared)", + "function createLock(uint128 accountId, address collateralType, uint256 amount, uint64 expireTimestamp)", + "function deposit(uint128 accountId, address collateralType, uint256 tokenAmount)", + "function getAccountAvailableCollateral(uint128 accountId, address collateralType) view returns (uint256)", + "function getAccountCollateral(uint128 accountId, address collateralType) view returns (uint256 totalDeposited, uint256 totalAssigned, uint256 totalLocked)", + "function getLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) view returns (tuple(uint128 amountD18, uint64 lockExpirationTime)[] locks)", + "function withdraw(uint128 accountId, address collateralType, uint256 tokenAmount)", + "event CollateralConfigured(address indexed collateralType, tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function configureCollateral(tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function getCollateralConfiguration(address collateralType) pure returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18))", + "function getCollateralConfigurations(bool hideDisabled) view returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18)[])", + "function getCollateralPrice(address collateralType) view returns (uint256)", + "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", + "event TransferCrossChainInitiated(uint64 indexed destChainId, uint256 indexed amount, address sender)", + "function transferCrossChain(uint64 destChainId, uint256 amount) payable returns (uint256 gasTokenUsed)", + "error InsufficientDebt(int256 currentDebt)", + "error PoolNotFound(uint128 poolId)", + "event IssuanceFeePaid(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 feeAmount)", + "event UsdBurned(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "event UsdMinted(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "function burnUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)", + "function mintUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)", + "error CannotScaleEmptyMapping()", + "error IneligibleForLiquidation(uint256 collateralValue, int256 debt, uint256 currentCRatio, uint256 cratio)", + "error InsufficientMappedAmount()", + "error MustBeVaultLiquidated()", + "error OverflowInt128ToUint128()", + "event Liquidation(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "event VaultLiquidation(uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "function isPositionLiquidatable(uint128 accountId, uint128 poolId, address collateralType) returns (bool)", + "function isVaultLiquidatable(uint128 poolId, address collateralType) returns (bool)", + "function liquidate(uint128 accountId, uint128 poolId, address collateralType, uint128 liquidateAsAccountId) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)", + "function liquidateVault(uint128 poolId, address collateralType, uint128 liquidateAsAccountId, uint256 maxUsd) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)", + "error InsufficientMarketCollateralDepositable(uint128 marketId, address collateralType, uint256 tokenAmountToDeposit)", + "error InsufficientMarketCollateralWithdrawable(uint128 marketId, address collateralType, uint256 tokenAmountToWithdraw)", + "event MarketCollateralDeposited(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MarketCollateralWithdrawn(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MaximumMarketCollateralConfigured(uint128 indexed marketId, address indexed collateralType, uint256 systemAmount, address indexed owner)", + "function configureMaximumMarketCollateral(uint128 marketId, address collateralType, uint256 amount)", + "function depositMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)", + "function getMarketCollateralAmount(uint128 marketId, address collateralType) view returns (uint256 collateralAmountD18)", + "function getMarketCollateralValue(uint128 marketId) view returns (uint256)", + "function getMaximumMarketCollateral(uint128 marketId, address collateralType) view returns (uint256)", + "function withdrawMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)", + "error IncorrectMarketInterface(address market)", + "error NotEnoughLiquidity(uint128 marketId, uint256 amount)", + "event MarketRegistered(address indexed market, uint128 indexed marketId, address indexed sender)", + "event MarketSystemFeePaid(uint128 indexed marketId, uint256 feeAmount)", + "event MarketUsdDeposited(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event MarketUsdWithdrawn(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event SetMarketMinLiquidityRatio(uint128 indexed marketId, uint256 minLiquidityRatio)", + "event SetMinDelegateTime(uint128 indexed marketId, uint32 minDelegateTime)", + "function depositMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", + "function distributeDebtToPools(uint128 marketId, uint256 maxIter) returns (bool)", + "function getMarketAddress(uint128 marketId) view returns (address)", + "function getMarketCollateral(uint128 marketId) view returns (uint256)", + "function getMarketDebtPerShare(uint128 marketId) returns (int256)", + "function getMarketFees(uint128, uint256 amount) view returns (uint256 depositFeeAmount, uint256 withdrawFeeAmount)", + "function getMarketMinDelegateTime(uint128 marketId) view returns (uint32)", + "function getMarketNetIssuance(uint128 marketId) view returns (int128)", + "function getMarketPoolDebtDistribution(uint128 marketId, uint128 poolId) returns (uint256 sharesD18, uint128 totalSharesD18, int128 valuePerShareD27)", + "function getMarketPools(uint128 marketId) returns (uint128[] inRangePoolIds, uint128[] outRangePoolIds)", + "function getMarketReportedDebt(uint128 marketId) view returns (uint256)", + "function getMarketTotalDebt(uint128 marketId) view returns (int256)", + "function getMinLiquidityRatio(uint128 marketId) view returns (uint256)", + "function getOracleManager() view returns (address)", + "function getUsdToken() view returns (address)", + "function getWithdrawableMarketUsd(uint128 marketId) view returns (uint256)", + "function isMarketCapacityLocked(uint128 marketId) view returns (bool)", + "function registerMarket(address market) returns (uint128 marketId)", + "function setMarketMinDelegateTime(uint128 marketId, uint32 minDelegateTime)", + "function setMinLiquidityRatio(uint128 marketId, uint256 minLiquidityRatio)", + "function withdrawMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", + "event PoolApprovedAdded(uint256 poolId)", + "event PoolApprovedRemoved(uint256 poolId)", + "event PreferredPoolSet(uint256 poolId)", + "function addApprovedPool(uint128 poolId)", + "function getApprovedPools() view returns (uint256[])", + "function getPreferredPool() view returns (uint128)", + "function removeApprovedPool(uint128 poolId)", + "function setPreferredPool(uint128 poolId)", + "error CapacityLocked(uint256 marketId)", + "error MinDelegationTimeoutPending(uint128 poolId, uint32 timeRemaining)", + "error PoolAlreadyExists(uint128 poolId)", + "event PoolCollateralConfigurationUpdated(uint128 indexed poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "event PoolCollateralDisabledByDefaultSet(uint128 poolId, bool disabled)", + "event PoolConfigurationSet(uint128 indexed poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] markets, address indexed sender)", + "event PoolCreated(uint128 indexed poolId, address indexed owner, address indexed sender)", + "event PoolNameUpdated(uint128 indexed poolId, string name, address indexed sender)", + "event PoolNominationRenounced(uint128 indexed poolId, address indexed owner)", + "event PoolNominationRevoked(uint128 indexed poolId, address indexed owner)", + "event PoolOwnerNominated(uint128 indexed poolId, address indexed nominatedOwner, address indexed owner)", + "event PoolOwnershipAccepted(uint128 indexed poolId, address indexed owner)", + "event PoolOwnershipRenounced(uint128 indexed poolId, address indexed owner)", + "event SetMinLiquidityRatio(uint256 minLiquidityRatio)", + "function acceptPoolOwnership(uint128 poolId)", + "function createPool(uint128 requestedPoolId, address owner)", + "function getMinLiquidityRatio() view returns (uint256)", + "function getNominatedPoolOwner(uint128 poolId) view returns (address)", + "function getPoolCollateralConfiguration(uint128 poolId, address collateralType) view returns (tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "function getPoolCollateralIssuanceRatio(uint128 poolId, address collateral) view returns (uint256)", + "function getPoolConfiguration(uint128 poolId) view returns (tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[])", + "function getPoolName(uint128 poolId) view returns (string poolName)", + "function getPoolOwner(uint128 poolId) view returns (address)", + "function nominatePoolOwner(address nominatedOwner, uint128 poolId)", + "function rebalancePool(uint128 poolId, address optionalCollateralType)", + "function renouncePoolNomination(uint128 poolId)", + "function renouncePoolOwnership(uint128 poolId)", + "function revokePoolNomination(uint128 poolId)", + "function setMinLiquidityRatio(uint256 minLiquidityRatio)", + "function setPoolCollateralConfiguration(uint128 poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) newConfig)", + "function setPoolCollateralDisabledByDefault(uint128 poolId, bool disabled)", + "function setPoolConfiguration(uint128 poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] newMarketConfigurations)", + "function setPoolName(uint128 poolId, string name)", + "error OverflowUint256ToUint32()", + "error OverflowUint32ToInt32()", + "error OverflowUint64ToInt64()", + "error RewardDistributorNotFound()", + "error RewardUnavailable(address distributor)", + "event RewardsClaimed(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount)", + "event RewardsDistributed(uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount, uint256 start, uint256 duration)", + "event RewardsDistributorRegistered(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "event RewardsDistributorRemoved(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "function claimRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) returns (uint256)", + "function distributeRewards(uint128 poolId, address collateralType, uint256 amount, uint64 start, uint32 duration)", + "function getAvailableRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function getRewardRate(uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function registerRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function removeRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function updateRewards(uint128 poolId, address collateralType, uint128 accountId) returns (uint256[], address[])", + "event NewSupportedCrossChainNetwork(uint64 newChainId)", + "function configureChainlinkCrossChain(address ccipRouter, address ccipTokenPool)", + "function configureOracleManager(address oracleManagerAddress)", + "function getConfig(bytes32 k) view returns (bytes32 v)", + "function getConfigAddress(bytes32 k) view returns (address v)", + "function getConfigUint(bytes32 k) view returns (uint256 v)", + "function getTrustedForwarder() pure returns (address)", + "function isTrustedForwarder(address forwarder) pure returns (bool)", + "function setConfig(bytes32 k, bytes32 v)", + "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "error InsufficientDelegation(uint256 minDelegation)", + "error InvalidCollateralAmount()", + "error InvalidLeverage(uint256 leverage)", + "error PoolCollateralLimitExceeded(uint128 poolId, address collateralType, uint256 currentCollateral, uint256 maxCollateral)", + "event DelegationUpdated(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, uint256 leverage, address indexed sender)", + "function delegateCollateral(uint128 accountId, uint128 poolId, address collateralType, uint256 newCollateralAmountD18, uint256 leverage)", + "function getPosition(uint128 accountId, uint128 poolId, address collateralType) returns (uint256 collateralAmount, uint256 collateralValue, int256 debt, uint256 collateralizationRatio)", + "function getPositionCollateral(uint128 accountId, uint128 poolId, address collateralType) view returns (uint256 amount)", + "function getPositionCollateralRatio(uint128 accountId, uint128 poolId, address collateralType) returns (uint256)", + "function getPositionDebt(uint128 accountId, uint128 poolId, address collateralType) returns (int256 debt)", + "function getVaultCollateral(uint128 poolId, address collateralType) view returns (uint256 amount, uint256 value)", + "function getVaultCollateralRatio(uint128 poolId, address collateralType) returns (uint256)", + "function getVaultDebt(uint128 poolId, address collateralType) returns (int256)" + ], + "deployedOn": "router.CoreRouter", + "deployTxnHash": "0x19b106af32b78266c0505ebf57e2c5217a489c969d51fdb250a5cad87d7582e2", + "contractName": "CoreRouter", + "sourceName": "CoreRouter.sol", + "gasUsed": 1876589, + "gasCost": "100000000" + }, + "USDRouter": { + "address": "0xfb012bf551f25164483d01b91823bce5c3983ff2", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "error AlreadyInitialized()", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InsufficientBalance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "event Approval(address indexed owner, address indexed spender, uint256 amount)", + "event Transfer(address indexed from, address indexed to, uint256 amount)", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 amount) returns (bool)", + "function balanceOf(address owner) view returns (uint256)", + "function burn(uint256 amount)", + "function burn(address target, uint256 amount)", + "function burnWithAllowance(address from, address spender, uint256 amount)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function initialize(string tokenName, string tokenSymbol, uint8 tokenDecimals)", + "function isInitialized() view returns (bool)", + "function mint(address target, uint256 amount)", + "function name() view returns (string)", + "function setAllowance(address from, address spender, uint256 amount)", + "function symbol() view returns (string)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 amount) returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)" + ], + "deployedOn": "router.USDRouter", + "deployTxnHash": "0x54b079d6fa45587206480d43bc397894f29ba18cbd11ec6fefbdcf2ed6256553", + "contractName": "USDRouter", + "sourceName": "USDRouter.sol", + "gasUsed": 604468, + "gasCost": "100000000" + }, + "CoreProxy": { + "address": "0x4Ab09F627fa9706f33178129005300Fd4c00EDF1", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)", + "error FeatureUnavailable(bytes32 which)", + "error InvalidAccountId(uint128 accountId)", + "error InvalidPermission(bytes32 permission)", + "error OnlyAccountTokenProxy(address origin)", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PermissionNotGranted(uint128 accountId, bytes32 permission, address user)", + "error PositionOutOfBounds()", + "event AccountCreated(uint128 indexed accountId, address indexed owner)", + "event PermissionGranted(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "event PermissionRevoked(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "function createAccount() returns (uint128 accountId)", + "function createAccount(uint128 requestedAccountId)", + "function getAccountLastInteraction(uint128 accountId) view returns (uint256)", + "function getAccountOwner(uint128 accountId) view returns (address)", + "function getAccountPermissions(uint128 accountId) view returns (tuple(address user, bytes32[] permissions)[] accountPerms)", + "function getAccountTokenAddress() view returns (address)", + "function grantPermission(uint128 accountId, bytes32 permission, address user)", + "function hasPermission(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function isAuthorized(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function notifyAccountTransfer(address to, uint128 accountId)", + "function renouncePermission(uint128 accountId, bytes32 permission)", + "function revokePermission(uint128 accountId, bytes32 permission, address user)", + "error AccountNotFound(uint128 accountId)", + "error EmptyDistribution()", + "error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)", + "error MarketNotFound(uint128 marketId)", + "error NotFundedByPool(uint256 marketId, uint256 poolId)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "event DebtAssociated(uint128 indexed marketId, uint128 indexed poolId, address indexed collateralType, uint128 accountId, uint256 amount, int256 updatedDebt)", + "function associateDebt(uint128 marketId, uint128 poolId, address collateralType, uint128 accountId, uint256 amount) returns (int256)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "error InvalidMessage()", + "error NotCcipRouter(address)", + "error UnsupportedNetwork(uint64)", + "function ccipReceive(tuple(bytes32 messageId, uint64 sourceChainSelector, bytes sender, bytes data, tuple(address token, uint256 amount)[] tokenAmounts) message)", + "error AccountActivityTimeoutPending(uint128 accountId, uint256 currentTime, uint256 requiredTime)", + "error CollateralDepositDisabled(address collateralType)", + "error CollateralNotFound()", + "error FailedTransfer(address from, address to, uint256 value)", + "error InsufficentAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)", + "error InsufficientAccountCollateral(uint256 amount)", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "error OverflowUint256ToUint64()", + "error PrecisionLost(uint256 tokenAmount, uint8 decimals)", + "event CollateralLockCreated(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event CollateralLockExpired(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event Deposited(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "event Withdrawn(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "function cleanExpiredLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) returns (uint256 cleared)", + "function createLock(uint128 accountId, address collateralType, uint256 amount, uint64 expireTimestamp)", + "function deposit(uint128 accountId, address collateralType, uint256 tokenAmount)", + "function getAccountAvailableCollateral(uint128 accountId, address collateralType) view returns (uint256)", + "function getAccountCollateral(uint128 accountId, address collateralType) view returns (uint256 totalDeposited, uint256 totalAssigned, uint256 totalLocked)", + "function getLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) view returns (tuple(uint128 amountD18, uint64 lockExpirationTime)[] locks)", + "function withdraw(uint128 accountId, address collateralType, uint256 tokenAmount)", + "event CollateralConfigured(address indexed collateralType, tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function configureCollateral(tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function getCollateralConfiguration(address collateralType) pure returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18))", + "function getCollateralConfigurations(bool hideDisabled) view returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18)[])", + "function getCollateralPrice(address collateralType) view returns (uint256)", + "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", + "event TransferCrossChainInitiated(uint64 indexed destChainId, uint256 indexed amount, address sender)", + "function transferCrossChain(uint64 destChainId, uint256 amount) payable returns (uint256 gasTokenUsed)", + "error InsufficientDebt(int256 currentDebt)", + "error PoolNotFound(uint128 poolId)", + "event IssuanceFeePaid(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 feeAmount)", + "event UsdBurned(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "event UsdMinted(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "function burnUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)", + "function mintUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)", + "error CannotScaleEmptyMapping()", + "error IneligibleForLiquidation(uint256 collateralValue, int256 debt, uint256 currentCRatio, uint256 cratio)", + "error InsufficientMappedAmount()", + "error MustBeVaultLiquidated()", + "error OverflowInt128ToUint128()", + "event Liquidation(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "event VaultLiquidation(uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "function isPositionLiquidatable(uint128 accountId, uint128 poolId, address collateralType) returns (bool)", + "function isVaultLiquidatable(uint128 poolId, address collateralType) returns (bool)", + "function liquidate(uint128 accountId, uint128 poolId, address collateralType, uint128 liquidateAsAccountId) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)", + "function liquidateVault(uint128 poolId, address collateralType, uint128 liquidateAsAccountId, uint256 maxUsd) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)", + "error InsufficientMarketCollateralDepositable(uint128 marketId, address collateralType, uint256 tokenAmountToDeposit)", + "error InsufficientMarketCollateralWithdrawable(uint128 marketId, address collateralType, uint256 tokenAmountToWithdraw)", + "event MarketCollateralDeposited(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MarketCollateralWithdrawn(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MaximumMarketCollateralConfigured(uint128 indexed marketId, address indexed collateralType, uint256 systemAmount, address indexed owner)", + "function configureMaximumMarketCollateral(uint128 marketId, address collateralType, uint256 amount)", + "function depositMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)", + "function getMarketCollateralAmount(uint128 marketId, address collateralType) view returns (uint256 collateralAmountD18)", + "function getMarketCollateralValue(uint128 marketId) view returns (uint256)", + "function getMaximumMarketCollateral(uint128 marketId, address collateralType) view returns (uint256)", + "function withdrawMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)", + "error IncorrectMarketInterface(address market)", + "error NotEnoughLiquidity(uint128 marketId, uint256 amount)", + "event MarketRegistered(address indexed market, uint128 indexed marketId, address indexed sender)", + "event MarketSystemFeePaid(uint128 indexed marketId, uint256 feeAmount)", + "event MarketUsdDeposited(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event MarketUsdWithdrawn(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event SetMarketMinLiquidityRatio(uint128 indexed marketId, uint256 minLiquidityRatio)", + "event SetMinDelegateTime(uint128 indexed marketId, uint32 minDelegateTime)", + "function depositMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", + "function distributeDebtToPools(uint128 marketId, uint256 maxIter) returns (bool)", + "function getMarketAddress(uint128 marketId) view returns (address)", + "function getMarketCollateral(uint128 marketId) view returns (uint256)", + "function getMarketDebtPerShare(uint128 marketId) returns (int256)", + "function getMarketFees(uint128, uint256 amount) view returns (uint256 depositFeeAmount, uint256 withdrawFeeAmount)", + "function getMarketMinDelegateTime(uint128 marketId) view returns (uint32)", + "function getMarketNetIssuance(uint128 marketId) view returns (int128)", + "function getMarketPoolDebtDistribution(uint128 marketId, uint128 poolId) returns (uint256 sharesD18, uint128 totalSharesD18, int128 valuePerShareD27)", + "function getMarketPools(uint128 marketId) returns (uint128[] inRangePoolIds, uint128[] outRangePoolIds)", + "function getMarketReportedDebt(uint128 marketId) view returns (uint256)", + "function getMarketTotalDebt(uint128 marketId) view returns (int256)", + "function getMinLiquidityRatio(uint128 marketId) view returns (uint256)", + "function getOracleManager() view returns (address)", + "function getUsdToken() view returns (address)", + "function getWithdrawableMarketUsd(uint128 marketId) view returns (uint256)", + "function isMarketCapacityLocked(uint128 marketId) view returns (bool)", + "function registerMarket(address market) returns (uint128 marketId)", + "function setMarketMinDelegateTime(uint128 marketId, uint32 minDelegateTime)", + "function setMinLiquidityRatio(uint128 marketId, uint256 minLiquidityRatio)", + "function withdrawMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", + "event PoolApprovedAdded(uint256 poolId)", + "event PoolApprovedRemoved(uint256 poolId)", + "event PreferredPoolSet(uint256 poolId)", + "function addApprovedPool(uint128 poolId)", + "function getApprovedPools() view returns (uint256[])", + "function getPreferredPool() view returns (uint128)", + "function removeApprovedPool(uint128 poolId)", + "function setPreferredPool(uint128 poolId)", + "error CapacityLocked(uint256 marketId)", + "error MinDelegationTimeoutPending(uint128 poolId, uint32 timeRemaining)", + "error PoolAlreadyExists(uint128 poolId)", + "event PoolCollateralConfigurationUpdated(uint128 indexed poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "event PoolCollateralDisabledByDefaultSet(uint128 poolId, bool disabled)", + "event PoolConfigurationSet(uint128 indexed poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] markets, address indexed sender)", + "event PoolCreated(uint128 indexed poolId, address indexed owner, address indexed sender)", + "event PoolNameUpdated(uint128 indexed poolId, string name, address indexed sender)", + "event PoolNominationRenounced(uint128 indexed poolId, address indexed owner)", + "event PoolNominationRevoked(uint128 indexed poolId, address indexed owner)", + "event PoolOwnerNominated(uint128 indexed poolId, address indexed nominatedOwner, address indexed owner)", + "event PoolOwnershipAccepted(uint128 indexed poolId, address indexed owner)", + "event PoolOwnershipRenounced(uint128 indexed poolId, address indexed owner)", + "event SetMinLiquidityRatio(uint256 minLiquidityRatio)", + "function acceptPoolOwnership(uint128 poolId)", + "function createPool(uint128 requestedPoolId, address owner)", + "function getMinLiquidityRatio() view returns (uint256)", + "function getNominatedPoolOwner(uint128 poolId) view returns (address)", + "function getPoolCollateralConfiguration(uint128 poolId, address collateralType) view returns (tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "function getPoolCollateralIssuanceRatio(uint128 poolId, address collateral) view returns (uint256)", + "function getPoolConfiguration(uint128 poolId) view returns (tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[])", + "function getPoolName(uint128 poolId) view returns (string poolName)", + "function getPoolOwner(uint128 poolId) view returns (address)", + "function nominatePoolOwner(address nominatedOwner, uint128 poolId)", + "function rebalancePool(uint128 poolId, address optionalCollateralType)", + "function renouncePoolNomination(uint128 poolId)", + "function renouncePoolOwnership(uint128 poolId)", + "function revokePoolNomination(uint128 poolId)", + "function setMinLiquidityRatio(uint256 minLiquidityRatio)", + "function setPoolCollateralConfiguration(uint128 poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) newConfig)", + "function setPoolCollateralDisabledByDefault(uint128 poolId, bool disabled)", + "function setPoolConfiguration(uint128 poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] newMarketConfigurations)", + "function setPoolName(uint128 poolId, string name)", + "error OverflowUint256ToUint32()", + "error OverflowUint32ToInt32()", + "error OverflowUint64ToInt64()", + "error RewardDistributorNotFound()", + "error RewardUnavailable(address distributor)", + "event RewardsClaimed(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount)", + "event RewardsDistributed(uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount, uint256 start, uint256 duration)", + "event RewardsDistributorRegistered(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "event RewardsDistributorRemoved(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "function claimRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) returns (uint256)", + "function distributeRewards(uint128 poolId, address collateralType, uint256 amount, uint64 start, uint32 duration)", + "function getAvailableRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function getRewardRate(uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function registerRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function removeRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function updateRewards(uint128 poolId, address collateralType, uint128 accountId) returns (uint256[], address[])", + "event NewSupportedCrossChainNetwork(uint64 newChainId)", + "function configureChainlinkCrossChain(address ccipRouter, address ccipTokenPool)", + "function configureOracleManager(address oracleManagerAddress)", + "function getConfig(bytes32 k) view returns (bytes32 v)", + "function getConfigAddress(bytes32 k) view returns (address v)", + "function getConfigUint(bytes32 k) view returns (uint256 v)", + "function getTrustedForwarder() pure returns (address)", + "function isTrustedForwarder(address forwarder) pure returns (bool)", + "function setConfig(bytes32 k, bytes32 v)", + "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "error InsufficientDelegation(uint256 minDelegation)", + "error InvalidCollateralAmount()", + "error InvalidLeverage(uint256 leverage)", + "error PoolCollateralLimitExceeded(uint128 poolId, address collateralType, uint256 currentCollateral, uint256 maxCollateral)", + "event DelegationUpdated(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, uint256 leverage, address indexed sender)", + "function delegateCollateral(uint128 accountId, uint128 poolId, address collateralType, uint256 newCollateralAmountD18, uint256 leverage)", + "function getPosition(uint128 accountId, uint128 poolId, address collateralType) returns (uint256 collateralAmount, uint256 collateralValue, int256 debt, uint256 collateralizationRatio)", + "function getPositionCollateral(uint128 accountId, uint128 poolId, address collateralType) view returns (uint256 amount)", + "function getPositionCollateralRatio(uint128 accountId, uint128 poolId, address collateralType) returns (uint256)", + "function getPositionDebt(uint128 accountId, uint128 poolId, address collateralType) returns (int256 debt)", + "function getVaultCollateral(uint128 poolId, address collateralType) view returns (uint256 amount, uint256 value)", + "function getVaultCollateralRatio(uint128 poolId, address collateralType) returns (uint256)", + "function getVaultDebt(uint128 poolId, address collateralType) returns (int256)" + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.upgrade_core_proxy", + "gasUsed": 0, + "gasCost": "0", + "highlight": true + }, + "AccountProxy": { + "address": "0x6e29bE5d3772f9eEeE9a5FEa5DEDDA7F81292b5a", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error AlreadyInitialized()", + "error CannotSelfApprove(address addr)", + "error IndexOverrun(uint256 requestedIndex, uint256 length)", + "error InvalidOwner(address addr)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidTransferRecipient(address addr)", + "error OverflowUint256ToUint128()", + "error TokenAlreadyMinted(uint256 id)", + "error TokenDoesNotExist(uint256 id)", + "event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)", + "event ApprovalForAll(address indexed owner, address indexed operator, bool approved)", + "event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)", + "function approve(address to, uint256 tokenId)", + "function balanceOf(address holder) view returns (uint256 balance)", + "function burn(uint256 tokenId)", + "function getApproved(uint256 tokenId) view returns (address operator)", + "function initialize(string tokenName, string tokenSymbol, string uri)", + "function isApprovedForAll(address holder, address operator) view returns (bool)", + "function isInitialized() view returns (bool)", + "function mint(address to, uint256 tokenId)", + "function name() view returns (string)", + "function ownerOf(uint256 tokenId) view returns (address)", + "function safeMint(address to, uint256 tokenId, bytes data)", + "function safeTransferFrom(address from, address to, uint256 tokenId)", + "function safeTransferFrom(address from, address to, uint256 tokenId, bytes data)", + "function setAllowance(uint256 tokenId, address spender)", + "function setApprovalForAll(address operator, bool approved)", + "function setBaseTokenURI(string uri)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function symbol() view returns (string)", + "function tokenByIndex(uint256 index) view returns (uint256)", + "function tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)", + "function tokenURI(uint256 tokenId) view returns (string)", + "function totalSupply() view returns (uint256)", + "function transferFrom(address from, address to, uint256 tokenId)" + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.init_account", + "gasUsed": 0, + "gasCost": "0", + "highlight": true + }, + "USDProxy": { + "address": "0x574036F5926AA5dD34d16c245e5992f4F2299BB2", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "error AlreadyInitialized()", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InsufficientBalance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "event Approval(address indexed owner, address indexed spender, uint256 amount)", + "event Transfer(address indexed from, address indexed to, uint256 amount)", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 amount) returns (bool)", + "function balanceOf(address owner) view returns (uint256)", + "function burn(uint256 amount)", + "function burn(address target, uint256 amount)", + "function burnWithAllowance(address from, address spender, uint256 amount)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function initialize(string tokenName, string tokenSymbol, uint8 tokenDecimals)", + "function isInitialized() view returns (bool)", + "function mint(address target, uint256 amount)", + "function name() view returns (string)", + "function setAllowance(address from, address spender, uint256 amount)", + "function symbol() view returns (string)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 amount) returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)" + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.init_usd", + "gasUsed": 0, + "gasCost": "0", + "highlight": true + } + }, + "imports": { + "oracle_manager": { + "url": "ipfs://QmXrcQNawxaxsZvLZ9cyWUtM4RBd12kCowKrNpz5ZdWgT6", + "tags": [ + "latest" + ], + "preset": "with-synthetix", + "contracts": { + "CoreModule": { + "address": "0x527A4e662c22733A056464D202E77AAd62fA6109", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x09f279637d8e85e62d71aa3ae85b246f0e0eb7a3892a484c7def7ac5e7685fb4", + "sourceName": "contracts/modules/CoreModule.sol", + "contractName": "CoreModule", + "deployedOn": "contract.CoreModule", + "gasUsed": 1387392, + "gasCost": "100000000" + }, + "NodeModule": { + "address": "0xFCAD0fF92f4854A467C28Bd98FBB40f8352F127A", + "abi": [ + "error DeviationToleranceExceeded(int256 deviation)", + "error InvalidInputPrice()", + "error InvalidNodeDefinition(tuple(uint8 nodeType, bytes parameters, bytes32[] parents) nodeType)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidPrice(int256 price)", + "error NodeNotRegistered(bytes32 nodeId)", + "error OracleDataRequired(address oracleContract, bytes oracleQuery)", + "error OverflowInt256ToUint256()", + "error OverflowInt56ToInt24()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint160()", + "error OverflowUint56ToInt56()", + "error StalenessToleranceExceeded()", + "error UnprocessableNode(bytes32 nodeId)", + "error UnsupportedOperation(uint8 operation)", + "event NodeRegistered(bytes32 nodeId, uint8 nodeType, bytes parameters, bytes32[] parents)", + "function getNode(bytes32 nodeId) pure returns (tuple(uint8 nodeType, bytes parameters, bytes32[] parents) node)", + "function getNodeId(uint8 nodeType, bytes parameters, bytes32[] parents) pure returns (bytes32 nodeId)", + "function process(bytes32 nodeId) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function processWithRuntime(bytes32 nodeId, bytes32[] runtimeKeys, bytes32[] runtimeValues) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function registerNode(uint8 nodeType, bytes parameters, bytes32[] parents) returns (bytes32 nodeId)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xd0712569ab23f8325665b38e9736c15d675205d6971c1989e582a37ab7858ae6", + "sourceName": "contracts/modules/NodeModule.sol", + "contractName": "NodeModule", + "deployedOn": "contract.NodeModule", + "gasUsed": 6226312, + "gasCost": "100000000" + }, + "InitialProxy": { + "address": "0xCD4cbBe3a36D145072cDDB89B0AE966761E416F9", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)" + ], + "constructorArgs": [ + "0x527A4e662c22733A056464D202E77AAd62fA6109", + "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + ], + "linkedLibraries": {}, + "deployTxnHash": "0xda7f2b369ec01553d08cddc05cc385192238074238a383e747d2c72876ebc523", + "sourceName": "contracts/Proxy.sol", + "contractName": "Proxy", + "deployedOn": "contract.InitialProxy", + "gasUsed": 486159, + "gasCost": "100000000" + }, + "OracleRouter": { + "address": "0x94d473d05a3882929b2c2af1772870a9ad602b77", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error DeviationToleranceExceeded(int256 deviation)", + "error InvalidInputPrice()", + "error InvalidNodeDefinition(tuple(uint8 nodeType, bytes parameters, bytes32[] parents) nodeType)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidPrice(int256 price)", + "error NodeNotRegistered(bytes32 nodeId)", + "error OracleDataRequired(address oracleContract, bytes oracleQuery)", + "error OverflowInt256ToUint256()", + "error OverflowInt56ToInt24()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint160()", + "error OverflowUint56ToInt56()", + "error StalenessToleranceExceeded()", + "error UnprocessableNode(bytes32 nodeId)", + "error UnsupportedOperation(uint8 operation)", + "event NodeRegistered(bytes32 nodeId, uint8 nodeType, bytes parameters, bytes32[] parents)", + "function getNode(bytes32 nodeId) pure returns (tuple(uint8 nodeType, bytes parameters, bytes32[] parents) node)", + "function getNodeId(uint8 nodeType, bytes parameters, bytes32[] parents) pure returns (bytes32 nodeId)", + "function process(bytes32 nodeId) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function processWithRuntime(bytes32 nodeId, bytes32[] runtimeKeys, bytes32[] runtimeValues) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function registerNode(uint8 nodeType, bytes parameters, bytes32[] parents) returns (bytes32 nodeId)" + ], + "deployedOn": "router.OracleRouter", + "deployTxnHash": "0xb240da854714a7a4afb710dffc16d58cb1df1c6348040b1df9b1706b9f55ebcc", + "contractName": "OracleRouter", + "sourceName": "OracleRouter.sol", + "gasUsed": 398286, + "gasCost": "100000000" + }, + "Proxy": { + "address": "0xCD4cbBe3a36D145072cDDB89B0AE966761E416F9", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error DeviationToleranceExceeded(int256 deviation)", + "error InvalidInputPrice()", + "error InvalidNodeDefinition(tuple(uint8 nodeType, bytes parameters, bytes32[] parents) nodeType)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidPrice(int256 price)", + "error NodeNotRegistered(bytes32 nodeId)", + "error OracleDataRequired(address oracleContract, bytes oracleQuery)", + "error OverflowInt256ToUint256()", + "error OverflowInt56ToInt24()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint160()", + "error OverflowUint56ToInt56()", + "error StalenessToleranceExceeded()", + "error UnprocessableNode(bytes32 nodeId)", + "error UnsupportedOperation(uint8 operation)", + "event NodeRegistered(bytes32 nodeId, uint8 nodeType, bytes parameters, bytes32[] parents)", + "function getNode(bytes32 nodeId) pure returns (tuple(uint8 nodeType, bytes parameters, bytes32[] parents) node)", + "function getNodeId(uint8 nodeType, bytes parameters, bytes32[] parents) pure returns (bytes32 nodeId)", + "function process(bytes32 nodeId) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function processWithRuntime(bytes32 nodeId, bytes32[] runtimeKeys, bytes32[] runtimeValues) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function registerNode(uint8 nodeType, bytes parameters, bytes32[] parents) returns (bytes32 nodeId)" + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.upgrade_proxy", + "gasUsed": 0, + "gasCost": "0", + "highlight": true + } + }, + "imports": { + "trusted_multicall_forwarder": { + "url": "ipfs://QmWaDqF2WP6LB3xACuWkWx7QCy7wTo66jNpmLCXc2xhRhE", + "tags": [ + "latest" + ], + "preset": "with-oracle-manager", + "contracts": { + "TrustedMulticallForwarder": { + "address": "0xE2C5658cC5C448B48141168f3e475dF8f65A1e3e", + "abi": [ + "constructor()", + "error AddressInsufficientBalance(address account)", + "error ERC2771ForwarderExpiredRequest(uint48 deadline)", + "error ERC2771ForwarderInvalidSigner(address signer, address from)", + "error ERC2771ForwarderMismatchedValue(uint256 requestedValue, uint256 msgValue)", + "error ERC2771UntrustfulTarget(address target, address forwarder)", + "error FailedInnerCall()", + "error InvalidAccountNonce(address account, uint256 currentNonce)", + "error InvalidShortString()", + "error StringTooLong(string str)", + "event EIP712DomainChanged()", + "event ExecutedForwardRequest(address indexed signer, uint256 nonce, bool success)", + "function aggregate(tuple(address target, bytes callData)[] calls) returns (uint256 blockNumber, bytes[] returnData)", + "function aggregate3(tuple(address target, bool requireSuccess, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function aggregate3Value(tuple(address target, bool requireSuccess, uint256 value, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function blockAndAggregate(tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)", + "function eip712Domain() view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)", + "function execute(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature) request) payable", + "function executeBatch(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature)[] requests) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function executeBatch(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature)[] requests, address refundReceiver) payable", + "function getBasefee() view returns (uint256 basefee)", + "function getBlockHash(uint256 blockNumber) view returns (bytes32 blockHash)", + "function getBlockNumber() view returns (uint256 blockNumber)", + "function getChainId() view returns (uint256 chainid)", + "function getCurrentBlockCoinbase() view returns (address coinbase)", + "function getCurrentBlockGasLimit() view returns (uint256 gaslimit)", + "function getCurrentBlockTimestamp() view returns (uint256 timestamp)", + "function getEthBalance(address addr) view returns (uint256 balance)", + "function getLastBlockHash() view returns (bytes32 blockHash)", + "function getPrevRandao() view returns (uint256 prevrandao)", + "function nonces(address owner) view returns (uint256)", + "function tryAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) returns (tuple(bool success, bytes returnData)[] returnData)", + "function tryBlockAndAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)", + "function verify(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature) request) view returns (bool)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xb6ade079172e4551c445793ac1dc02f2040633605f20c473af4b0d17985bd9ef", + "sourceName": "src/TrustedMulticallForwarder.sol", + "contractName": "TrustedMulticallForwarder", + "deployedOn": "contract.TrustedMulticallForwarder", + "gasUsed": 3201761, + "gasCost": "100000000" + } + } + } + }, + "txns": { + "upgrade_proxy": { + "hash": "0xd5e4065dece28760596a1f1eaeb65561276a6ca279f0b56b344b7089dfcdd8c7", + "events": { + "Upgraded": [ + { + "name": "Upgraded", + "args": [ + "0xCD4cbBe3a36D145072cDDB89B0AE966761E416F9", + "0x94d473d05A3882929b2C2af1772870a9Ad602B77" + ] + } + ] + }, + "deployedOn": "invoke.upgrade_proxy", + "gasUsed": 86194, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "trusted_multicall_forwarder": { + "url": "ipfs://QmdAmPr6eB7ncScRuzPQB31gpZVq5ESvq5HhePGzaomiu4", + "tags": [ + "latest" + ], + "preset": "with-synthetix", + "contracts": { + "TrustedMulticallForwarder": { + "address": "0xE2C5658cC5C448B48141168f3e475dF8f65A1e3e", + "abi": [ + "constructor()", + "error AddressInsufficientBalance(address account)", + "error ERC2771ForwarderExpiredRequest(uint48 deadline)", + "error ERC2771ForwarderInvalidSigner(address signer, address from)", + "error ERC2771ForwarderMismatchedValue(uint256 requestedValue, uint256 msgValue)", + "error ERC2771UntrustfulTarget(address target, address forwarder)", + "error FailedInnerCall()", + "error InvalidAccountNonce(address account, uint256 currentNonce)", + "error InvalidShortString()", + "error StringTooLong(string str)", + "event EIP712DomainChanged()", + "event ExecutedForwardRequest(address indexed signer, uint256 nonce, bool success)", + "function aggregate(tuple(address target, bytes callData)[] calls) returns (uint256 blockNumber, bytes[] returnData)", + "function aggregate3(tuple(address target, bool requireSuccess, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function aggregate3Value(tuple(address target, bool requireSuccess, uint256 value, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function blockAndAggregate(tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)", + "function eip712Domain() view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)", + "function execute(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature) request) payable", + "function executeBatch(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature)[] requests) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function executeBatch(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature)[] requests, address refundReceiver) payable", + "function getBasefee() view returns (uint256 basefee)", + "function getBlockHash(uint256 blockNumber) view returns (bytes32 blockHash)", + "function getBlockNumber() view returns (uint256 blockNumber)", + "function getChainId() view returns (uint256 chainid)", + "function getCurrentBlockCoinbase() view returns (address coinbase)", + "function getCurrentBlockGasLimit() view returns (uint256 gaslimit)", + "function getCurrentBlockTimestamp() view returns (uint256 timestamp)", + "function getEthBalance(address addr) view returns (uint256 balance)", + "function getLastBlockHash() view returns (bytes32 blockHash)", + "function getPrevRandao() view returns (uint256 prevrandao)", + "function nonces(address owner) view returns (uint256)", + "function tryAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) returns (tuple(bool success, bytes returnData)[] returnData)", + "function tryBlockAndAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)", + "function verify(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature) request) view returns (bool)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "", + "sourceName": "src/TrustedMulticallForwarder.sol", + "contractName": "TrustedMulticallForwarder", + "deployedOn": "contract.TrustedMulticallForwarder", + "gasUsed": 0, + "gasCost": "0" + } + } + } + }, + "txns": { + "register_const_one_oracle": { + "hash": "0x5b09ed95f7d0aebe10265e51787826838bcc32bbb2bf8ee86816913e3452c854", + "events": { + "NodeRegistered": [ + { + "name": "NodeRegistered", + "args": [ + "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733", + 8, + "0x0000000000000000000000000000000000000000000000000de0b6b3a7640000", + [] + ] + } + ] + }, + "deployedOn": "invoke.register_const_one_oracle", + "gasUsed": 162412, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "upgrade_core_proxy": { + "hash": "0x3c1f1414965eaf1725b4873bf0b593592fd456b53460410aec4096e3eba9425e", + "events": { + "Upgraded": [ + { + "name": "Upgraded", + "args": [ + "0x4Ab09F627fa9706f33178129005300Fd4c00EDF1", + "0x71CB5f83891dFd0F829e862f9D9acF5c1a0Af01d" + ] + } + ] + }, + "deployedOn": "invoke.upgrade_core_proxy", + "gasUsed": 81744, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_burnUsd": { + "hash": "0xfca24b2f9a8ebd64d9d3fcb7375dc45b17b25ce76e5b7103507b773ca52a1db3", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6275726e55736400000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_burnUsd", + "gasUsed": 98847, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_claimRewards": { + "hash": "0xc58c52503225ea71509683326d26a08f7bd6d83d4a25e58ba965fc294f12df22", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x636c61696d526577617264730000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_claimRewards", + "gasUsed": 98907, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_createAccount": { + "hash": "0x159377cf94f0bc0b9dc734747383a61b6a92ff73184ce94a89dc9109fbae8555", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6372656174654163636f756e7400000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_createAccount", + "gasUsed": 98919, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_delegateCollateral": { + "hash": "0x580015fd004c129c74430b5edb969cf5fdb3668b6f41e174c3c38d4779c2d2b3", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x64656c6567617465436f6c6c61746572616c0000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_delegateCollateral", + "gasUsed": 98979, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_deposit": { + "hash": "0x6a0fd0140ba719a11ba4ad7522a46a8edaf8047d76e83cc980ca7d2d173dc38d", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6465706f73697400000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_deposit", + "gasUsed": 98847, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_depositMarketCollateral": { + "hash": "0xdc875f871a874a6ee70bdd0bf33ea233794da2ba00ebe2f845624f84cfe8d397", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6465706f7369744d61726b6574436f6c6c61746572616c000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_depositMarketCollateral", + "gasUsed": 99039, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_depositMarketUsd": { + "hash": "0xc51d389e1a32a110f0dea025b80b888c43bd3c12a1b867cef0a1bab3d911c87f", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6465706f7369744d61726b657455736400000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_depositMarketUsd", + "gasUsed": 98955, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_liquidate": { + "hash": "0xefb831711ead7c9d27362b5a3d510c1b29bd463ebf4ce12138544eaaf9fbef49", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6c69717569646174650000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_liquidate", + "gasUsed": 98871, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_liquidateVault": { + "hash": "0x89a2640395c0ecd31ed8264ba99c8ff54e8fea49762f80efd8be1ac897a52cc7", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6c69717569646174655661756c74000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_liquidateVault", + "gasUsed": 98931, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_mintUsd": { + "hash": "0xcfcbe1854de5c4bed259a68775a71e16862226cec1041541e0a1a020b3565748", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6d696e7455736400000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_mintUsd", + "gasUsed": 98847, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_withdraw": { + "hash": "0x32d121c48f12435683983e829a634b39fa7b590d9aa1902e8dd81913a2465fa4", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x7769746864726177000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_withdraw", + "gasUsed": 98859, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_withdrawMarketCollateral": { + "hash": "0x6301a8b4ce31d4ce615a678a35719cf87c8a5955346391e52fa7ba91ea05ce54", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x77697468647261774d61726b6574436f6c6c61746572616c0000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_withdrawMarketCollateral", + "gasUsed": 99051, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_withdrawMarketUsd": { + "hash": "0x7ecead25a1e25ec6bb20263e4e0482c79d3a352373ad33a1180ea9b0ac616f10", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x77697468647261774d61726b6574557364000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_withdrawMarketUsd", + "gasUsed": 98967, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "init_account": { + "hash": "0x1e1e7f4ffbb54ed5608bf360e02b5958f3c324d3fffa87011c13f3876ca6c69e", + "events": { + "AssociatedSystemSet": [ + { + "name": "AssociatedSystemSet", + "args": [ + "0x6572633732310000000000000000000000000000000000000000000000000000", + "0x6163636f756e744e667400000000000000000000000000000000000000000000", + "0x6e29bE5d3772f9eEeE9a5FEa5DEDDA7F81292b5a", + "0x0a71D7cA0672329EbB72dcF3d58EB4Dd7984ec08" + ] + } + ] + }, + "deployedOn": "invoke.init_account", + "gasUsed": 428964, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "init_usd": { + "hash": "0x069a2a80ede5840e6f68c133081f3dff364a1e30cde33aff893fba3bcb6b70f0", + "events": { + "AssociatedSystemSet": [ + { + "name": "AssociatedSystemSet", + "args": [ + "0x6572633230000000000000000000000000000000000000000000000000000000", + "0x555344546f6b656e000000000000000000000000000000000000000000000000", + "0x574036F5926AA5dD34d16c245e5992f4F2299BB2", + "0xFb012bF551f25164483D01B91823BCe5c3983FF2" + ] + } + ] + }, + "deployedOn": "invoke.init_usd", + "gasUsed": 395851, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "set_oracle_manager": { + "hash": "0x092f19543212dddc4b70cda5571c66d3287d8bad8ac8f61c2d68ed79a82ca1f1", + "events": {}, + "deployedOn": "invoke.set_oracle_manager", + "gasUsed": 89071, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "configure_usd_collateral": { + "hash": "0xcf220ce182ef8ce86c2a0910f306114a1c2acfa92b2052e6039b8179df26719f", + "events": { + "CollateralConfigured": [ + { + "name": "CollateralConfigured", + "args": [ + "0x574036F5926AA5dD34d16c245e5992f4F2299BB2", + { + "depositingEnabled": true, + "issuanceRatioD18": "10000000000000000000", + "liquidationRatioD18": "10000000000000000000", + "liquidationRewardD18": "0", + "oracleNodeId": "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733", + "tokenAddress": "0x574036F5926AA5dD34d16c245e5992f4F2299BB2", + "minDelegationD18": "115792089237316195423570985008687907853269984665640564039457584007913129639935" + } + ] + } + ] + }, + "deployedOn": "invoke.configure_usd_collateral", + "gasUsed": 309834, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": { + "const_one_oracle_id": "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733" + } + } + }, + "txns": { + "upgradeSpotMarketProxy": { + "hash": "0xaa28457247f564c7609ca57abebd8923755e7e4bf3b6e970bc4e97fbca7b0a71", + "events": { + "Upgraded": [ + { + "name": "Upgraded", + "args": [ + "0x4BeadB0CaC85b4E3F2F3E71bDc0624FA60260a74", + "0x6E6B88C6c8c9483D9721d62239070C4a20aEE74f" + ] + } + ] + }, + "deployedOn": "invoke.upgradeSpotMarketProxy", + "gasUsed": 86226, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "addCreateSynthToFeatureFlag": { + "hash": "0x8f078d0fd942395ad76671e3d49717456202a6465b8bc83cc1eb41585789f01c", + "events": { + "FeatureFlagAllowlistAdded": [ + { + "name": "FeatureFlagAllowlistAdded", + "args": [ + "0x63726561746553796e7468000000000000000000000000000000000000000000", + "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + ] + } + ] + }, + "deployedOn": "invoke.addCreateSynthToFeatureFlag", + "gasUsed": 143639, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "addSpotMarketToFeatureFlag": { + "hash": "0x2167b6c0b4732d69eec4a3b008f5638d52508cf7ccb16dea2bffc9b8f42fdde1", + "events": { + "FeatureFlagAllowlistAdded": [ + { + "name": "FeatureFlagAllowlistAdded", + "args": [ + "0x72656769737465724d61726b6574000000000000000000000000000000000000", + "0x4BeadB0CaC85b4E3F2F3E71bDc0624FA60260a74" + ] + } + ] + }, + "deployedOn": "invoke.addSpotMarketToFeatureFlag", + "gasUsed": 161941, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "setSynthImplementation": { + "hash": "0x7303a783e6701c59c57e543e82c8591980d9c2fa9656b1cef3e281b574812476", + "events": { + "SynthImplementationSet": [ + { + "name": "SynthImplementationSet", + "args": [ + "0xDd43b9413249835104e5b1FF86F16DDc5E073815" + ] + } + ] + }, + "deployedOn": "invoke.setSynthImplementation", + "gasUsed": 90459, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "setSynthetixSystem": { + "hash": "0x254d28f61e632ddcbfbca4cdc20a15f6a6b1b00771c3ec85af55b56c4fe17232", + "events": { + "SynthetixSystemSet": [ + { + "name": "SynthetixSystemSet", + "args": [ + "0x4Ab09F627fa9706f33178129005300Fd4c00EDF1", + "0x574036F5926AA5dD34d16c245e5992f4F2299BB2", + "0xCD4cbBe3a36D145072cDDB89B0AE966761E416F9" + ] + } + ] + }, + "deployedOn": "invoke.setSynthetixSystem", + "gasUsed": 173553, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "synthetix": { + "url": "ipfs://QmQgBJxBPDJ3hfFex2SKSihRSdBBomUmaL3r7ja24Ap8Go", + "contracts": { + "AccountModule": { + "address": "0xBb0CBCa9CE28a8C6c7Aaa13584A76c0B1a35Fff7", + "abi": [ + "error FeatureUnavailable(bytes32 which)", + "error InvalidAccountId(uint128 accountId)", + "error InvalidPermission(bytes32 permission)", + "error OnlyAccountTokenProxy(address origin)", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PermissionNotGranted(uint128 accountId, bytes32 permission, address user)", + "error PositionOutOfBounds()", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "error ZeroAddress()", + "event AccountCreated(uint128 indexed accountId, address indexed owner)", + "event PermissionGranted(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "event PermissionRevoked(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "function createAccount() returns (uint128 accountId)", + "function createAccount(uint128 requestedAccountId)", + "function getAccountLastInteraction(uint128 accountId) view returns (uint256)", + "function getAccountOwner(uint128 accountId) view returns (address)", + "function getAccountPermissions(uint128 accountId) view returns (tuple(address user, bytes32[] permissions)[] accountPerms)", + "function getAccountTokenAddress() view returns (address)", + "function grantPermission(uint128 accountId, bytes32 permission, address user)", + "function hasPermission(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function isAuthorized(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function notifyAccountTransfer(address to, uint128 accountId)", + "function renouncePermission(uint128 accountId, bytes32 permission)", + "function revokePermission(uint128 accountId, bytes32 permission, address user)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x18d83342552a8c747220ab5bca9b844b0dcaf6fcc36cf676afacaccb99514d2d", + "sourceName": "contracts/modules/core/AccountModule.sol", + "contractName": "AccountModule", + "deployedOn": "contract.AccountModule", + "gasUsed": 1962339, + "gasCost": "100000000" + }, + "AccountTokenModule": { + "address": "0xd1e00870D19AB306a255Eaf6161cbeb78730F501", + "abi": [ + "error AlreadyInitialized()", + "error CannotSelfApprove(address addr)", + "error IndexOverrun(uint256 requestedIndex, uint256 length)", + "error InvalidOwner(address addr)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidTransferRecipient(address addr)", + "error OverflowUint256ToUint128()", + "error TokenAlreadyMinted(uint256 id)", + "error TokenDoesNotExist(uint256 id)", + "error Unauthorized(address addr)", + "error ZeroAddress()", + "event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)", + "event ApprovalForAll(address indexed owner, address indexed operator, bool approved)", + "event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)", + "function approve(address to, uint256 tokenId)", + "function balanceOf(address holder) view returns (uint256 balance)", + "function burn(uint256 tokenId)", + "function getApproved(uint256 tokenId) view returns (address operator)", + "function initialize(string tokenName, string tokenSymbol, string uri)", + "function isApprovedForAll(address holder, address operator) view returns (bool)", + "function isInitialized() view returns (bool)", + "function mint(address to, uint256 tokenId)", + "function name() view returns (string)", + "function ownerOf(uint256 tokenId) view returns (address)", + "function safeMint(address to, uint256 tokenId, bytes data)", + "function safeTransferFrom(address from, address to, uint256 tokenId)", + "function safeTransferFrom(address from, address to, uint256 tokenId, bytes data)", + "function setAllowance(uint256 tokenId, address spender)", + "function setApprovalForAll(address operator, bool approved)", + "function setBaseTokenURI(string uri)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function symbol() view returns (string)", + "function tokenByIndex(uint256 index) view returns (uint256)", + "function tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)", + "function tokenURI(uint256 tokenId) view returns (string)", + "function totalSupply() view returns (uint256)", + "function transferFrom(address from, address to, uint256 tokenId)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xfee543f5f83c14bac68bc9c40b1a7905dadccf684d93eb48bf7321a8ef89336c", + "sourceName": "contracts/modules/account/AccountTokenModule.sol", + "contractName": "AccountTokenModule", + "deployedOn": "contract.AccountTokenModule", + "gasUsed": 2864034, + "gasCost": "100000000" + }, + "AssociateDebtModule": { + "address": "0x7e5fF045f228075e759355a15B80d48BBBb9A1bC", + "abi": [ + "error AccountNotFound(uint128 accountId)", + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)", + "error MarketNotFound(uint128 marketId)", + "error NotFundedByPool(uint256 marketId, uint256 poolId)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error Unauthorized(address addr)", + "event DebtAssociated(uint128 indexed marketId, uint128 indexed poolId, address indexed collateralType, uint128 accountId, uint256 amount, int256 updatedDebt)", + "function associateDebt(uint128 marketId, uint128 poolId, address collateralType, uint128 accountId, uint256 amount) returns (int256)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x43152c69f60de40bd7e2f223461d2b5272a76791ea70723e53452e75f7122d35", + "sourceName": "contracts/modules/core/AssociateDebtModule.sol", + "contractName": "AssociateDebtModule", + "deployedOn": "contract.AssociateDebtModule", + "gasUsed": 3586947, + "gasCost": "100000000" + }, + "AssociatedSystemsModule": { + "address": "0xD5FcCd43205CEF11FbaF9b38dF15ADbe1B186869", + "abi": [ + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "error Unauthorized(address addr)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x2fcb1d5c7aaedfa113657d4d597a88c9f091b98d35410c04ae5848a12f78aeb9", + "sourceName": "contracts/modules/associated-systems/AssociatedSystemsModule.sol", + "contractName": "AssociatedSystemsModule", + "deployedOn": "contract.AssociatedSystemsModule", + "gasUsed": 1373337, + "gasCost": "100000000" + }, + "CcipReceiverModule": { + "address": "0xd10cd91683301c8C15eDA40F59e73d1b0BcfECDD", + "abi": [ + "error InvalidMessage()", + "error NotCcipRouter(address)", + "error Unauthorized(address addr)", + "error UnsupportedNetwork(uint64)", + "function ccipReceive(tuple(bytes32 messageId, uint64 sourceChainSelector, bytes sender, bytes data, tuple(address token, uint256 amount)[] tokenAmounts) message)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x020b837f84bd556165a2206df8477d44b3317d357b0f0e6220d9918d3b853276", + "sourceName": "contracts/modules/core/CcipReceiverModule.sol", + "contractName": "CcipReceiverModule", + "deployedOn": "contract.CcipReceiverModule", + "gasUsed": 802040, + "gasCost": "100000000" + }, + "CollateralConfigurationModule": { + "address": "0x3091AcaEAF27985F33a8a4b0EefEa49dc60c8506", + "abi": [ + "error InvalidParameter(string parameter, string reason)", + "error OverflowInt256ToUint256()", + "error PositionOutOfBounds()", + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "event CollateralConfigured(address indexed collateralType, tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function configureCollateral(tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function getCollateralConfiguration(address collateralType) pure returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18))", + "function getCollateralConfigurations(bool hideDisabled) view returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18)[])", + "function getCollateralPrice(address collateralType) view returns (uint256)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x9b2d5789720e5d906a359b0b9a1d27a6f5b1af1b8af9675b109294aae00fe1d6", + "sourceName": "contracts/modules/core/CollateralConfigurationModule.sol", + "contractName": "CollateralConfigurationModule", + "deployedOn": "contract.CollateralConfigurationModule", + "gasUsed": 1370165, + "gasCost": "100000000" + }, + "CollateralModule": { + "address": "0x0DAeA0367d7b82644C4db4D992cF4ba39c8A359C", + "abi": [ + "error AccountActivityTimeoutPending(uint128 accountId, uint256 currentTime, uint256 requiredTime)", + "error AccountNotFound(uint128 accountId)", + "error CollateralDepositDisabled(address collateralType)", + "error CollateralNotFound()", + "error FailedTransfer(address from, address to, uint256 value)", + "error FeatureUnavailable(bytes32 which)", + "error InsufficentAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)", + "error InsufficientAccountCollateral(uint256 amount)", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToUint128()", + "error OverflowUint256ToUint64()", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PositionOutOfBounds()", + "error PrecisionLost(uint256 tokenAmount, uint8 decimals)", + "event CollateralLockCreated(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event CollateralLockExpired(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event Deposited(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "event Withdrawn(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "function cleanExpiredLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) returns (uint256 cleared)", + "function createLock(uint128 accountId, address collateralType, uint256 amount, uint64 expireTimestamp)", + "function deposit(uint128 accountId, address collateralType, uint256 tokenAmount)", + "function getAccountAvailableCollateral(uint128 accountId, address collateralType) view returns (uint256)", + "function getAccountCollateral(uint128 accountId, address collateralType) view returns (uint256 totalDeposited, uint256 totalAssigned, uint256 totalLocked)", + "function getLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) view returns (tuple(uint128 amountD18, uint64 lockExpirationTime)[] locks)", + "function withdraw(uint128 accountId, address collateralType, uint256 tokenAmount)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x82bc4461a9fcefbb2f74a229effeed0b58e8aa5ceefedb585daf27e70209e21e", + "sourceName": "contracts/modules/core/CollateralModule.sol", + "contractName": "CollateralModule", + "deployedOn": "contract.CollateralModule", + "gasUsed": 2834863, + "gasCost": "100000000" + }, + "CrossChainUSDModule": { + "address": "0x978D4b5438D3E4EDf4f03682e5A53b48E56604c5", + "abi": [ + "error FeatureUnavailable(bytes32 which)", + "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "event TransferCrossChainInitiated(uint64 indexed destChainId, uint256 indexed amount, address sender)", + "function transferCrossChain(uint64 destChainId, uint256 amount) payable returns (uint256 gasTokenUsed)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xc4942e90cd4588ad332c5069e2be4435800f7030ccd5bafb5f73d3990e258281", + "sourceName": "contracts/modules/core/CrossChainUSDModule.sol", + "contractName": "CrossChainUSDModule", + "deployedOn": "contract.CrossChainUSDModule", + "gasUsed": 1016259, + "gasCost": "100000000" + }, + "FeatureFlagModule": { + "address": "0xb16a8B06318C78c274f3BBc5CC5C9191B0d0c1A3", + "abi": [ + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x55f518a183a88388ec3f3ae305aec581f42c346ef73fac81681f1ac19aa40805", + "sourceName": "contracts/modules/core/FeatureFlagModule.sol", + "contractName": "FeatureFlagModule", + "deployedOn": "contract.FeatureFlagModule", + "gasUsed": 1322533, + "gasCost": "100000000" + }, + "InitialModuleBundle": { + "address": "0x828EED723cAF0A8F822249231266E38dF614923C", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x48b0a7c9404c5ceaeb59491e3ee15579be92edc50f27b796544bcca6feeb4183", + "sourceName": "contracts/modules/InitialModuleBundle.sol", + "contractName": "InitialModuleBundle", + "deployedOn": "contract.InitialModuleBundle", + "gasUsed": 856521, + "gasCost": "100000000" + }, + "IssueUSDModule": { + "address": "0xF5C78bAB6d1e52EA3c2BE6c657BB4Ef29244E0f5", + "abi": [ + "error CollateralDepositDisabled(address collateralType)", + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error InsufficentAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)", + "error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)", + "error InsufficientDebt(int256 currentDebt)", + "error InvalidParameter(string parameter, string reason)", + "error MarketNotFound(uint128 marketId)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PoolNotFound(uint128 poolId)", + "event IssuanceFeePaid(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 feeAmount)", + "event UsdBurned(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "event UsdMinted(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "function burnUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)", + "function mintUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x75c35436cc2495995460018b0ffb95f72d4887a36a1040bf6ba7cd8448654a12", + "sourceName": "contracts/modules/core/IssueUSDModule.sol", + "contractName": "IssueUSDModule", + "deployedOn": "contract.IssueUSDModule", + "gasUsed": 4432823, + "gasCost": "100000000" + }, + "LiquidationModule": { + "address": "0x569E1A3Ca9aE30416d2CbFE9A8e43538f35Bdc8d", + "abi": [ + "error AccountNotFound(uint128 accountId)", + "error CannotScaleEmptyMapping()", + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error IneligibleForLiquidation(uint256 collateralValue, int256 debt, uint256 currentCRatio, uint256 cratio)", + "error InsufficientMappedAmount()", + "error InvalidParameter(string parameter, string reason)", + "error MarketNotFound(uint128 marketId)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MustBeVaultLiquidated()", + "error OverflowInt128ToUint128()", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "event Liquidation(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "event VaultLiquidation(uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "function isPositionLiquidatable(uint128 accountId, uint128 poolId, address collateralType) returns (bool)", + "function isVaultLiquidatable(uint128 poolId, address collateralType) returns (bool)", + "function liquidate(uint128 accountId, uint128 poolId, address collateralType, uint128 liquidateAsAccountId) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)", + "function liquidateVault(uint128 poolId, address collateralType, uint128 liquidateAsAccountId, uint256 maxUsd) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xe6c8445b1a82097753c6c58ab439c30148bdec505bc2c3cd50178faa4c33d1d6", + "sourceName": "contracts/modules/core/LiquidationModule.sol", + "contractName": "LiquidationModule", + "deployedOn": "contract.LiquidationModule", + "gasUsed": 4555211, + "gasCost": "100000000" + }, + "MarketCollateralModule": { + "address": "0xd9A139422AB4BEe9d5E071fcCa8e34217953D6a9", + "abi": [ + "error CollateralNotFound()", + "error FailedTransfer(address from, address to, uint256 value)", + "error FeatureUnavailable(bytes32 which)", + "error InsufficientMarketCollateralDepositable(uint128 marketId, address collateralType, uint256 tokenAmountToDeposit)", + "error InsufficientMarketCollateralWithdrawable(uint128 marketId, address collateralType, uint256 tokenAmountToWithdraw)", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToInt256()", + "error PrecisionLost(uint256 tokenAmount, uint8 decimals)", + "error Unauthorized(address addr)", + "event MarketCollateralDeposited(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MarketCollateralWithdrawn(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MaximumMarketCollateralConfigured(uint128 indexed marketId, address indexed collateralType, uint256 systemAmount, address indexed owner)", + "function configureMaximumMarketCollateral(uint128 marketId, address collateralType, uint256 amount)", + "function depositMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)", + "function getMarketCollateralAmount(uint128 marketId, address collateralType) view returns (uint256 collateralAmountD18)", + "function getMarketCollateralValue(uint128 marketId) view returns (uint256)", + "function getMaximumMarketCollateral(uint128 marketId, address collateralType) view returns (uint256)", + "function withdrawMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xeb30410ded4de61c35dad99e27f21ad2c86a7ec563114a3ac1457b62d6623a80", + "sourceName": "contracts/modules/core/MarketCollateralModule.sol", + "contractName": "MarketCollateralModule", + "deployedOn": "contract.MarketCollateralModule", + "gasUsed": 2000574, + "gasCost": "100000000" + }, + "MarketManagerModule": { + "address": "0xe8f3c0a64FA3D76942521923352F9DDFBb3763B9", + "abi": [ + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error IncorrectMarketInterface(address market)", + "error InvalidParameter(string parameter, string reason)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error NotEnoughLiquidity(uint128 marketId, uint256 amount)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error Unauthorized(address addr)", + "event MarketRegistered(address indexed market, uint128 indexed marketId, address indexed sender)", + "event MarketSystemFeePaid(uint128 indexed marketId, uint256 feeAmount)", + "event MarketUsdDeposited(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event MarketUsdWithdrawn(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event SetMarketMinLiquidityRatio(uint128 indexed marketId, uint256 minLiquidityRatio)", + "event SetMinDelegateTime(uint128 indexed marketId, uint32 minDelegateTime)", + "function depositMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", + "function distributeDebtToPools(uint128 marketId, uint256 maxIter) returns (bool)", + "function getMarketAddress(uint128 marketId) view returns (address)", + "function getMarketCollateral(uint128 marketId) view returns (uint256)", + "function getMarketDebtPerShare(uint128 marketId) returns (int256)", + "function getMarketFees(uint128, uint256 amount) view returns (uint256 depositFeeAmount, uint256 withdrawFeeAmount)", + "function getMarketMinDelegateTime(uint128 marketId) view returns (uint32)", + "function getMarketNetIssuance(uint128 marketId) view returns (int128)", + "function getMarketPoolDebtDistribution(uint128 marketId, uint128 poolId) returns (uint256 sharesD18, uint128 totalSharesD18, int128 valuePerShareD27)", + "function getMarketPools(uint128 marketId) returns (uint128[] inRangePoolIds, uint128[] outRangePoolIds)", + "function getMarketReportedDebt(uint128 marketId) view returns (uint256)", + "function getMarketTotalDebt(uint128 marketId) view returns (int256)", + "function getMinLiquidityRatio(uint128 marketId) view returns (uint256)", + "function getOracleManager() view returns (address)", + "function getUsdToken() view returns (address)", + "function getWithdrawableMarketUsd(uint128 marketId) view returns (uint256)", + "function isMarketCapacityLocked(uint128 marketId) view returns (bool)", + "function registerMarket(address market) returns (uint128 marketId)", + "function setMarketMinDelegateTime(uint128 marketId, uint32 minDelegateTime)", + "function setMinLiquidityRatio(uint128 marketId, uint256 minLiquidityRatio)", + "function withdrawMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x30494350a57d1bfd8766fecb64aab5e7d7436ee08d209d0e263d177db3e99939", + "sourceName": "contracts/modules/core/MarketManagerModule.sol", + "contractName": "MarketManagerModule", + "deployedOn": "contract.MarketManagerModule", + "gasUsed": 4376458, + "gasCost": "100000000" + }, + "PoolConfigurationModule": { + "address": "0x6f7E8EB502cEFe31a0565390Cf6a17E50A237A02", + "abi": [ + "error PoolNotFound(uint128 poolId)", + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event PoolApprovedAdded(uint256 poolId)", + "event PoolApprovedRemoved(uint256 poolId)", + "event PreferredPoolSet(uint256 poolId)", + "function addApprovedPool(uint128 poolId)", + "function getApprovedPools() view returns (uint256[])", + "function getPreferredPool() view returns (uint128)", + "function removeApprovedPool(uint128 poolId)", + "function setPreferredPool(uint128 poolId)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xcb9e49288a38a5bf6bae25e8577876f4dbbfdf5c2c0287b0e191621901e71428", + "sourceName": "contracts/modules/core/PoolConfigurationModule.sol", + "contractName": "PoolConfigurationModule", + "deployedOn": "contract.PoolConfigurationModule", + "gasUsed": 765875, + "gasCost": "100000000" + }, + "PoolModule": { + "address": "0xf326AF86ff32B430d7ba01E9BCe198246ef2b027", + "abi": [ + "error CapacityLocked(uint256 marketId)", + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error InvalidParameter(string parameter, string reason)", + "error MarketNotFound(uint128 marketId)", + "error MinDelegationTimeoutPending(uint128 poolId, uint32 timeRemaining)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error PoolAlreadyExists(uint128 poolId)", + "error PoolNotFound(uint128 poolId)", + "error Unauthorized(address addr)", + "error ZeroAddress()", + "event PoolCollateralConfigurationUpdated(uint128 indexed poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "event PoolCollateralDisabledByDefaultSet(uint128 poolId, bool disabled)", + "event PoolConfigurationSet(uint128 indexed poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] markets, address indexed sender)", + "event PoolCreated(uint128 indexed poolId, address indexed owner, address indexed sender)", + "event PoolNameUpdated(uint128 indexed poolId, string name, address indexed sender)", + "event PoolNominationRenounced(uint128 indexed poolId, address indexed owner)", + "event PoolNominationRevoked(uint128 indexed poolId, address indexed owner)", + "event PoolOwnerNominated(uint128 indexed poolId, address indexed nominatedOwner, address indexed owner)", + "event PoolOwnershipAccepted(uint128 indexed poolId, address indexed owner)", + "event PoolOwnershipRenounced(uint128 indexed poolId, address indexed owner)", + "event SetMinLiquidityRatio(uint256 minLiquidityRatio)", + "function acceptPoolOwnership(uint128 poolId)", + "function createPool(uint128 requestedPoolId, address owner)", + "function getMinLiquidityRatio() view returns (uint256)", + "function getNominatedPoolOwner(uint128 poolId) view returns (address)", + "function getPoolCollateralConfiguration(uint128 poolId, address collateralType) view returns (tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "function getPoolCollateralIssuanceRatio(uint128 poolId, address collateral) view returns (uint256)", + "function getPoolConfiguration(uint128 poolId) view returns (tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[])", + "function getPoolName(uint128 poolId) view returns (string poolName)", + "function getPoolOwner(uint128 poolId) view returns (address)", + "function nominatePoolOwner(address nominatedOwner, uint128 poolId)", + "function rebalancePool(uint128 poolId, address optionalCollateralType)", + "function renouncePoolNomination(uint128 poolId)", + "function renouncePoolOwnership(uint128 poolId)", + "function revokePoolNomination(uint128 poolId)", + "function setMinLiquidityRatio(uint256 minLiquidityRatio)", + "function setPoolCollateralConfiguration(uint128 poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) newConfig)", + "function setPoolCollateralDisabledByDefault(uint128 poolId, bool disabled)", + "function setPoolConfiguration(uint128 poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] newMarketConfigurations)", + "function setPoolName(uint128 poolId, string name)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x2e75e67159f9a5aa561102ddc187c6c575dc1a170b3df70bdd3407cea19a5c36", + "sourceName": "contracts/modules/core/PoolModule.sol", + "contractName": "PoolModule", + "deployedOn": "contract.PoolModule", + "gasUsed": 5877702, + "gasCost": "100000000" + }, + "RewardsManagerModule": { + "address": "0x758a399E97D9D7F0253A854af451e6D1275e72E4", + "abi": [ + "error AccountNotFound(uint128 accountId)", + "error FeatureUnavailable(bytes32 which)", + "error InvalidParameter(string parameter, string reason)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error OverflowUint256ToUint32()", + "error OverflowUint32ToInt32()", + "error OverflowUint64ToInt64()", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PositionOutOfBounds()", + "error RewardDistributorNotFound()", + "error RewardUnavailable(address distributor)", + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event RewardsClaimed(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount)", + "event RewardsDistributed(uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount, uint256 start, uint256 duration)", + "event RewardsDistributorRegistered(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "event RewardsDistributorRemoved(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "function claimRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) returns (uint256)", + "function distributeRewards(uint128 poolId, address collateralType, uint256 amount, uint64 start, uint32 duration)", + "function getAvailableRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function getRewardRate(uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function registerRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function removeRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function updateRewards(uint128 poolId, address collateralType, uint128 accountId) returns (uint256[], address[])" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x95a08325b277f9131e741d0c69fd7da80ac213e4a0186ca08bfa039e5784a6e9", + "sourceName": "contracts/modules/core/RewardsManagerModule.sol", + "contractName": "RewardsManagerModule", + "deployedOn": "contract.RewardsManagerModule", + "gasUsed": 3453921, + "gasCost": "100000000" + }, + "USDTokenModule": { + "address": "0x3f10B7157c1dA14d5429790959eBA750C17A8c46", + "abi": [ + "error AlreadyInitialized()", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InsufficientBalance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "error Unauthorized(address addr)", + "event Approval(address indexed owner, address indexed spender, uint256 amount)", + "event Transfer(address indexed from, address indexed to, uint256 amount)", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 amount) returns (bool)", + "function balanceOf(address owner) view returns (uint256)", + "function burn(uint256 amount)", + "function burn(address target, uint256 amount)", + "function burnWithAllowance(address from, address spender, uint256 amount)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function initialize(string tokenName, string tokenSymbol, uint8 tokenDecimals)", + "function isInitialized() view returns (bool)", + "function mint(address target, uint256 amount)", + "function name() view returns (string)", + "function setAllowance(address from, address spender, uint256 amount)", + "function symbol() view returns (string)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 amount) returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x0a81688d31e061d803ac98cad0fb1c42e611caa887ac8a382fe4852fceefe452", + "sourceName": "contracts/modules/usd/USDTokenModule.sol", + "contractName": "USDTokenModule", + "deployedOn": "contract.USDTokenModule", + "gasUsed": 1814070, + "gasCost": "100000000" + }, + "UtilsModule": { + "address": "0xBCc471Ec390E59f3D5F77E9a8Bb24cd26D29Bfb7", + "abi": [ + "error InvalidParameter(string parameter, string reason)", + "error OverflowUint256ToUint64()", + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "event NewSupportedCrossChainNetwork(uint64 newChainId)", + "function configureChainlinkCrossChain(address ccipRouter, address ccipTokenPool)", + "function configureOracleManager(address oracleManagerAddress)", + "function getConfig(bytes32 k) view returns (bytes32 v)", + "function getConfigAddress(bytes32 k) view returns (address v)", + "function getConfigUint(bytes32 k) view returns (uint256 v)", + "function getTrustedForwarder() pure returns (address)", + "function isTrustedForwarder(address forwarder) pure returns (bool)", + "function setConfig(bytes32 k, bytes32 v)", + "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x924b26a05729483b5daf98a987eef6c23a9a0a1b641a9bc8491ac1c42a8a8635", + "sourceName": "contracts/modules/core/UtilsModule.sol", + "contractName": "UtilsModule", + "deployedOn": "contract.UtilsModule", + "gasUsed": 1243859, + "gasCost": "100000000" + }, + "VaultModule": { + "address": "0xa51b344Beb72bb9DaC84A70cb9b77cA33DB1675b", + "abi": [ + "error CapacityLocked(uint256 marketId)", + "error CollateralDepositDisabled(address collateralType)", + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error InsufficentAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)", + "error InsufficientAccountCollateral(uint256 amount)", + "error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)", + "error InsufficientDelegation(uint256 minDelegation)", + "error InvalidCollateralAmount()", + "error InvalidLeverage(uint256 leverage)", + "error MarketNotFound(uint128 marketId)", + "error MinDelegationTimeoutPending(uint128 poolId, uint32 timeRemaining)", + "error OverflowInt128ToUint128()", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error OverflowUint256ToUint32()", + "error OverflowUint32ToInt32()", + "error OverflowUint64ToInt64()", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PoolCollateralLimitExceeded(uint128 poolId, address collateralType, uint256 currentCollateral, uint256 maxCollateral)", + "error PoolNotFound(uint128 poolId)", + "error PositionOutOfBounds()", + "error RewardDistributorNotFound()", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event DelegationUpdated(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, uint256 leverage, address indexed sender)", + "function delegateCollateral(uint128 accountId, uint128 poolId, address collateralType, uint256 newCollateralAmountD18, uint256 leverage)", + "function getPosition(uint128 accountId, uint128 poolId, address collateralType) returns (uint256 collateralAmount, uint256 collateralValue, int256 debt, uint256 collateralizationRatio)", + "function getPositionCollateral(uint128 accountId, uint128 poolId, address collateralType) view returns (uint256 amount)", + "function getPositionCollateralRatio(uint128 accountId, uint128 poolId, address collateralType) returns (uint256)", + "function getPositionDebt(uint128 accountId, uint128 poolId, address collateralType) returns (int256 debt)", + "function getVaultCollateral(uint128 poolId, address collateralType) view returns (uint256 amount, uint256 value)", + "function getVaultCollateralRatio(uint128 poolId, address collateralType) returns (uint256)", + "function getVaultDebt(uint128 poolId, address collateralType) returns (int256)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xf507da863641ca218d26b4aeeda29802300217600e40cd9007db4f4244d9ce84", + "sourceName": "contracts/modules/core/VaultModule.sol", + "contractName": "VaultModule", + "deployedOn": "contract.VaultModule", + "gasUsed": 5599946, + "gasCost": "100000000" + }, + "InitialCoreProxy": { + "address": "0x4Ab09F627fa9706f33178129005300Fd4c00EDF1", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)" + ], + "constructorArgs": [ + "0x828EED723cAF0A8F822249231266E38dF614923C", + "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + ], + "linkedLibraries": {}, + "deployTxnHash": "0xcc8bbb0ee97d1b5d6c1388ab5fbfde9d34060f4426b547c3fc6f23e7efda002f", + "sourceName": "contracts/Proxy.sol", + "contractName": "Proxy", + "deployedOn": "contract.InitialCoreProxy", + "gasUsed": 376750, + "gasCost": "100000000" + }, + "AccountRouter": { + "address": "0x0a71d7ca0672329ebb72dcf3d58eb4dd7984ec08", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error AlreadyInitialized()", + "error CannotSelfApprove(address addr)", + "error IndexOverrun(uint256 requestedIndex, uint256 length)", + "error InvalidOwner(address addr)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidTransferRecipient(address addr)", + "error OverflowUint256ToUint128()", + "error TokenAlreadyMinted(uint256 id)", + "error TokenDoesNotExist(uint256 id)", + "event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)", + "event ApprovalForAll(address indexed owner, address indexed operator, bool approved)", + "event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)", + "function approve(address to, uint256 tokenId)", + "function balanceOf(address holder) view returns (uint256 balance)", + "function burn(uint256 tokenId)", + "function getApproved(uint256 tokenId) view returns (address operator)", + "function initialize(string tokenName, string tokenSymbol, string uri)", + "function isApprovedForAll(address holder, address operator) view returns (bool)", + "function isInitialized() view returns (bool)", + "function mint(address to, uint256 tokenId)", + "function name() view returns (string)", + "function ownerOf(uint256 tokenId) view returns (address)", + "function safeMint(address to, uint256 tokenId, bytes data)", + "function safeTransferFrom(address from, address to, uint256 tokenId)", + "function safeTransferFrom(address from, address to, uint256 tokenId, bytes data)", + "function setAllowance(uint256 tokenId, address spender)", + "function setApprovalForAll(address operator, bool approved)", + "function setBaseTokenURI(string uri)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function symbol() view returns (string)", + "function tokenByIndex(uint256 index) view returns (uint256)", + "function tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)", + "function tokenURI(uint256 tokenId) view returns (string)", + "function totalSupply() view returns (uint256)", + "function transferFrom(address from, address to, uint256 tokenId)" + ], + "deployedOn": "router.AccountRouter", + "deployTxnHash": "0x020fa7b5b487323bd8ff91a6f0f0411bb9c63d3d333face17667a2fd151c9e30", + "contractName": "AccountRouter", + "sourceName": "AccountRouter.sol", + "gasUsed": 609681, + "gasCost": "100000000" + }, + "CoreRouter": { + "address": "0x71cb5f83891dfd0f829e862f9d9acf5c1a0af01d", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)", + "error FeatureUnavailable(bytes32 which)", + "error InvalidAccountId(uint128 accountId)", + "error InvalidPermission(bytes32 permission)", + "error OnlyAccountTokenProxy(address origin)", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PermissionNotGranted(uint128 accountId, bytes32 permission, address user)", + "error PositionOutOfBounds()", + "event AccountCreated(uint128 indexed accountId, address indexed owner)", + "event PermissionGranted(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "event PermissionRevoked(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "function createAccount() returns (uint128 accountId)", + "function createAccount(uint128 requestedAccountId)", + "function getAccountLastInteraction(uint128 accountId) view returns (uint256)", + "function getAccountOwner(uint128 accountId) view returns (address)", + "function getAccountPermissions(uint128 accountId) view returns (tuple(address user, bytes32[] permissions)[] accountPerms)", + "function getAccountTokenAddress() view returns (address)", + "function grantPermission(uint128 accountId, bytes32 permission, address user)", + "function hasPermission(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function isAuthorized(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function notifyAccountTransfer(address to, uint128 accountId)", + "function renouncePermission(uint128 accountId, bytes32 permission)", + "function revokePermission(uint128 accountId, bytes32 permission, address user)", + "error AccountNotFound(uint128 accountId)", + "error EmptyDistribution()", + "error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)", + "error MarketNotFound(uint128 marketId)", + "error NotFundedByPool(uint256 marketId, uint256 poolId)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "event DebtAssociated(uint128 indexed marketId, uint128 indexed poolId, address indexed collateralType, uint128 accountId, uint256 amount, int256 updatedDebt)", + "function associateDebt(uint128 marketId, uint128 poolId, address collateralType, uint128 accountId, uint256 amount) returns (int256)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "error InvalidMessage()", + "error NotCcipRouter(address)", + "error UnsupportedNetwork(uint64)", + "function ccipReceive(tuple(bytes32 messageId, uint64 sourceChainSelector, bytes sender, bytes data, tuple(address token, uint256 amount)[] tokenAmounts) message)", + "error AccountActivityTimeoutPending(uint128 accountId, uint256 currentTime, uint256 requiredTime)", + "error CollateralDepositDisabled(address collateralType)", + "error CollateralNotFound()", + "error FailedTransfer(address from, address to, uint256 value)", + "error InsufficentAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)", + "error InsufficientAccountCollateral(uint256 amount)", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "error OverflowUint256ToUint64()", + "error PrecisionLost(uint256 tokenAmount, uint8 decimals)", + "event CollateralLockCreated(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event CollateralLockExpired(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event Deposited(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "event Withdrawn(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "function cleanExpiredLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) returns (uint256 cleared)", + "function createLock(uint128 accountId, address collateralType, uint256 amount, uint64 expireTimestamp)", + "function deposit(uint128 accountId, address collateralType, uint256 tokenAmount)", + "function getAccountAvailableCollateral(uint128 accountId, address collateralType) view returns (uint256)", + "function getAccountCollateral(uint128 accountId, address collateralType) view returns (uint256 totalDeposited, uint256 totalAssigned, uint256 totalLocked)", + "function getLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) view returns (tuple(uint128 amountD18, uint64 lockExpirationTime)[] locks)", + "function withdraw(uint128 accountId, address collateralType, uint256 tokenAmount)", + "event CollateralConfigured(address indexed collateralType, tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function configureCollateral(tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function getCollateralConfiguration(address collateralType) pure returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18))", + "function getCollateralConfigurations(bool hideDisabled) view returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18)[])", + "function getCollateralPrice(address collateralType) view returns (uint256)", + "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", + "event TransferCrossChainInitiated(uint64 indexed destChainId, uint256 indexed amount, address sender)", + "function transferCrossChain(uint64 destChainId, uint256 amount) payable returns (uint256 gasTokenUsed)", + "error InsufficientDebt(int256 currentDebt)", + "error PoolNotFound(uint128 poolId)", + "event IssuanceFeePaid(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 feeAmount)", + "event UsdBurned(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "event UsdMinted(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "function burnUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)", + "function mintUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)", + "error CannotScaleEmptyMapping()", + "error IneligibleForLiquidation(uint256 collateralValue, int256 debt, uint256 currentCRatio, uint256 cratio)", + "error InsufficientMappedAmount()", + "error MustBeVaultLiquidated()", + "error OverflowInt128ToUint128()", + "event Liquidation(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "event VaultLiquidation(uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "function isPositionLiquidatable(uint128 accountId, uint128 poolId, address collateralType) returns (bool)", + "function isVaultLiquidatable(uint128 poolId, address collateralType) returns (bool)", + "function liquidate(uint128 accountId, uint128 poolId, address collateralType, uint128 liquidateAsAccountId) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)", + "function liquidateVault(uint128 poolId, address collateralType, uint128 liquidateAsAccountId, uint256 maxUsd) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)", + "error InsufficientMarketCollateralDepositable(uint128 marketId, address collateralType, uint256 tokenAmountToDeposit)", + "error InsufficientMarketCollateralWithdrawable(uint128 marketId, address collateralType, uint256 tokenAmountToWithdraw)", + "event MarketCollateralDeposited(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MarketCollateralWithdrawn(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MaximumMarketCollateralConfigured(uint128 indexed marketId, address indexed collateralType, uint256 systemAmount, address indexed owner)", + "function configureMaximumMarketCollateral(uint128 marketId, address collateralType, uint256 amount)", + "function depositMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)", + "function getMarketCollateralAmount(uint128 marketId, address collateralType) view returns (uint256 collateralAmountD18)", + "function getMarketCollateralValue(uint128 marketId) view returns (uint256)", + "function getMaximumMarketCollateral(uint128 marketId, address collateralType) view returns (uint256)", + "function withdrawMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)", + "error IncorrectMarketInterface(address market)", + "error NotEnoughLiquidity(uint128 marketId, uint256 amount)", + "event MarketRegistered(address indexed market, uint128 indexed marketId, address indexed sender)", + "event MarketSystemFeePaid(uint128 indexed marketId, uint256 feeAmount)", + "event MarketUsdDeposited(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event MarketUsdWithdrawn(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event SetMarketMinLiquidityRatio(uint128 indexed marketId, uint256 minLiquidityRatio)", + "event SetMinDelegateTime(uint128 indexed marketId, uint32 minDelegateTime)", + "function depositMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", + "function distributeDebtToPools(uint128 marketId, uint256 maxIter) returns (bool)", + "function getMarketAddress(uint128 marketId) view returns (address)", + "function getMarketCollateral(uint128 marketId) view returns (uint256)", + "function getMarketDebtPerShare(uint128 marketId) returns (int256)", + "function getMarketFees(uint128, uint256 amount) view returns (uint256 depositFeeAmount, uint256 withdrawFeeAmount)", + "function getMarketMinDelegateTime(uint128 marketId) view returns (uint32)", + "function getMarketNetIssuance(uint128 marketId) view returns (int128)", + "function getMarketPoolDebtDistribution(uint128 marketId, uint128 poolId) returns (uint256 sharesD18, uint128 totalSharesD18, int128 valuePerShareD27)", + "function getMarketPools(uint128 marketId) returns (uint128[] inRangePoolIds, uint128[] outRangePoolIds)", + "function getMarketReportedDebt(uint128 marketId) view returns (uint256)", + "function getMarketTotalDebt(uint128 marketId) view returns (int256)", + "function getMinLiquidityRatio(uint128 marketId) view returns (uint256)", + "function getOracleManager() view returns (address)", + "function getUsdToken() view returns (address)", + "function getWithdrawableMarketUsd(uint128 marketId) view returns (uint256)", + "function isMarketCapacityLocked(uint128 marketId) view returns (bool)", + "function registerMarket(address market) returns (uint128 marketId)", + "function setMarketMinDelegateTime(uint128 marketId, uint32 minDelegateTime)", + "function setMinLiquidityRatio(uint128 marketId, uint256 minLiquidityRatio)", + "function withdrawMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", + "event PoolApprovedAdded(uint256 poolId)", + "event PoolApprovedRemoved(uint256 poolId)", + "event PreferredPoolSet(uint256 poolId)", + "function addApprovedPool(uint128 poolId)", + "function getApprovedPools() view returns (uint256[])", + "function getPreferredPool() view returns (uint128)", + "function removeApprovedPool(uint128 poolId)", + "function setPreferredPool(uint128 poolId)", + "error CapacityLocked(uint256 marketId)", + "error MinDelegationTimeoutPending(uint128 poolId, uint32 timeRemaining)", + "error PoolAlreadyExists(uint128 poolId)", + "event PoolCollateralConfigurationUpdated(uint128 indexed poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "event PoolCollateralDisabledByDefaultSet(uint128 poolId, bool disabled)", + "event PoolConfigurationSet(uint128 indexed poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] markets, address indexed sender)", + "event PoolCreated(uint128 indexed poolId, address indexed owner, address indexed sender)", + "event PoolNameUpdated(uint128 indexed poolId, string name, address indexed sender)", + "event PoolNominationRenounced(uint128 indexed poolId, address indexed owner)", + "event PoolNominationRevoked(uint128 indexed poolId, address indexed owner)", + "event PoolOwnerNominated(uint128 indexed poolId, address indexed nominatedOwner, address indexed owner)", + "event PoolOwnershipAccepted(uint128 indexed poolId, address indexed owner)", + "event PoolOwnershipRenounced(uint128 indexed poolId, address indexed owner)", + "event SetMinLiquidityRatio(uint256 minLiquidityRatio)", + "function acceptPoolOwnership(uint128 poolId)", + "function createPool(uint128 requestedPoolId, address owner)", + "function getMinLiquidityRatio() view returns (uint256)", + "function getNominatedPoolOwner(uint128 poolId) view returns (address)", + "function getPoolCollateralConfiguration(uint128 poolId, address collateralType) view returns (tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "function getPoolCollateralIssuanceRatio(uint128 poolId, address collateral) view returns (uint256)", + "function getPoolConfiguration(uint128 poolId) view returns (tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[])", + "function getPoolName(uint128 poolId) view returns (string poolName)", + "function getPoolOwner(uint128 poolId) view returns (address)", + "function nominatePoolOwner(address nominatedOwner, uint128 poolId)", + "function rebalancePool(uint128 poolId, address optionalCollateralType)", + "function renouncePoolNomination(uint128 poolId)", + "function renouncePoolOwnership(uint128 poolId)", + "function revokePoolNomination(uint128 poolId)", + "function setMinLiquidityRatio(uint256 minLiquidityRatio)", + "function setPoolCollateralConfiguration(uint128 poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) newConfig)", + "function setPoolCollateralDisabledByDefault(uint128 poolId, bool disabled)", + "function setPoolConfiguration(uint128 poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] newMarketConfigurations)", + "function setPoolName(uint128 poolId, string name)", + "error OverflowUint256ToUint32()", + "error OverflowUint32ToInt32()", + "error OverflowUint64ToInt64()", + "error RewardDistributorNotFound()", + "error RewardUnavailable(address distributor)", + "event RewardsClaimed(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount)", + "event RewardsDistributed(uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount, uint256 start, uint256 duration)", + "event RewardsDistributorRegistered(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "event RewardsDistributorRemoved(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "function claimRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) returns (uint256)", + "function distributeRewards(uint128 poolId, address collateralType, uint256 amount, uint64 start, uint32 duration)", + "function getAvailableRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function getRewardRate(uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function registerRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function removeRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function updateRewards(uint128 poolId, address collateralType, uint128 accountId) returns (uint256[], address[])", + "event NewSupportedCrossChainNetwork(uint64 newChainId)", + "function configureChainlinkCrossChain(address ccipRouter, address ccipTokenPool)", + "function configureOracleManager(address oracleManagerAddress)", + "function getConfig(bytes32 k) view returns (bytes32 v)", + "function getConfigAddress(bytes32 k) view returns (address v)", + "function getConfigUint(bytes32 k) view returns (uint256 v)", + "function getTrustedForwarder() pure returns (address)", + "function isTrustedForwarder(address forwarder) pure returns (bool)", + "function setConfig(bytes32 k, bytes32 v)", + "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "error InsufficientDelegation(uint256 minDelegation)", + "error InvalidCollateralAmount()", + "error InvalidLeverage(uint256 leverage)", + "error PoolCollateralLimitExceeded(uint128 poolId, address collateralType, uint256 currentCollateral, uint256 maxCollateral)", + "event DelegationUpdated(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, uint256 leverage, address indexed sender)", + "function delegateCollateral(uint128 accountId, uint128 poolId, address collateralType, uint256 newCollateralAmountD18, uint256 leverage)", + "function getPosition(uint128 accountId, uint128 poolId, address collateralType) returns (uint256 collateralAmount, uint256 collateralValue, int256 debt, uint256 collateralizationRatio)", + "function getPositionCollateral(uint128 accountId, uint128 poolId, address collateralType) view returns (uint256 amount)", + "function getPositionCollateralRatio(uint128 accountId, uint128 poolId, address collateralType) returns (uint256)", + "function getPositionDebt(uint128 accountId, uint128 poolId, address collateralType) returns (int256 debt)", + "function getVaultCollateral(uint128 poolId, address collateralType) view returns (uint256 amount, uint256 value)", + "function getVaultCollateralRatio(uint128 poolId, address collateralType) returns (uint256)", + "function getVaultDebt(uint128 poolId, address collateralType) returns (int256)" + ], + "deployedOn": "router.CoreRouter", + "deployTxnHash": "0x19b106af32b78266c0505ebf57e2c5217a489c969d51fdb250a5cad87d7582e2", + "contractName": "CoreRouter", + "sourceName": "CoreRouter.sol", + "gasUsed": 1876589, + "gasCost": "100000000" + }, + "USDRouter": { + "address": "0xfb012bf551f25164483d01b91823bce5c3983ff2", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "error AlreadyInitialized()", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InsufficientBalance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "event Approval(address indexed owner, address indexed spender, uint256 amount)", + "event Transfer(address indexed from, address indexed to, uint256 amount)", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 amount) returns (bool)", + "function balanceOf(address owner) view returns (uint256)", + "function burn(uint256 amount)", + "function burn(address target, uint256 amount)", + "function burnWithAllowance(address from, address spender, uint256 amount)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function initialize(string tokenName, string tokenSymbol, uint8 tokenDecimals)", + "function isInitialized() view returns (bool)", + "function mint(address target, uint256 amount)", + "function name() view returns (string)", + "function setAllowance(address from, address spender, uint256 amount)", + "function symbol() view returns (string)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 amount) returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)" + ], + "deployedOn": "router.USDRouter", + "deployTxnHash": "0x54b079d6fa45587206480d43bc397894f29ba18cbd11ec6fefbdcf2ed6256553", + "contractName": "USDRouter", + "sourceName": "USDRouter.sol", + "gasUsed": 604468, + "gasCost": "100000000" + }, + "CoreProxy": { + "address": "0x4Ab09F627fa9706f33178129005300Fd4c00EDF1", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)", + "error FeatureUnavailable(bytes32 which)", + "error InvalidAccountId(uint128 accountId)", + "error InvalidPermission(bytes32 permission)", + "error OnlyAccountTokenProxy(address origin)", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PermissionNotGranted(uint128 accountId, bytes32 permission, address user)", + "error PositionOutOfBounds()", + "event AccountCreated(uint128 indexed accountId, address indexed owner)", + "event PermissionGranted(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "event PermissionRevoked(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "function createAccount() returns (uint128 accountId)", + "function createAccount(uint128 requestedAccountId)", + "function getAccountLastInteraction(uint128 accountId) view returns (uint256)", + "function getAccountOwner(uint128 accountId) view returns (address)", + "function getAccountPermissions(uint128 accountId) view returns (tuple(address user, bytes32[] permissions)[] accountPerms)", + "function getAccountTokenAddress() view returns (address)", + "function grantPermission(uint128 accountId, bytes32 permission, address user)", + "function hasPermission(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function isAuthorized(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function notifyAccountTransfer(address to, uint128 accountId)", + "function renouncePermission(uint128 accountId, bytes32 permission)", + "function revokePermission(uint128 accountId, bytes32 permission, address user)", + "error AccountNotFound(uint128 accountId)", + "error EmptyDistribution()", + "error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)", + "error MarketNotFound(uint128 marketId)", + "error NotFundedByPool(uint256 marketId, uint256 poolId)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "event DebtAssociated(uint128 indexed marketId, uint128 indexed poolId, address indexed collateralType, uint128 accountId, uint256 amount, int256 updatedDebt)", + "function associateDebt(uint128 marketId, uint128 poolId, address collateralType, uint128 accountId, uint256 amount) returns (int256)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "error InvalidMessage()", + "error NotCcipRouter(address)", + "error UnsupportedNetwork(uint64)", + "function ccipReceive(tuple(bytes32 messageId, uint64 sourceChainSelector, bytes sender, bytes data, tuple(address token, uint256 amount)[] tokenAmounts) message)", + "error AccountActivityTimeoutPending(uint128 accountId, uint256 currentTime, uint256 requiredTime)", + "error CollateralDepositDisabled(address collateralType)", + "error CollateralNotFound()", + "error FailedTransfer(address from, address to, uint256 value)", + "error InsufficentAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)", + "error InsufficientAccountCollateral(uint256 amount)", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "error OverflowUint256ToUint64()", + "error PrecisionLost(uint256 tokenAmount, uint8 decimals)", + "event CollateralLockCreated(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event CollateralLockExpired(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event Deposited(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "event Withdrawn(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "function cleanExpiredLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) returns (uint256 cleared)", + "function createLock(uint128 accountId, address collateralType, uint256 amount, uint64 expireTimestamp)", + "function deposit(uint128 accountId, address collateralType, uint256 tokenAmount)", + "function getAccountAvailableCollateral(uint128 accountId, address collateralType) view returns (uint256)", + "function getAccountCollateral(uint128 accountId, address collateralType) view returns (uint256 totalDeposited, uint256 totalAssigned, uint256 totalLocked)", + "function getLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) view returns (tuple(uint128 amountD18, uint64 lockExpirationTime)[] locks)", + "function withdraw(uint128 accountId, address collateralType, uint256 tokenAmount)", + "event CollateralConfigured(address indexed collateralType, tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function configureCollateral(tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function getCollateralConfiguration(address collateralType) pure returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18))", + "function getCollateralConfigurations(bool hideDisabled) view returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18)[])", + "function getCollateralPrice(address collateralType) view returns (uint256)", + "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", + "event TransferCrossChainInitiated(uint64 indexed destChainId, uint256 indexed amount, address sender)", + "function transferCrossChain(uint64 destChainId, uint256 amount) payable returns (uint256 gasTokenUsed)", + "error InsufficientDebt(int256 currentDebt)", + "error PoolNotFound(uint128 poolId)", + "event IssuanceFeePaid(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 feeAmount)", + "event UsdBurned(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "event UsdMinted(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "function burnUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)", + "function mintUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)", + "error CannotScaleEmptyMapping()", + "error IneligibleForLiquidation(uint256 collateralValue, int256 debt, uint256 currentCRatio, uint256 cratio)", + "error InsufficientMappedAmount()", + "error MustBeVaultLiquidated()", + "error OverflowInt128ToUint128()", + "event Liquidation(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "event VaultLiquidation(uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "function isPositionLiquidatable(uint128 accountId, uint128 poolId, address collateralType) returns (bool)", + "function isVaultLiquidatable(uint128 poolId, address collateralType) returns (bool)", + "function liquidate(uint128 accountId, uint128 poolId, address collateralType, uint128 liquidateAsAccountId) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)", + "function liquidateVault(uint128 poolId, address collateralType, uint128 liquidateAsAccountId, uint256 maxUsd) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)", + "error InsufficientMarketCollateralDepositable(uint128 marketId, address collateralType, uint256 tokenAmountToDeposit)", + "error InsufficientMarketCollateralWithdrawable(uint128 marketId, address collateralType, uint256 tokenAmountToWithdraw)", + "event MarketCollateralDeposited(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MarketCollateralWithdrawn(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MaximumMarketCollateralConfigured(uint128 indexed marketId, address indexed collateralType, uint256 systemAmount, address indexed owner)", + "function configureMaximumMarketCollateral(uint128 marketId, address collateralType, uint256 amount)", + "function depositMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)", + "function getMarketCollateralAmount(uint128 marketId, address collateralType) view returns (uint256 collateralAmountD18)", + "function getMarketCollateralValue(uint128 marketId) view returns (uint256)", + "function getMaximumMarketCollateral(uint128 marketId, address collateralType) view returns (uint256)", + "function withdrawMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)", + "error IncorrectMarketInterface(address market)", + "error NotEnoughLiquidity(uint128 marketId, uint256 amount)", + "event MarketRegistered(address indexed market, uint128 indexed marketId, address indexed sender)", + "event MarketSystemFeePaid(uint128 indexed marketId, uint256 feeAmount)", + "event MarketUsdDeposited(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event MarketUsdWithdrawn(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event SetMarketMinLiquidityRatio(uint128 indexed marketId, uint256 minLiquidityRatio)", + "event SetMinDelegateTime(uint128 indexed marketId, uint32 minDelegateTime)", + "function depositMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", + "function distributeDebtToPools(uint128 marketId, uint256 maxIter) returns (bool)", + "function getMarketAddress(uint128 marketId) view returns (address)", + "function getMarketCollateral(uint128 marketId) view returns (uint256)", + "function getMarketDebtPerShare(uint128 marketId) returns (int256)", + "function getMarketFees(uint128, uint256 amount) view returns (uint256 depositFeeAmount, uint256 withdrawFeeAmount)", + "function getMarketMinDelegateTime(uint128 marketId) view returns (uint32)", + "function getMarketNetIssuance(uint128 marketId) view returns (int128)", + "function getMarketPoolDebtDistribution(uint128 marketId, uint128 poolId) returns (uint256 sharesD18, uint128 totalSharesD18, int128 valuePerShareD27)", + "function getMarketPools(uint128 marketId) returns (uint128[] inRangePoolIds, uint128[] outRangePoolIds)", + "function getMarketReportedDebt(uint128 marketId) view returns (uint256)", + "function getMarketTotalDebt(uint128 marketId) view returns (int256)", + "function getMinLiquidityRatio(uint128 marketId) view returns (uint256)", + "function getOracleManager() view returns (address)", + "function getUsdToken() view returns (address)", + "function getWithdrawableMarketUsd(uint128 marketId) view returns (uint256)", + "function isMarketCapacityLocked(uint128 marketId) view returns (bool)", + "function registerMarket(address market) returns (uint128 marketId)", + "function setMarketMinDelegateTime(uint128 marketId, uint32 minDelegateTime)", + "function setMinLiquidityRatio(uint128 marketId, uint256 minLiquidityRatio)", + "function withdrawMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", + "event PoolApprovedAdded(uint256 poolId)", + "event PoolApprovedRemoved(uint256 poolId)", + "event PreferredPoolSet(uint256 poolId)", + "function addApprovedPool(uint128 poolId)", + "function getApprovedPools() view returns (uint256[])", + "function getPreferredPool() view returns (uint128)", + "function removeApprovedPool(uint128 poolId)", + "function setPreferredPool(uint128 poolId)", + "error CapacityLocked(uint256 marketId)", + "error MinDelegationTimeoutPending(uint128 poolId, uint32 timeRemaining)", + "error PoolAlreadyExists(uint128 poolId)", + "event PoolCollateralConfigurationUpdated(uint128 indexed poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "event PoolCollateralDisabledByDefaultSet(uint128 poolId, bool disabled)", + "event PoolConfigurationSet(uint128 indexed poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] markets, address indexed sender)", + "event PoolCreated(uint128 indexed poolId, address indexed owner, address indexed sender)", + "event PoolNameUpdated(uint128 indexed poolId, string name, address indexed sender)", + "event PoolNominationRenounced(uint128 indexed poolId, address indexed owner)", + "event PoolNominationRevoked(uint128 indexed poolId, address indexed owner)", + "event PoolOwnerNominated(uint128 indexed poolId, address indexed nominatedOwner, address indexed owner)", + "event PoolOwnershipAccepted(uint128 indexed poolId, address indexed owner)", + "event PoolOwnershipRenounced(uint128 indexed poolId, address indexed owner)", + "event SetMinLiquidityRatio(uint256 minLiquidityRatio)", + "function acceptPoolOwnership(uint128 poolId)", + "function createPool(uint128 requestedPoolId, address owner)", + "function getMinLiquidityRatio() view returns (uint256)", + "function getNominatedPoolOwner(uint128 poolId) view returns (address)", + "function getPoolCollateralConfiguration(uint128 poolId, address collateralType) view returns (tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "function getPoolCollateralIssuanceRatio(uint128 poolId, address collateral) view returns (uint256)", + "function getPoolConfiguration(uint128 poolId) view returns (tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[])", + "function getPoolName(uint128 poolId) view returns (string poolName)", + "function getPoolOwner(uint128 poolId) view returns (address)", + "function nominatePoolOwner(address nominatedOwner, uint128 poolId)", + "function rebalancePool(uint128 poolId, address optionalCollateralType)", + "function renouncePoolNomination(uint128 poolId)", + "function renouncePoolOwnership(uint128 poolId)", + "function revokePoolNomination(uint128 poolId)", + "function setMinLiquidityRatio(uint256 minLiquidityRatio)", + "function setPoolCollateralConfiguration(uint128 poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) newConfig)", + "function setPoolCollateralDisabledByDefault(uint128 poolId, bool disabled)", + "function setPoolConfiguration(uint128 poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] newMarketConfigurations)", + "function setPoolName(uint128 poolId, string name)", + "error OverflowUint256ToUint32()", + "error OverflowUint32ToInt32()", + "error OverflowUint64ToInt64()", + "error RewardDistributorNotFound()", + "error RewardUnavailable(address distributor)", + "event RewardsClaimed(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount)", + "event RewardsDistributed(uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount, uint256 start, uint256 duration)", + "event RewardsDistributorRegistered(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "event RewardsDistributorRemoved(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "function claimRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) returns (uint256)", + "function distributeRewards(uint128 poolId, address collateralType, uint256 amount, uint64 start, uint32 duration)", + "function getAvailableRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function getRewardRate(uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function registerRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function removeRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function updateRewards(uint128 poolId, address collateralType, uint128 accountId) returns (uint256[], address[])", + "event NewSupportedCrossChainNetwork(uint64 newChainId)", + "function configureChainlinkCrossChain(address ccipRouter, address ccipTokenPool)", + "function configureOracleManager(address oracleManagerAddress)", + "function getConfig(bytes32 k) view returns (bytes32 v)", + "function getConfigAddress(bytes32 k) view returns (address v)", + "function getConfigUint(bytes32 k) view returns (uint256 v)", + "function getTrustedForwarder() pure returns (address)", + "function isTrustedForwarder(address forwarder) pure returns (bool)", + "function setConfig(bytes32 k, bytes32 v)", + "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "error InsufficientDelegation(uint256 minDelegation)", + "error InvalidCollateralAmount()", + "error InvalidLeverage(uint256 leverage)", + "error PoolCollateralLimitExceeded(uint128 poolId, address collateralType, uint256 currentCollateral, uint256 maxCollateral)", + "event DelegationUpdated(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, uint256 leverage, address indexed sender)", + "function delegateCollateral(uint128 accountId, uint128 poolId, address collateralType, uint256 newCollateralAmountD18, uint256 leverage)", + "function getPosition(uint128 accountId, uint128 poolId, address collateralType) returns (uint256 collateralAmount, uint256 collateralValue, int256 debt, uint256 collateralizationRatio)", + "function getPositionCollateral(uint128 accountId, uint128 poolId, address collateralType) view returns (uint256 amount)", + "function getPositionCollateralRatio(uint128 accountId, uint128 poolId, address collateralType) returns (uint256)", + "function getPositionDebt(uint128 accountId, uint128 poolId, address collateralType) returns (int256 debt)", + "function getVaultCollateral(uint128 poolId, address collateralType) view returns (uint256 amount, uint256 value)", + "function getVaultCollateralRatio(uint128 poolId, address collateralType) returns (uint256)", + "function getVaultDebt(uint128 poolId, address collateralType) returns (int256)" + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.upgrade_core_proxy", + "gasUsed": 0, + "gasCost": "0", + "highlight": true + }, + "AccountProxy": { + "address": "0x6e29bE5d3772f9eEeE9a5FEa5DEDDA7F81292b5a", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error AlreadyInitialized()", + "error CannotSelfApprove(address addr)", + "error IndexOverrun(uint256 requestedIndex, uint256 length)", + "error InvalidOwner(address addr)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidTransferRecipient(address addr)", + "error OverflowUint256ToUint128()", + "error TokenAlreadyMinted(uint256 id)", + "error TokenDoesNotExist(uint256 id)", + "event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)", + "event ApprovalForAll(address indexed owner, address indexed operator, bool approved)", + "event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)", + "function approve(address to, uint256 tokenId)", + "function balanceOf(address holder) view returns (uint256 balance)", + "function burn(uint256 tokenId)", + "function getApproved(uint256 tokenId) view returns (address operator)", + "function initialize(string tokenName, string tokenSymbol, string uri)", + "function isApprovedForAll(address holder, address operator) view returns (bool)", + "function isInitialized() view returns (bool)", + "function mint(address to, uint256 tokenId)", + "function name() view returns (string)", + "function ownerOf(uint256 tokenId) view returns (address)", + "function safeMint(address to, uint256 tokenId, bytes data)", + "function safeTransferFrom(address from, address to, uint256 tokenId)", + "function safeTransferFrom(address from, address to, uint256 tokenId, bytes data)", + "function setAllowance(uint256 tokenId, address spender)", + "function setApprovalForAll(address operator, bool approved)", + "function setBaseTokenURI(string uri)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function symbol() view returns (string)", + "function tokenByIndex(uint256 index) view returns (uint256)", + "function tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)", + "function tokenURI(uint256 tokenId) view returns (string)", + "function totalSupply() view returns (uint256)", + "function transferFrom(address from, address to, uint256 tokenId)" + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.init_account", + "gasUsed": 0, + "gasCost": "0", + "highlight": true + }, + "USDProxy": { + "address": "0x574036F5926AA5dD34d16c245e5992f4F2299BB2", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "error AlreadyInitialized()", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InsufficientBalance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "event Approval(address indexed owner, address indexed spender, uint256 amount)", + "event Transfer(address indexed from, address indexed to, uint256 amount)", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 amount) returns (bool)", + "function balanceOf(address owner) view returns (uint256)", + "function burn(uint256 amount)", + "function burn(address target, uint256 amount)", + "function burnWithAllowance(address from, address spender, uint256 amount)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function initialize(string tokenName, string tokenSymbol, uint8 tokenDecimals)", + "function isInitialized() view returns (bool)", + "function mint(address target, uint256 amount)", + "function name() view returns (string)", + "function setAllowance(address from, address spender, uint256 amount)", + "function symbol() view returns (string)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 amount) returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)" + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.init_usd", + "gasUsed": 0, + "gasCost": "0", + "highlight": true + } + }, + "imports": { + "oracle_manager": { + "url": "ipfs://QmXrcQNawxaxsZvLZ9cyWUtM4RBd12kCowKrNpz5ZdWgT6", + "tags": [ + "latest" + ], + "preset": "with-synthetix", + "contracts": { + "CoreModule": { + "address": "0x527A4e662c22733A056464D202E77AAd62fA6109", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x09f279637d8e85e62d71aa3ae85b246f0e0eb7a3892a484c7def7ac5e7685fb4", + "sourceName": "contracts/modules/CoreModule.sol", + "contractName": "CoreModule", + "deployedOn": "contract.CoreModule", + "gasUsed": 1387392, + "gasCost": "100000000" + }, + "NodeModule": { + "address": "0xFCAD0fF92f4854A467C28Bd98FBB40f8352F127A", + "abi": [ + "error DeviationToleranceExceeded(int256 deviation)", + "error InvalidInputPrice()", + "error InvalidNodeDefinition(tuple(uint8 nodeType, bytes parameters, bytes32[] parents) nodeType)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidPrice(int256 price)", + "error NodeNotRegistered(bytes32 nodeId)", + "error OracleDataRequired(address oracleContract, bytes oracleQuery)", + "error OverflowInt256ToUint256()", + "error OverflowInt56ToInt24()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint160()", + "error OverflowUint56ToInt56()", + "error StalenessToleranceExceeded()", + "error UnprocessableNode(bytes32 nodeId)", + "error UnsupportedOperation(uint8 operation)", + "event NodeRegistered(bytes32 nodeId, uint8 nodeType, bytes parameters, bytes32[] parents)", + "function getNode(bytes32 nodeId) pure returns (tuple(uint8 nodeType, bytes parameters, bytes32[] parents) node)", + "function getNodeId(uint8 nodeType, bytes parameters, bytes32[] parents) pure returns (bytes32 nodeId)", + "function process(bytes32 nodeId) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function processWithRuntime(bytes32 nodeId, bytes32[] runtimeKeys, bytes32[] runtimeValues) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function registerNode(uint8 nodeType, bytes parameters, bytes32[] parents) returns (bytes32 nodeId)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xd0712569ab23f8325665b38e9736c15d675205d6971c1989e582a37ab7858ae6", + "sourceName": "contracts/modules/NodeModule.sol", + "contractName": "NodeModule", + "deployedOn": "contract.NodeModule", + "gasUsed": 6226312, + "gasCost": "100000000" + }, + "InitialProxy": { + "address": "0xCD4cbBe3a36D145072cDDB89B0AE966761E416F9", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)" + ], + "constructorArgs": [ + "0x527A4e662c22733A056464D202E77AAd62fA6109", + "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + ], + "linkedLibraries": {}, + "deployTxnHash": "0xda7f2b369ec01553d08cddc05cc385192238074238a383e747d2c72876ebc523", + "sourceName": "contracts/Proxy.sol", + "contractName": "Proxy", + "deployedOn": "contract.InitialProxy", + "gasUsed": 486159, + "gasCost": "100000000" + }, + "OracleRouter": { + "address": "0x94d473d05a3882929b2c2af1772870a9ad602b77", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error DeviationToleranceExceeded(int256 deviation)", + "error InvalidInputPrice()", + "error InvalidNodeDefinition(tuple(uint8 nodeType, bytes parameters, bytes32[] parents) nodeType)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidPrice(int256 price)", + "error NodeNotRegistered(bytes32 nodeId)", + "error OracleDataRequired(address oracleContract, bytes oracleQuery)", + "error OverflowInt256ToUint256()", + "error OverflowInt56ToInt24()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint160()", + "error OverflowUint56ToInt56()", + "error StalenessToleranceExceeded()", + "error UnprocessableNode(bytes32 nodeId)", + "error UnsupportedOperation(uint8 operation)", + "event NodeRegistered(bytes32 nodeId, uint8 nodeType, bytes parameters, bytes32[] parents)", + "function getNode(bytes32 nodeId) pure returns (tuple(uint8 nodeType, bytes parameters, bytes32[] parents) node)", + "function getNodeId(uint8 nodeType, bytes parameters, bytes32[] parents) pure returns (bytes32 nodeId)", + "function process(bytes32 nodeId) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function processWithRuntime(bytes32 nodeId, bytes32[] runtimeKeys, bytes32[] runtimeValues) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function registerNode(uint8 nodeType, bytes parameters, bytes32[] parents) returns (bytes32 nodeId)" + ], + "deployedOn": "router.OracleRouter", + "deployTxnHash": "0xb240da854714a7a4afb710dffc16d58cb1df1c6348040b1df9b1706b9f55ebcc", + "contractName": "OracleRouter", + "sourceName": "OracleRouter.sol", + "gasUsed": 398286, + "gasCost": "100000000" + }, + "Proxy": { + "address": "0xCD4cbBe3a36D145072cDDB89B0AE966761E416F9", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error DeviationToleranceExceeded(int256 deviation)", + "error InvalidInputPrice()", + "error InvalidNodeDefinition(tuple(uint8 nodeType, bytes parameters, bytes32[] parents) nodeType)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidPrice(int256 price)", + "error NodeNotRegistered(bytes32 nodeId)", + "error OracleDataRequired(address oracleContract, bytes oracleQuery)", + "error OverflowInt256ToUint256()", + "error OverflowInt56ToInt24()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint160()", + "error OverflowUint56ToInt56()", + "error StalenessToleranceExceeded()", + "error UnprocessableNode(bytes32 nodeId)", + "error UnsupportedOperation(uint8 operation)", + "event NodeRegistered(bytes32 nodeId, uint8 nodeType, bytes parameters, bytes32[] parents)", + "function getNode(bytes32 nodeId) pure returns (tuple(uint8 nodeType, bytes parameters, bytes32[] parents) node)", + "function getNodeId(uint8 nodeType, bytes parameters, bytes32[] parents) pure returns (bytes32 nodeId)", + "function process(bytes32 nodeId) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function processWithRuntime(bytes32 nodeId, bytes32[] runtimeKeys, bytes32[] runtimeValues) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function registerNode(uint8 nodeType, bytes parameters, bytes32[] parents) returns (bytes32 nodeId)" + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.upgrade_proxy", + "gasUsed": 0, + "gasCost": "0", + "highlight": true + } + }, + "imports": { + "trusted_multicall_forwarder": { + "url": "ipfs://QmWaDqF2WP6LB3xACuWkWx7QCy7wTo66jNpmLCXc2xhRhE", + "tags": [ + "latest" + ], + "preset": "with-oracle-manager", + "contracts": { + "TrustedMulticallForwarder": { + "address": "0xE2C5658cC5C448B48141168f3e475dF8f65A1e3e", + "abi": [ + "constructor()", + "error AddressInsufficientBalance(address account)", + "error ERC2771ForwarderExpiredRequest(uint48 deadline)", + "error ERC2771ForwarderInvalidSigner(address signer, address from)", + "error ERC2771ForwarderMismatchedValue(uint256 requestedValue, uint256 msgValue)", + "error ERC2771UntrustfulTarget(address target, address forwarder)", + "error FailedInnerCall()", + "error InvalidAccountNonce(address account, uint256 currentNonce)", + "error InvalidShortString()", + "error StringTooLong(string str)", + "event EIP712DomainChanged()", + "event ExecutedForwardRequest(address indexed signer, uint256 nonce, bool success)", + "function aggregate(tuple(address target, bytes callData)[] calls) returns (uint256 blockNumber, bytes[] returnData)", + "function aggregate3(tuple(address target, bool requireSuccess, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function aggregate3Value(tuple(address target, bool requireSuccess, uint256 value, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function blockAndAggregate(tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)", + "function eip712Domain() view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)", + "function execute(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature) request) payable", + "function executeBatch(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature)[] requests) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function executeBatch(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature)[] requests, address refundReceiver) payable", + "function getBasefee() view returns (uint256 basefee)", + "function getBlockHash(uint256 blockNumber) view returns (bytes32 blockHash)", + "function getBlockNumber() view returns (uint256 blockNumber)", + "function getChainId() view returns (uint256 chainid)", + "function getCurrentBlockCoinbase() view returns (address coinbase)", + "function getCurrentBlockGasLimit() view returns (uint256 gaslimit)", + "function getCurrentBlockTimestamp() view returns (uint256 timestamp)", + "function getEthBalance(address addr) view returns (uint256 balance)", + "function getLastBlockHash() view returns (bytes32 blockHash)", + "function getPrevRandao() view returns (uint256 prevrandao)", + "function nonces(address owner) view returns (uint256)", + "function tryAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) returns (tuple(bool success, bytes returnData)[] returnData)", + "function tryBlockAndAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)", + "function verify(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature) request) view returns (bool)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xb6ade079172e4551c445793ac1dc02f2040633605f20c473af4b0d17985bd9ef", + "sourceName": "src/TrustedMulticallForwarder.sol", + "contractName": "TrustedMulticallForwarder", + "deployedOn": "contract.TrustedMulticallForwarder", + "gasUsed": 3201761, + "gasCost": "100000000" + } + } + } + }, + "txns": { + "upgrade_proxy": { + "hash": "0xd5e4065dece28760596a1f1eaeb65561276a6ca279f0b56b344b7089dfcdd8c7", + "events": { + "Upgraded": [ + { + "name": "Upgraded", + "args": [ + "0xCD4cbBe3a36D145072cDDB89B0AE966761E416F9", + "0x94d473d05A3882929b2C2af1772870a9Ad602B77" + ] + } + ] + }, + "deployedOn": "invoke.upgrade_proxy", + "gasUsed": 86194, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "trusted_multicall_forwarder": { + "url": "ipfs://QmdAmPr6eB7ncScRuzPQB31gpZVq5ESvq5HhePGzaomiu4", + "tags": [ + "latest" + ], + "preset": "with-synthetix", + "contracts": { + "TrustedMulticallForwarder": { + "address": "0xE2C5658cC5C448B48141168f3e475dF8f65A1e3e", + "abi": [ + "constructor()", + "error AddressInsufficientBalance(address account)", + "error ERC2771ForwarderExpiredRequest(uint48 deadline)", + "error ERC2771ForwarderInvalidSigner(address signer, address from)", + "error ERC2771ForwarderMismatchedValue(uint256 requestedValue, uint256 msgValue)", + "error ERC2771UntrustfulTarget(address target, address forwarder)", + "error FailedInnerCall()", + "error InvalidAccountNonce(address account, uint256 currentNonce)", + "error InvalidShortString()", + "error StringTooLong(string str)", + "event EIP712DomainChanged()", + "event ExecutedForwardRequest(address indexed signer, uint256 nonce, bool success)", + "function aggregate(tuple(address target, bytes callData)[] calls) returns (uint256 blockNumber, bytes[] returnData)", + "function aggregate3(tuple(address target, bool requireSuccess, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function aggregate3Value(tuple(address target, bool requireSuccess, uint256 value, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function blockAndAggregate(tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)", + "function eip712Domain() view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)", + "function execute(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature) request) payable", + "function executeBatch(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature)[] requests) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function executeBatch(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature)[] requests, address refundReceiver) payable", + "function getBasefee() view returns (uint256 basefee)", + "function getBlockHash(uint256 blockNumber) view returns (bytes32 blockHash)", + "function getBlockNumber() view returns (uint256 blockNumber)", + "function getChainId() view returns (uint256 chainid)", + "function getCurrentBlockCoinbase() view returns (address coinbase)", + "function getCurrentBlockGasLimit() view returns (uint256 gaslimit)", + "function getCurrentBlockTimestamp() view returns (uint256 timestamp)", + "function getEthBalance(address addr) view returns (uint256 balance)", + "function getLastBlockHash() view returns (bytes32 blockHash)", + "function getPrevRandao() view returns (uint256 prevrandao)", + "function nonces(address owner) view returns (uint256)", + "function tryAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) returns (tuple(bool success, bytes returnData)[] returnData)", + "function tryBlockAndAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)", + "function verify(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature) request) view returns (bool)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "", + "sourceName": "src/TrustedMulticallForwarder.sol", + "contractName": "TrustedMulticallForwarder", + "deployedOn": "contract.TrustedMulticallForwarder", + "gasUsed": 0, + "gasCost": "0" + } + } + } + }, + "txns": { + "register_const_one_oracle": { + "hash": "0x5b09ed95f7d0aebe10265e51787826838bcc32bbb2bf8ee86816913e3452c854", + "events": { + "NodeRegistered": [ + { + "name": "NodeRegistered", + "args": [ + "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733", + 8, + "0x0000000000000000000000000000000000000000000000000de0b6b3a7640000", + [] + ] + } + ] + }, + "deployedOn": "invoke.register_const_one_oracle", + "gasUsed": 162412, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "upgrade_core_proxy": { + "hash": "0x3c1f1414965eaf1725b4873bf0b593592fd456b53460410aec4096e3eba9425e", + "events": { + "Upgraded": [ + { + "name": "Upgraded", + "args": [ + "0x4Ab09F627fa9706f33178129005300Fd4c00EDF1", + "0x71CB5f83891dFd0F829e862f9D9acF5c1a0Af01d" + ] + } + ] + }, + "deployedOn": "invoke.upgrade_core_proxy", + "gasUsed": 81744, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_burnUsd": { + "hash": "0xfca24b2f9a8ebd64d9d3fcb7375dc45b17b25ce76e5b7103507b773ca52a1db3", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6275726e55736400000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_burnUsd", + "gasUsed": 98847, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_claimRewards": { + "hash": "0xc58c52503225ea71509683326d26a08f7bd6d83d4a25e58ba965fc294f12df22", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x636c61696d526577617264730000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_claimRewards", + "gasUsed": 98907, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_createAccount": { + "hash": "0x159377cf94f0bc0b9dc734747383a61b6a92ff73184ce94a89dc9109fbae8555", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6372656174654163636f756e7400000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_createAccount", + "gasUsed": 98919, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_delegateCollateral": { + "hash": "0x580015fd004c129c74430b5edb969cf5fdb3668b6f41e174c3c38d4779c2d2b3", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x64656c6567617465436f6c6c61746572616c0000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_delegateCollateral", + "gasUsed": 98979, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_deposit": { + "hash": "0x6a0fd0140ba719a11ba4ad7522a46a8edaf8047d76e83cc980ca7d2d173dc38d", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6465706f73697400000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_deposit", + "gasUsed": 98847, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_depositMarketCollateral": { + "hash": "0xdc875f871a874a6ee70bdd0bf33ea233794da2ba00ebe2f845624f84cfe8d397", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6465706f7369744d61726b6574436f6c6c61746572616c000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_depositMarketCollateral", + "gasUsed": 99039, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_depositMarketUsd": { + "hash": "0xc51d389e1a32a110f0dea025b80b888c43bd3c12a1b867cef0a1bab3d911c87f", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6465706f7369744d61726b657455736400000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_depositMarketUsd", + "gasUsed": 98955, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_liquidate": { + "hash": "0xefb831711ead7c9d27362b5a3d510c1b29bd463ebf4ce12138544eaaf9fbef49", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6c69717569646174650000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_liquidate", + "gasUsed": 98871, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_liquidateVault": { + "hash": "0x89a2640395c0ecd31ed8264ba99c8ff54e8fea49762f80efd8be1ac897a52cc7", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6c69717569646174655661756c74000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_liquidateVault", + "gasUsed": 98931, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_mintUsd": { + "hash": "0xcfcbe1854de5c4bed259a68775a71e16862226cec1041541e0a1a020b3565748", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6d696e7455736400000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_mintUsd", + "gasUsed": 98847, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_withdraw": { + "hash": "0x32d121c48f12435683983e829a634b39fa7b590d9aa1902e8dd81913a2465fa4", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x7769746864726177000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_withdraw", + "gasUsed": 98859, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_withdrawMarketCollateral": { + "hash": "0x6301a8b4ce31d4ce615a678a35719cf87c8a5955346391e52fa7ba91ea05ce54", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x77697468647261774d61726b6574436f6c6c61746572616c0000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_withdrawMarketCollateral", + "gasUsed": 99051, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_withdrawMarketUsd": { + "hash": "0x7ecead25a1e25ec6bb20263e4e0482c79d3a352373ad33a1180ea9b0ac616f10", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x77697468647261774d61726b6574557364000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_withdrawMarketUsd", + "gasUsed": 98967, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "init_account": { + "hash": "0x1e1e7f4ffbb54ed5608bf360e02b5958f3c324d3fffa87011c13f3876ca6c69e", + "events": { + "AssociatedSystemSet": [ + { + "name": "AssociatedSystemSet", + "args": [ + "0x6572633732310000000000000000000000000000000000000000000000000000", + "0x6163636f756e744e667400000000000000000000000000000000000000000000", + "0x6e29bE5d3772f9eEeE9a5FEa5DEDDA7F81292b5a", + "0x0a71D7cA0672329EbB72dcF3d58EB4Dd7984ec08" + ] + } + ] + }, + "deployedOn": "invoke.init_account", + "gasUsed": 428964, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "init_usd": { + "hash": "0x069a2a80ede5840e6f68c133081f3dff364a1e30cde33aff893fba3bcb6b70f0", + "events": { + "AssociatedSystemSet": [ + { + "name": "AssociatedSystemSet", + "args": [ + "0x6572633230000000000000000000000000000000000000000000000000000000", + "0x555344546f6b656e000000000000000000000000000000000000000000000000", + "0x574036F5926AA5dD34d16c245e5992f4F2299BB2", + "0xFb012bF551f25164483D01B91823BCe5c3983FF2" + ] + } + ] + }, + "deployedOn": "invoke.init_usd", + "gasUsed": 395851, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "set_oracle_manager": { + "hash": "0x092f19543212dddc4b70cda5571c66d3287d8bad8ac8f61c2d68ed79a82ca1f1", + "events": {}, + "deployedOn": "invoke.set_oracle_manager", + "gasUsed": 89071, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "configure_usd_collateral": { + "hash": "0xcf220ce182ef8ce86c2a0910f306114a1c2acfa92b2052e6039b8179df26719f", + "events": { + "CollateralConfigured": [ + { + "name": "CollateralConfigured", + "args": [ + "0x574036F5926AA5dD34d16c245e5992f4F2299BB2", + { + "depositingEnabled": true, + "issuanceRatioD18": "10000000000000000000", + "liquidationRatioD18": "10000000000000000000", + "liquidationRewardD18": "0", + "oracleNodeId": "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733", + "tokenAddress": "0x574036F5926AA5dD34d16c245e5992f4F2299BB2", + "minDelegationD18": "115792089237316195423570985008687907853269984665640564039457584007913129639935" + } + ] + } + ] + }, + "deployedOn": "invoke.configure_usd_collateral", + "gasUsed": 309834, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": { + "const_one_oracle_id": "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733" + } + } + }, + "txns": { + "upgrade_proxy": { + "hash": "0xf044c216a2922ff3bc1b1fbe458206b4a43aa569395fd9e671f9f872e855467f", + "events": { + "Upgraded": [ + { + "name": "Upgraded", + "args": [ + "0x1174e8895D4302bbEdd8F97beC298735D9F7F65e", + "0x8d930F7CD799dBD5689c8A71BB2891E00e71aCfF" + ] + } + ] + }, + "deployedOn": "invoke.upgrade_proxy", + "gasUsed": 101346, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "addCreateMarketToFeatureFlag": { + "hash": "0x628708a6f7beed4fd2717018e81a4a7a8f19d50ebdd65f57a7a91805d704992a", + "events": { + "FeatureFlagAllowlistAdded": [ + { + "name": "FeatureFlagAllowlistAdded", + "args": [ + "0x6372656174654d61726b65740000000000000000000000000000000000000000", + "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + ] + } + ] + }, + "deployedOn": "invoke.addCreateMarketToFeatureFlag", + "gasUsed": 162061, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "addPerpsMarketToFeatureFlag": { + "hash": "0x03f0785b08d61c30f47b0c2ce2d17eb117a6018c159a71837fc6261edce78b04", + "events": { + "FeatureFlagAllowlistAdded": [ + { + "name": "FeatureFlagAllowlistAdded", + "args": [ + "0x72656769737465724d61726b6574000000000000000000000000000000000000", + "0x1174e8895D4302bbEdd8F97beC298735D9F7F65e" + ] + } + ] + }, + "deployedOn": "invoke.addPerpsMarketToFeatureFlag", + "gasUsed": 144841, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enableFeatureCreateAccount": { + "hash": "0x19598f1385185e01a27ebedd3829bf37b92ff057a5106fba50f1ab490482a148", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6372656174654163636f756e7400000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enableFeatureCreateAccount", + "gasUsed": 117495, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "init_account": { + "hash": "0xf39dcd220ae1b9b2290e0298483297e4f558a5d9ba06a65f7ca32856e9d1309c", + "events": { + "AssociatedSystemSet": [ + { + "name": "AssociatedSystemSet", + "args": [ + "0x6572633732310000000000000000000000000000000000000000000000000000", + "0x6163636f756e744e667400000000000000000000000000000000000000000000", + "0x40c37a2956e1D34E685d43D721597f028403304B", + "0x0a71D7cA0672329EbB72dcF3d58EB4Dd7984ec08" + ] + } + ] + }, + "deployedOn": "invoke.init_account", + "gasUsed": 439279, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "initializeFactory": { + "hash": "0xe5ceccd57155e14ed97fcfe47b1ce637da69ff1c239dfb8de8ba19a457eb95ff", + "events": { + "FactoryInitialized": [ + { + "name": "FactoryInitialized", + "args": [ + "1" + ] + } + ] + }, + "deployedOn": "invoke.initializeFactory", + "gasUsed": 353068, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": { + "superMarketId": "1" + } + } + } + }, + "hash": "b6bad0dd5971cf8accbf7c3148617e1b", + "version": 6 + }, + "provision.spotFactory": { + "artifacts": { + "imports": { + "spotFactory": { + "url": "ipfs://QmWN2TuwDLdUUqby15XF86PjyG1pRtkstyPXaCgCMVXBq7", + "tags": [ + "latest" + ], + "preset": "arbthetix", + "contracts": { + "AsyncOrderConfigurationModule": { + "address": "0x3400f899EE37Db540681Fbf0fb49bEF2Bc7F351B", + "abi": [ + "error InvalidSettlementStrategy(uint256 settlementStrategyId)", + "error InvalidSettlementWindowDuration(uint256 duration)", + "error OnlyMarketOwner(address marketOwner, address sender)", + "event SettlementStrategyAdded(uint128 indexed synthMarketId, uint256 indexed strategyId)", + "event SettlementStrategySet(uint128 indexed synthMarketId, uint256 indexed strategyId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) strategy)", + "function addSettlementStrategy(uint128 marketId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) strategy) returns (uint256 strategyId)", + "function getSettlementStrategy(uint128 marketId, uint256 strategyId) view returns (tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) settlementStrategy)", + "function setSettlementStrategy(uint128 marketId, uint256 strategyId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) strategy)", + "function setSettlementStrategyEnabled(uint128 marketId, uint256 strategyId, bool enabled)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xafab1958b165fe2d136b5b0e00244885f0fb1277f43fb4928391f14d0d7c2040", + "sourceName": "contracts/modules/AsyncOrderConfigurationModule.sol", + "contractName": "AsyncOrderConfigurationModule", + "deployedOn": "contract.AsyncOrderConfigurationModule", + "gasUsed": 1473152, + "gasCost": "100000000" + }, + "AsyncOrderModule": { + "address": "0x832258D2744fEf7DdaB4eEE269d1B21B8DC0f116", + "abi": [ + "error IneligibleForCancellation(uint256 timestamp, uint256 expirationTime)", + "error InsufficientSharesAmount(uint256 expected, uint256 actual)", + "error InvalidAsyncTransactionType(uint8 transactionType)", + "error InvalidClaim(uint256 asyncOrderId)", + "error InvalidCommitmentAmount(uint256 minimumAmount, uint256 amount)", + "error InvalidMarket(uint128 marketId)", + "error InvalidSettlementStrategy(uint256 settlementStrategyId)", + "error OrderAlreadySettled(uint256 asyncOrderId, uint256 settledAt)", + "error OverflowInt256ToUint256()", + "event OrderCancelled(uint128 indexed marketId, uint128 indexed asyncOrderId, tuple(uint128 id, address owner, uint8 orderType, uint256 amountEscrowed, uint256 settlementStrategyId, uint256 commitmentTime, uint256 minimumSettlementAmount, uint256 settledAt, address referrer) asyncOrderClaim, address indexed sender)", + "event OrderCommitted(uint128 indexed marketId, uint8 indexed orderType, uint256 amountProvided, uint128 asyncOrderId, address indexed sender, address referrer)", + "function cancelOrder(uint128 marketId, uint128 asyncOrderId)", + "function commitOrder(uint128 marketId, uint8 orderType, uint256 amountProvided, uint256 settlementStrategyId, uint256 minimumSettlementAmount, address referrer) returns (tuple(uint128 id, address owner, uint8 orderType, uint256 amountEscrowed, uint256 settlementStrategyId, uint256 commitmentTime, uint256 minimumSettlementAmount, uint256 settledAt, address referrer) asyncOrderClaim)", + "function getAsyncOrderClaim(uint128 marketId, uint128 asyncOrderId) pure returns (tuple(uint128 id, address owner, uint8 orderType, uint256 amountEscrowed, uint256 settlementStrategyId, uint256 commitmentTime, uint256 minimumSettlementAmount, uint256 settledAt, address referrer) asyncOrderClaim)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x4b1f75162e51e55b95baf5625f291797aefc6f2d54d444548963e1adc1e31a3c", + "sourceName": "contracts/modules/AsyncOrderModule.sol", + "contractName": "AsyncOrderModule", + "deployedOn": "contract.AsyncOrderModule", + "gasUsed": 2099485, + "gasCost": "100000000" + }, + "AsyncOrderSettlementModule": { + "address": "0x20042b9D44B8168c2CB2A5EDB021E436010dbdEC", + "abi": [ + "error InvalidClaim(uint256 asyncOrderId)", + "error InvalidSettlementStrategy(uint8 strategyType)", + "error InvalidVerificationResponse()", + "error MinimumSettlementAmountNotMet(uint256 minimum, uint256 actual)", + "error OrderAlreadySettled(uint256 asyncOrderId, uint256 settledAt)", + "error OutsideSettlementWindow(uint256 timestamp, uint256 startTime, uint256 expirationTime)", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint64()", + "error SettlementStrategyNotFound(uint8 strategyType)", + "event OrderSettled(uint128 indexed marketId, uint128 indexed asyncOrderId, uint256 finalOrderAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 collectedFees, address indexed settler, uint256 price, uint8 orderType)", + "function settleOrder(uint128 marketId, uint128 asyncOrderId) returns (uint256 finalOrderAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x51f7ca2a18f17d94b1c9097fc04f8332f3ba4c02b8081afeb36cb7724ab00796", + "sourceName": "contracts/modules/AsyncOrderSettlementModule.sol", + "contractName": "AsyncOrderSettlementModule", + "deployedOn": "contract.AsyncOrderSettlementModule", + "gasUsed": 3033125, + "gasCost": "100000000" + }, + "AtomicOrderModule": { + "address": "0x18141523403e2595D31b22604AcB8Fc06a4CaA61", + "abi": [ + "error ExceedsMaxSynthAmount(uint256 maxSynthAmount, uint256 synthAmountCharged)", + "error ExceedsMaxUsdAmount(uint256 maxUsdAmount, uint256 usdAmountCharged)", + "error InsufficientAmountReceived(uint256 expected, uint256 current)", + "error InvalidMarket(uint128 marketId)", + "error InvalidPrices()", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToInt256()", + "event SynthBought(uint256 indexed synthMarketId, uint256 synthReturned, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 collectedFees, address referrer, uint256 price)", + "event SynthSold(uint256 indexed synthMarketId, uint256 amountReturned, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 collectedFees, address referrer, uint256 price)", + "function buy(uint128 marketId, uint256 usdAmount, uint256 minAmountReceived, address referrer) returns (uint256 synthAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function buyExactIn(uint128 marketId, uint256 usdAmount, uint256 minAmountReceived, address referrer) returns (uint256 synthAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function buyExactOut(uint128 marketId, uint256 synthAmount, uint256 maxUsdAmount, address referrer) returns (uint256 usdAmountCharged, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function getMarketSkew(uint128 marketId) view returns (int256 marketSkew)", + "function quoteBuyExactIn(uint128 marketId, uint256 usdAmount, uint8 stalenessTolerance) view returns (uint256 synthAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function quoteBuyExactOut(uint128 marketId, uint256 synthAmount, uint8 stalenessTolerance) view returns (uint256 usdAmountCharged, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function quoteSellExactIn(uint128 marketId, uint256 synthAmount, uint8 stalenessTolerance) view returns (uint256 returnAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function quoteSellExactOut(uint128 marketId, uint256 usdAmount, uint8 stalenessTolerance) view returns (uint256 synthToBurn, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function sell(uint128 marketId, uint256 synthAmount, uint256 minUsdAmount, address referrer) returns (uint256 usdAmountReceived, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function sellExactIn(uint128 marketId, uint256 synthAmount, uint256 minAmountReceived, address referrer) returns (uint256 returnAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function sellExactOut(uint128 marketId, uint256 usdAmount, uint256 maxSynthAmount, address referrer) returns (uint256 synthToBurn, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x5777ea9a27f84e9d1984f90644614f971728f3c6b495242058aec24156043d71", + "sourceName": "contracts/modules/AtomicOrderModule.sol", + "contractName": "AtomicOrderModule", + "deployedOn": "contract.AtomicOrderModule", + "gasUsed": 3206938, + "gasCost": "100000000" + }, + "CoreModule": { + "address": "0x2933477A4f7b0125D9e7e6B95295c4d6AADb26e7", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xf32da4de987f469b7630346bbbacf9cddcc0aa1d31adbd0445e0405091e2bd63", + "sourceName": "contracts/modules/CoreModule.sol", + "contractName": "CoreModule", + "deployedOn": "contract.CoreModule", + "gasUsed": 1367737, + "gasCost": "100000000" + }, + "FeatureFlagModule": { + "address": "0x5312175CC17Eb3502d73581055d12CE076aB00d1", + "abi": [ + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x106a4173677ca576e29a08810812c7d0994e160dad015e6fe7301c9b90aa7354", + "sourceName": "contracts/modules/FeatureFlagModule.sol", + "contractName": "FeatureFlagModule", + "deployedOn": "contract.FeatureFlagModule", + "gasUsed": 1303482, + "gasCost": "100000000" + }, + "MarketConfigurationModule": { + "address": "0x92b5Be134c562B36fc86E911BA21b8c2488e75E7", + "abi": [ + "error InvalidCollateralLeverage(uint256)", + "error InvalidFeeCollectorInterface(address invalidFeeCollector)", + "error InvalidWrapperFees()", + "error OnlyMarketOwner(address marketOwner, address sender)", + "event AsyncFixedFeeSet(uint256 indexed synthMarketId, uint256 asyncFixedFee)", + "event AtomicFixedFeeSet(uint256 indexed synthMarketId, uint256 atomicFixedFee)", + "event CollateralLeverageSet(uint256 indexed synthMarketId, uint256 collateralLeverage)", + "event FeeCollectorSet(uint256 indexed synthMarketId, address feeCollector)", + "event MarketSkewScaleSet(uint256 indexed synthMarketId, uint256 skewScale)", + "event MarketUtilizationFeesSet(uint256 indexed synthMarketId, uint256 utilizationFeeRate)", + "event ReferrerShareUpdated(uint128 indexed marketId, address referrer, uint256 sharePercentage)", + "event TransactorFixedFeeSet(uint256 indexed synthMarketId, address transactor, uint256 fixedFeeAmount)", + "event WrapperFeesSet(uint256 indexed synthMarketId, int256 wrapFee, int256 unwrapFee)", + "function getCollateralLeverage(uint128 synthMarketId) view returns (uint256 collateralLeverage)", + "function getCustomTransactorFees(uint128 synthMarketId, address transactor) view returns (uint256 fixedFeeAmount)", + "function getFeeCollector(uint128 synthMarketId) view returns (address feeCollector)", + "function getMarketFees(uint128 synthMarketId) view returns (uint256 atomicFixedFee, uint256 asyncFixedFee, int256 wrapFee, int256 unwrapFee)", + "function getMarketSkewScale(uint128 synthMarketId) view returns (uint256 skewScale)", + "function getMarketUtilizationFees(uint128 synthMarketId) view returns (uint256 utilizationFeeRate)", + "function getReferrerShare(uint128 synthMarketId, address referrer) view returns (uint256 sharePercentage)", + "function setAsyncFixedFee(uint128 synthMarketId, uint256 asyncFixedFee)", + "function setAtomicFixedFee(uint128 synthMarketId, uint256 atomicFixedFee)", + "function setCollateralLeverage(uint128 synthMarketId, uint256 collateralLeverage)", + "function setCustomTransactorFees(uint128 synthMarketId, address transactor, uint256 fixedFeeAmount)", + "function setFeeCollector(uint128 synthMarketId, address feeCollector)", + "function setMarketSkewScale(uint128 synthMarketId, uint256 skewScale)", + "function setMarketUtilizationFees(uint128 synthMarketId, uint256 utilizationFeeRate)", + "function setWrapperFees(uint128 synthMarketId, int256 wrapFee, int256 unwrapFee)", + "function updateReferrerShare(uint128 synthMarketId, address referrer, uint256 sharePercentage)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xeb9dda8ec170e04a8e74ef2a92d0ba33d1a20d5f63ecddee09f5ad215a94d255", + "sourceName": "contracts/modules/MarketConfigurationModule.sol", + "contractName": "MarketConfigurationModule", + "deployedOn": "contract.MarketConfigurationModule", + "gasUsed": 1231679, + "gasCost": "100000000" + }, + "SpotMarketFactoryModule": { + "address": "0x5Ba5791d1AeBDDCa9Cc1089727857A41Bfc92aE7", + "abi": [ + "error FeatureUnavailable(bytes32 which)", + "error InvalidMarketOwner()", + "error InvalidSynthImplementation(uint256 synthImplementation)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "error NotNominated(address addr)", + "error OnlyMarketOwner(address marketOwner, address sender)", + "error OverflowInt256ToUint256()", + "error Unauthorized(address addr)", + "error ZeroAddress()", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "event DecayRateUpdated(uint128 indexed marketId, uint256 rate)", + "event MarketNominationRenounced(uint128 indexed marketId, address nominee)", + "event MarketOwnerChanged(uint128 indexed marketId, address oldOwner, address newOwner)", + "event MarketOwnerNominated(uint128 indexed marketId, address newOwner)", + "event SynthImplementationSet(address synthImplementation)", + "event SynthImplementationUpgraded(uint256 indexed synthMarketId, address indexed proxy, address implementation)", + "event SynthPriceDataUpdated(uint256 indexed synthMarketId, bytes32 indexed buyFeedId, bytes32 indexed sellFeedId, uint256 strictStalenessTolerance)", + "event SynthRegistered(uint256 indexed synthMarketId, address synthTokenAddress)", + "event SynthetixSystemSet(address synthetix, address usdTokenAddress, address oracleManager)", + "function acceptMarketOwnership(uint128 synthMarketId)", + "function createSynth(string tokenName, string tokenSymbol, address synthOwner) returns (uint128 synthMarketId)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function getMarketOwner(uint128 synthMarketId) view returns (address marketOwner)", + "function getNominatedMarketOwner(uint128 synthMarketId) view returns (address marketOwner)", + "function getPriceData(uint128 synthMarketId) view returns (bytes32 buyFeedId, bytes32 sellFeedId, uint256 strictPriceStalenessTolerance)", + "function getSynth(uint128 marketId) view returns (address synthAddress)", + "function getSynthImpl(uint128 marketId) view returns (address implAddress)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function minimumCredit(uint128 marketId) view returns (uint256 lockedAmount)", + "function name(uint128 marketId) view returns (string marketName)", + "function nominateMarketOwner(uint128 synthMarketId, address newNominatedOwner)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "function renounceMarketNomination(uint128 synthMarketId)", + "function renounceMarketOwnership(uint128 synthMarketId)", + "function reportedDebt(uint128 marketId) view returns (uint256 reportedDebtAmount)", + "function setDecayRate(uint128 marketId, uint256 rate)", + "function setSynthImplementation(address synthImplementation)", + "function setSynthetix(address synthetix)", + "function supportsInterface(bytes4 interfaceId) view returns (bool isSupported)", + "function updatePriceData(uint128 synthMarketId, bytes32 buyFeedId, bytes32 sellFeedId, uint256 strictPriceStalenessTolerance)", + "function upgradeSynthImpl(uint128 marketId)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x14c4a05ca4a3a94cab9d1b9df09e81de6bcf764b10fcc806e656570f2b328b28", + "sourceName": "contracts/modules/SpotMarketFactoryModule.sol", + "contractName": "SpotMarketFactoryModule", + "deployedOn": "contract.SpotMarketFactoryModule", + "gasUsed": 3530908, + "gasCost": "100000000" + }, + "SynthTokenModule": { + "address": "0x33CE95e433931bD483B29310c6bA961c82E762Cf", + "abi": [ + "error AlreadyInitialized()", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InsufficientBalance(uint256 required, uint256 existing)", + "error InvalidDecayRate()", + "error InvalidParameter(string parameter, string reason)", + "error Unauthorized(address addr)", + "event Approval(address indexed owner, address indexed spender, uint256 amount)", + "event Transfer(address indexed from, address indexed to, uint256 amount)", + "function advanceEpoch() returns (uint256)", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 amount) returns (bool)", + "function balanceOf(address user) view returns (uint256)", + "function burn(address from, uint256 amount)", + "function decayRate() view returns (uint256)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function initialize(string tokenName, string tokenSymbol, uint8 tokenDecimals)", + "function isInitialized() view returns (bool)", + "function mint(address to, uint256 amount)", + "function name() view returns (string)", + "function setAllowance(address from, address spender, uint256 amount)", + "function setDecayRate(uint256 _rate)", + "function symbol() view returns (string)", + "function totalShares() view returns (uint256)", + "function totalSupply() view returns (uint256 supply)", + "function transfer(address to, uint256 amount) returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x380982a39dcc4f9be5a046917a94b225e73c81d031a25cc6e6e27a37e365f87d", + "sourceName": "contracts/modules/token/SynthTokenModule.sol", + "contractName": "SynthTokenModule", + "deployedOn": "contract.SynthTokenModule", + "gasUsed": 1993612, + "gasCost": "100000000" + }, + "WrapperModule": { + "address": "0xD8f5D001A501c3331006D986F6A8f3192754899C", + "abi": [ + "error FailedTransfer(address from, address to, uint256 value)", + "error InsufficientAmountReceived(uint256 expected, uint256 current)", + "error InvalidCollateralType(address configuredCollateralType)", + "error InvalidMarket(uint128 marketId)", + "error OnlyMarketOwner(address marketOwner, address sender)", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToInt256()", + "error WrapperExceedsMaxAmount(uint256 maxWrappableAmount, uint256 currentSupply, uint256 amountToWrap)", + "event SynthUnwrapped(uint256 indexed synthMarketId, uint256 amountUnwrapped, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 feesCollected)", + "event SynthWrapped(uint256 indexed synthMarketId, uint256 amountWrapped, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 feesCollected)", + "event WrapperSet(uint256 indexed synthMarketId, address indexed wrapCollateralType, uint256 maxWrappableAmount)", + "function getWrapper(uint128 marketId) view returns (address wrapCollateralType, uint256 maxWrappableAmount)", + "function setWrapper(uint128 marketId, address wrapCollateralType, uint256 maxWrappableAmount)", + "function unwrap(uint128 marketId, uint256 unwrapAmount, uint256 minAmountReceived) returns (uint256 returnCollateralAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function wrap(uint128 marketId, uint256 wrapAmount, uint256 minAmountReceived) returns (uint256 amountToMint, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xf5e714c67c04cf0ea04fd336d099fc5cebabd7af636f6c662042f9d1ce740c06", + "sourceName": "contracts/modules/WrapperModule.sol", + "contractName": "WrapperModule", + "deployedOn": "contract.WrapperModule", + "gasUsed": 2628906, + "gasCost": "100000000" + }, + "InitialSpotMarketProxy": { + "address": "0x4BeadB0CaC85b4E3F2F3E71bDc0624FA60260a74", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)" + ], + "constructorArgs": [ + "0x2933477A4f7b0125D9e7e6B95295c4d6AADb26e7", + "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + ], + "linkedLibraries": {}, + "deployTxnHash": "0x81e4ceb9d9c3c86de2f73a5e9f929db47bee31a941ef947eeb3ca2a170c9339a", + "sourceName": "contracts/Proxy.sol", + "contractName": "Proxy", + "deployedOn": "contract.InitialSpotMarketProxy", + "gasUsed": 466386, + "gasCost": "100000000" + }, + "SpotMarketRouter": { + "address": "0x6e6b88c6c8c9483d9721d62239070c4a20aee74f", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error FeatureUnavailable(bytes32 which)", + "error InvalidMarketOwner()", + "error InvalidSynthImplementation(uint256 synthImplementation)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "error OnlyMarketOwner(address marketOwner, address sender)", + "error OverflowInt256ToUint256()", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "event DecayRateUpdated(uint128 indexed marketId, uint256 rate)", + "event MarketNominationRenounced(uint128 indexed marketId, address nominee)", + "event MarketOwnerChanged(uint128 indexed marketId, address oldOwner, address newOwner)", + "event MarketOwnerNominated(uint128 indexed marketId, address newOwner)", + "event SynthImplementationSet(address synthImplementation)", + "event SynthImplementationUpgraded(uint256 indexed synthMarketId, address indexed proxy, address implementation)", + "event SynthPriceDataUpdated(uint256 indexed synthMarketId, bytes32 indexed buyFeedId, bytes32 indexed sellFeedId, uint256 strictStalenessTolerance)", + "event SynthRegistered(uint256 indexed synthMarketId, address synthTokenAddress)", + "event SynthetixSystemSet(address synthetix, address usdTokenAddress, address oracleManager)", + "function acceptMarketOwnership(uint128 synthMarketId)", + "function createSynth(string tokenName, string tokenSymbol, address synthOwner) returns (uint128 synthMarketId)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function getMarketOwner(uint128 synthMarketId) view returns (address marketOwner)", + "function getNominatedMarketOwner(uint128 synthMarketId) view returns (address marketOwner)", + "function getPriceData(uint128 synthMarketId) view returns (bytes32 buyFeedId, bytes32 sellFeedId, uint256 strictPriceStalenessTolerance)", + "function getSynth(uint128 marketId) view returns (address synthAddress)", + "function getSynthImpl(uint128 marketId) view returns (address implAddress)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function minimumCredit(uint128 marketId) view returns (uint256 lockedAmount)", + "function name(uint128 marketId) view returns (string marketName)", + "function nominateMarketOwner(uint128 synthMarketId, address newNominatedOwner)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "function renounceMarketNomination(uint128 synthMarketId)", + "function renounceMarketOwnership(uint128 synthMarketId)", + "function reportedDebt(uint128 marketId) view returns (uint256 reportedDebtAmount)", + "function setDecayRate(uint128 marketId, uint256 rate)", + "function setSynthImplementation(address synthImplementation)", + "function setSynthetix(address synthetix)", + "function supportsInterface(bytes4 interfaceId) view returns (bool isSupported)", + "function updatePriceData(uint128 synthMarketId, bytes32 buyFeedId, bytes32 sellFeedId, uint256 strictPriceStalenessTolerance)", + "function upgradeSynthImpl(uint128 marketId)", + "error ExceedsMaxSynthAmount(uint256 maxSynthAmount, uint256 synthAmountCharged)", + "error ExceedsMaxUsdAmount(uint256 maxUsdAmount, uint256 usdAmountCharged)", + "error InsufficientAmountReceived(uint256 expected, uint256 current)", + "error InvalidMarket(uint128 marketId)", + "error InvalidPrices()", + "error OverflowUint256ToInt256()", + "event SynthBought(uint256 indexed synthMarketId, uint256 synthReturned, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 collectedFees, address referrer, uint256 price)", + "event SynthSold(uint256 indexed synthMarketId, uint256 amountReturned, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 collectedFees, address referrer, uint256 price)", + "function buy(uint128 marketId, uint256 usdAmount, uint256 minAmountReceived, address referrer) returns (uint256 synthAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function buyExactIn(uint128 marketId, uint256 usdAmount, uint256 minAmountReceived, address referrer) returns (uint256 synthAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function buyExactOut(uint128 marketId, uint256 synthAmount, uint256 maxUsdAmount, address referrer) returns (uint256 usdAmountCharged, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function getMarketSkew(uint128 marketId) view returns (int256 marketSkew)", + "function quoteBuyExactIn(uint128 marketId, uint256 usdAmount, uint8 stalenessTolerance) view returns (uint256 synthAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function quoteBuyExactOut(uint128 marketId, uint256 synthAmount, uint8 stalenessTolerance) view returns (uint256 usdAmountCharged, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function quoteSellExactIn(uint128 marketId, uint256 synthAmount, uint8 stalenessTolerance) view returns (uint256 returnAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function quoteSellExactOut(uint128 marketId, uint256 usdAmount, uint8 stalenessTolerance) view returns (uint256 synthToBurn, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function sell(uint128 marketId, uint256 synthAmount, uint256 minUsdAmount, address referrer) returns (uint256 usdAmountReceived, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function sellExactIn(uint128 marketId, uint256 synthAmount, uint256 minAmountReceived, address referrer) returns (uint256 returnAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function sellExactOut(uint128 marketId, uint256 usdAmount, uint256 maxSynthAmount, address referrer) returns (uint256 synthToBurn, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "error IneligibleForCancellation(uint256 timestamp, uint256 expirationTime)", + "error InsufficientSharesAmount(uint256 expected, uint256 actual)", + "error InvalidAsyncTransactionType(uint8 transactionType)", + "error InvalidClaim(uint256 asyncOrderId)", + "error InvalidCommitmentAmount(uint256 minimumAmount, uint256 amount)", + "error InvalidSettlementStrategy(uint256 settlementStrategyId)", + "error OrderAlreadySettled(uint256 asyncOrderId, uint256 settledAt)", + "event OrderCancelled(uint128 indexed marketId, uint128 indexed asyncOrderId, tuple(uint128 id, address owner, uint8 orderType, uint256 amountEscrowed, uint256 settlementStrategyId, uint256 commitmentTime, uint256 minimumSettlementAmount, uint256 settledAt, address referrer) asyncOrderClaim, address indexed sender)", + "event OrderCommitted(uint128 indexed marketId, uint8 indexed orderType, uint256 amountProvided, uint128 asyncOrderId, address indexed sender, address referrer)", + "function cancelOrder(uint128 marketId, uint128 asyncOrderId)", + "function commitOrder(uint128 marketId, uint8 orderType, uint256 amountProvided, uint256 settlementStrategyId, uint256 minimumSettlementAmount, address referrer) returns (tuple(uint128 id, address owner, uint8 orderType, uint256 amountEscrowed, uint256 settlementStrategyId, uint256 commitmentTime, uint256 minimumSettlementAmount, uint256 settledAt, address referrer) asyncOrderClaim)", + "function getAsyncOrderClaim(uint128 marketId, uint128 asyncOrderId) pure returns (tuple(uint128 id, address owner, uint8 orderType, uint256 amountEscrowed, uint256 settlementStrategyId, uint256 commitmentTime, uint256 minimumSettlementAmount, uint256 settledAt, address referrer) asyncOrderClaim)", + "error InvalidSettlementStrategy(uint8 strategyType)", + "error InvalidVerificationResponse()", + "error MinimumSettlementAmountNotMet(uint256 minimum, uint256 actual)", + "error OutsideSettlementWindow(uint256 timestamp, uint256 startTime, uint256 expirationTime)", + "error OverflowUint256ToUint64()", + "error SettlementStrategyNotFound(uint8 strategyType)", + "event OrderSettled(uint128 indexed marketId, uint128 indexed asyncOrderId, uint256 finalOrderAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 collectedFees, address indexed settler, uint256 price, uint8 orderType)", + "function settleOrder(uint128 marketId, uint128 asyncOrderId) returns (uint256 finalOrderAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "error InvalidSettlementWindowDuration(uint256 duration)", + "event SettlementStrategyAdded(uint128 indexed synthMarketId, uint256 indexed strategyId)", + "event SettlementStrategySet(uint128 indexed synthMarketId, uint256 indexed strategyId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) strategy)", + "function addSettlementStrategy(uint128 marketId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) strategy) returns (uint256 strategyId)", + "function getSettlementStrategy(uint128 marketId, uint256 strategyId) view returns (tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) settlementStrategy)", + "function setSettlementStrategy(uint128 marketId, uint256 strategyId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) strategy)", + "function setSettlementStrategyEnabled(uint128 marketId, uint256 strategyId, bool enabled)", + "error FailedTransfer(address from, address to, uint256 value)", + "error InvalidCollateralType(address configuredCollateralType)", + "error WrapperExceedsMaxAmount(uint256 maxWrappableAmount, uint256 currentSupply, uint256 amountToWrap)", + "event SynthUnwrapped(uint256 indexed synthMarketId, uint256 amountUnwrapped, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 feesCollected)", + "event SynthWrapped(uint256 indexed synthMarketId, uint256 amountWrapped, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 feesCollected)", + "event WrapperSet(uint256 indexed synthMarketId, address indexed wrapCollateralType, uint256 maxWrappableAmount)", + "function getWrapper(uint128 marketId) view returns (address wrapCollateralType, uint256 maxWrappableAmount)", + "function setWrapper(uint128 marketId, address wrapCollateralType, uint256 maxWrappableAmount)", + "function unwrap(uint128 marketId, uint256 unwrapAmount, uint256 minAmountReceived) returns (uint256 returnCollateralAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function wrap(uint128 marketId, uint256 wrapAmount, uint256 minAmountReceived) returns (uint256 amountToMint, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "error InvalidCollateralLeverage(uint256)", + "error InvalidFeeCollectorInterface(address invalidFeeCollector)", + "error InvalidWrapperFees()", + "event AsyncFixedFeeSet(uint256 indexed synthMarketId, uint256 asyncFixedFee)", + "event AtomicFixedFeeSet(uint256 indexed synthMarketId, uint256 atomicFixedFee)", + "event CollateralLeverageSet(uint256 indexed synthMarketId, uint256 collateralLeverage)", + "event FeeCollectorSet(uint256 indexed synthMarketId, address feeCollector)", + "event MarketSkewScaleSet(uint256 indexed synthMarketId, uint256 skewScale)", + "event MarketUtilizationFeesSet(uint256 indexed synthMarketId, uint256 utilizationFeeRate)", + "event ReferrerShareUpdated(uint128 indexed marketId, address referrer, uint256 sharePercentage)", + "event TransactorFixedFeeSet(uint256 indexed synthMarketId, address transactor, uint256 fixedFeeAmount)", + "event WrapperFeesSet(uint256 indexed synthMarketId, int256 wrapFee, int256 unwrapFee)", + "function getCollateralLeverage(uint128 synthMarketId) view returns (uint256 collateralLeverage)", + "function getCustomTransactorFees(uint128 synthMarketId, address transactor) view returns (uint256 fixedFeeAmount)", + "function getFeeCollector(uint128 synthMarketId) view returns (address feeCollector)", + "function getMarketFees(uint128 synthMarketId) view returns (uint256 atomicFixedFee, uint256 asyncFixedFee, int256 wrapFee, int256 unwrapFee)", + "function getMarketSkewScale(uint128 synthMarketId) view returns (uint256 skewScale)", + "function getMarketUtilizationFees(uint128 synthMarketId) view returns (uint256 utilizationFeeRate)", + "function getReferrerShare(uint128 synthMarketId, address referrer) view returns (uint256 sharePercentage)", + "function setAsyncFixedFee(uint128 synthMarketId, uint256 asyncFixedFee)", + "function setAtomicFixedFee(uint128 synthMarketId, uint256 atomicFixedFee)", + "function setCollateralLeverage(uint128 synthMarketId, uint256 collateralLeverage)", + "function setCustomTransactorFees(uint128 synthMarketId, address transactor, uint256 fixedFeeAmount)", + "function setFeeCollector(uint128 synthMarketId, address feeCollector)", + "function setMarketSkewScale(uint128 synthMarketId, uint256 skewScale)", + "function setMarketUtilizationFees(uint128 synthMarketId, uint256 utilizationFeeRate)", + "function setWrapperFees(uint128 synthMarketId, int256 wrapFee, int256 unwrapFee)", + "function updateReferrerShare(uint128 synthMarketId, address referrer, uint256 sharePercentage)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)" + ], + "deployedOn": "router.SpotMarketRouter", + "deployTxnHash": "0xa73c16d80784138c9f703d212c8370008b992cbb3904a81df56f0fa15b8cf991", + "contractName": "SpotMarketRouter", + "sourceName": "SpotMarketRouter.sol", + "gasUsed": 1278771, + "gasCost": "100000000" + }, + "SynthRouter": { + "address": "0xdd43b9413249835104e5b1ff86f16ddc5e073815", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error AlreadyInitialized()", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InsufficientBalance(uint256 required, uint256 existing)", + "error InvalidDecayRate()", + "error InvalidParameter(string parameter, string reason)", + "event Approval(address indexed owner, address indexed spender, uint256 amount)", + "event Transfer(address indexed from, address indexed to, uint256 amount)", + "function advanceEpoch() returns (uint256)", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 amount) returns (bool)", + "function balanceOf(address user) view returns (uint256)", + "function burn(address from, uint256 amount)", + "function decayRate() view returns (uint256)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function initialize(string tokenName, string tokenSymbol, uint8 tokenDecimals)", + "function isInitialized() view returns (bool)", + "function mint(address to, uint256 amount)", + "function name() view returns (string)", + "function setAllowance(address from, address spender, uint256 amount)", + "function setDecayRate(uint256 _rate)", + "function symbol() view returns (string)", + "function totalShares() view returns (uint256)", + "function totalSupply() view returns (uint256 supply)", + "function transfer(address to, uint256 amount) returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)" + ], + "deployedOn": "router.SynthRouter", + "deployTxnHash": "0xad29c49f70a2c71cbe9fd9dcab49f9b4e525bebc14bb72f41feb02d89357daa9", + "contractName": "SynthRouter", + "sourceName": "SynthRouter.sol", + "gasUsed": 577871, + "gasCost": "100000000" + }, + "SpotMarketProxy": { + "address": "0x4BeadB0CaC85b4E3F2F3E71bDc0624FA60260a74", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error FeatureUnavailable(bytes32 which)", + "error InvalidMarketOwner()", + "error InvalidSynthImplementation(uint256 synthImplementation)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "error OnlyMarketOwner(address marketOwner, address sender)", + "error OverflowInt256ToUint256()", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "event DecayRateUpdated(uint128 indexed marketId, uint256 rate)", + "event MarketNominationRenounced(uint128 indexed marketId, address nominee)", + "event MarketOwnerChanged(uint128 indexed marketId, address oldOwner, address newOwner)", + "event MarketOwnerNominated(uint128 indexed marketId, address newOwner)", + "event SynthImplementationSet(address synthImplementation)", + "event SynthImplementationUpgraded(uint256 indexed synthMarketId, address indexed proxy, address implementation)", + "event SynthPriceDataUpdated(uint256 indexed synthMarketId, bytes32 indexed buyFeedId, bytes32 indexed sellFeedId, uint256 strictStalenessTolerance)", + "event SynthRegistered(uint256 indexed synthMarketId, address synthTokenAddress)", + "event SynthetixSystemSet(address synthetix, address usdTokenAddress, address oracleManager)", + "function acceptMarketOwnership(uint128 synthMarketId)", + "function createSynth(string tokenName, string tokenSymbol, address synthOwner) returns (uint128 synthMarketId)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function getMarketOwner(uint128 synthMarketId) view returns (address marketOwner)", + "function getNominatedMarketOwner(uint128 synthMarketId) view returns (address marketOwner)", + "function getPriceData(uint128 synthMarketId) view returns (bytes32 buyFeedId, bytes32 sellFeedId, uint256 strictPriceStalenessTolerance)", + "function getSynth(uint128 marketId) view returns (address synthAddress)", + "function getSynthImpl(uint128 marketId) view returns (address implAddress)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function minimumCredit(uint128 marketId) view returns (uint256 lockedAmount)", + "function name(uint128 marketId) view returns (string marketName)", + "function nominateMarketOwner(uint128 synthMarketId, address newNominatedOwner)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "function renounceMarketNomination(uint128 synthMarketId)", + "function renounceMarketOwnership(uint128 synthMarketId)", + "function reportedDebt(uint128 marketId) view returns (uint256 reportedDebtAmount)", + "function setDecayRate(uint128 marketId, uint256 rate)", + "function setSynthImplementation(address synthImplementation)", + "function setSynthetix(address synthetix)", + "function supportsInterface(bytes4 interfaceId) view returns (bool isSupported)", + "function updatePriceData(uint128 synthMarketId, bytes32 buyFeedId, bytes32 sellFeedId, uint256 strictPriceStalenessTolerance)", + "function upgradeSynthImpl(uint128 marketId)", + "error ExceedsMaxSynthAmount(uint256 maxSynthAmount, uint256 synthAmountCharged)", + "error ExceedsMaxUsdAmount(uint256 maxUsdAmount, uint256 usdAmountCharged)", + "error InsufficientAmountReceived(uint256 expected, uint256 current)", + "error InvalidMarket(uint128 marketId)", + "error InvalidPrices()", + "error OverflowUint256ToInt256()", + "event SynthBought(uint256 indexed synthMarketId, uint256 synthReturned, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 collectedFees, address referrer, uint256 price)", + "event SynthSold(uint256 indexed synthMarketId, uint256 amountReturned, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 collectedFees, address referrer, uint256 price)", + "function buy(uint128 marketId, uint256 usdAmount, uint256 minAmountReceived, address referrer) returns (uint256 synthAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function buyExactIn(uint128 marketId, uint256 usdAmount, uint256 minAmountReceived, address referrer) returns (uint256 synthAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function buyExactOut(uint128 marketId, uint256 synthAmount, uint256 maxUsdAmount, address referrer) returns (uint256 usdAmountCharged, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function getMarketSkew(uint128 marketId) view returns (int256 marketSkew)", + "function quoteBuyExactIn(uint128 marketId, uint256 usdAmount, uint8 stalenessTolerance) view returns (uint256 synthAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function quoteBuyExactOut(uint128 marketId, uint256 synthAmount, uint8 stalenessTolerance) view returns (uint256 usdAmountCharged, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function quoteSellExactIn(uint128 marketId, uint256 synthAmount, uint8 stalenessTolerance) view returns (uint256 returnAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function quoteSellExactOut(uint128 marketId, uint256 usdAmount, uint8 stalenessTolerance) view returns (uint256 synthToBurn, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function sell(uint128 marketId, uint256 synthAmount, uint256 minUsdAmount, address referrer) returns (uint256 usdAmountReceived, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function sellExactIn(uint128 marketId, uint256 synthAmount, uint256 minAmountReceived, address referrer) returns (uint256 returnAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function sellExactOut(uint128 marketId, uint256 usdAmount, uint256 maxSynthAmount, address referrer) returns (uint256 synthToBurn, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "error IneligibleForCancellation(uint256 timestamp, uint256 expirationTime)", + "error InsufficientSharesAmount(uint256 expected, uint256 actual)", + "error InvalidAsyncTransactionType(uint8 transactionType)", + "error InvalidClaim(uint256 asyncOrderId)", + "error InvalidCommitmentAmount(uint256 minimumAmount, uint256 amount)", + "error InvalidSettlementStrategy(uint256 settlementStrategyId)", + "error OrderAlreadySettled(uint256 asyncOrderId, uint256 settledAt)", + "event OrderCancelled(uint128 indexed marketId, uint128 indexed asyncOrderId, tuple(uint128 id, address owner, uint8 orderType, uint256 amountEscrowed, uint256 settlementStrategyId, uint256 commitmentTime, uint256 minimumSettlementAmount, uint256 settledAt, address referrer) asyncOrderClaim, address indexed sender)", + "event OrderCommitted(uint128 indexed marketId, uint8 indexed orderType, uint256 amountProvided, uint128 asyncOrderId, address indexed sender, address referrer)", + "function cancelOrder(uint128 marketId, uint128 asyncOrderId)", + "function commitOrder(uint128 marketId, uint8 orderType, uint256 amountProvided, uint256 settlementStrategyId, uint256 minimumSettlementAmount, address referrer) returns (tuple(uint128 id, address owner, uint8 orderType, uint256 amountEscrowed, uint256 settlementStrategyId, uint256 commitmentTime, uint256 minimumSettlementAmount, uint256 settledAt, address referrer) asyncOrderClaim)", + "function getAsyncOrderClaim(uint128 marketId, uint128 asyncOrderId) pure returns (tuple(uint128 id, address owner, uint8 orderType, uint256 amountEscrowed, uint256 settlementStrategyId, uint256 commitmentTime, uint256 minimumSettlementAmount, uint256 settledAt, address referrer) asyncOrderClaim)", + "error InvalidSettlementStrategy(uint8 strategyType)", + "error InvalidVerificationResponse()", + "error MinimumSettlementAmountNotMet(uint256 minimum, uint256 actual)", + "error OutsideSettlementWindow(uint256 timestamp, uint256 startTime, uint256 expirationTime)", + "error OverflowUint256ToUint64()", + "error SettlementStrategyNotFound(uint8 strategyType)", + "event OrderSettled(uint128 indexed marketId, uint128 indexed asyncOrderId, uint256 finalOrderAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 collectedFees, address indexed settler, uint256 price, uint8 orderType)", + "function settleOrder(uint128 marketId, uint128 asyncOrderId) returns (uint256 finalOrderAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "error InvalidSettlementWindowDuration(uint256 duration)", + "event SettlementStrategyAdded(uint128 indexed synthMarketId, uint256 indexed strategyId)", + "event SettlementStrategySet(uint128 indexed synthMarketId, uint256 indexed strategyId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) strategy)", + "function addSettlementStrategy(uint128 marketId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) strategy) returns (uint256 strategyId)", + "function getSettlementStrategy(uint128 marketId, uint256 strategyId) view returns (tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) settlementStrategy)", + "function setSettlementStrategy(uint128 marketId, uint256 strategyId, tuple(uint8 strategyType, uint256 settlementDelay, uint256 settlementWindowDuration, address priceVerificationContract, bytes32 feedId, string url, uint256 settlementReward, uint256 priceDeviationTolerance, uint256 minimumUsdExchangeAmount, uint256 maxRoundingLoss, bool disabled) strategy)", + "function setSettlementStrategyEnabled(uint128 marketId, uint256 strategyId, bool enabled)", + "error FailedTransfer(address from, address to, uint256 value)", + "error InvalidCollateralType(address configuredCollateralType)", + "error WrapperExceedsMaxAmount(uint256 maxWrappableAmount, uint256 currentSupply, uint256 amountToWrap)", + "event SynthUnwrapped(uint256 indexed synthMarketId, uint256 amountUnwrapped, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 feesCollected)", + "event SynthWrapped(uint256 indexed synthMarketId, uint256 amountWrapped, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees, uint256 feesCollected)", + "event WrapperSet(uint256 indexed synthMarketId, address indexed wrapCollateralType, uint256 maxWrappableAmount)", + "function getWrapper(uint128 marketId) view returns (address wrapCollateralType, uint256 maxWrappableAmount)", + "function setWrapper(uint128 marketId, address wrapCollateralType, uint256 maxWrappableAmount)", + "function unwrap(uint128 marketId, uint256 unwrapAmount, uint256 minAmountReceived) returns (uint256 returnCollateralAmount, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "function wrap(uint128 marketId, uint256 wrapAmount, uint256 minAmountReceived) returns (uint256 amountToMint, tuple(uint256 fixedFees, uint256 utilizationFees, int256 skewFees, int256 wrapperFees) fees)", + "error InvalidCollateralLeverage(uint256)", + "error InvalidFeeCollectorInterface(address invalidFeeCollector)", + "error InvalidWrapperFees()", + "event AsyncFixedFeeSet(uint256 indexed synthMarketId, uint256 asyncFixedFee)", + "event AtomicFixedFeeSet(uint256 indexed synthMarketId, uint256 atomicFixedFee)", + "event CollateralLeverageSet(uint256 indexed synthMarketId, uint256 collateralLeverage)", + "event FeeCollectorSet(uint256 indexed synthMarketId, address feeCollector)", + "event MarketSkewScaleSet(uint256 indexed synthMarketId, uint256 skewScale)", + "event MarketUtilizationFeesSet(uint256 indexed synthMarketId, uint256 utilizationFeeRate)", + "event ReferrerShareUpdated(uint128 indexed marketId, address referrer, uint256 sharePercentage)", + "event TransactorFixedFeeSet(uint256 indexed synthMarketId, address transactor, uint256 fixedFeeAmount)", + "event WrapperFeesSet(uint256 indexed synthMarketId, int256 wrapFee, int256 unwrapFee)", + "function getCollateralLeverage(uint128 synthMarketId) view returns (uint256 collateralLeverage)", + "function getCustomTransactorFees(uint128 synthMarketId, address transactor) view returns (uint256 fixedFeeAmount)", + "function getFeeCollector(uint128 synthMarketId) view returns (address feeCollector)", + "function getMarketFees(uint128 synthMarketId) view returns (uint256 atomicFixedFee, uint256 asyncFixedFee, int256 wrapFee, int256 unwrapFee)", + "function getMarketSkewScale(uint128 synthMarketId) view returns (uint256 skewScale)", + "function getMarketUtilizationFees(uint128 synthMarketId) view returns (uint256 utilizationFeeRate)", + "function getReferrerShare(uint128 synthMarketId, address referrer) view returns (uint256 sharePercentage)", + "function setAsyncFixedFee(uint128 synthMarketId, uint256 asyncFixedFee)", + "function setAtomicFixedFee(uint128 synthMarketId, uint256 atomicFixedFee)", + "function setCollateralLeverage(uint128 synthMarketId, uint256 collateralLeverage)", + "function setCustomTransactorFees(uint128 synthMarketId, address transactor, uint256 fixedFeeAmount)", + "function setFeeCollector(uint128 synthMarketId, address feeCollector)", + "function setMarketSkewScale(uint128 synthMarketId, uint256 skewScale)", + "function setMarketUtilizationFees(uint128 synthMarketId, uint256 utilizationFeeRate)", + "function setWrapperFees(uint128 synthMarketId, int256 wrapFee, int256 unwrapFee)", + "function updateReferrerShare(uint128 synthMarketId, address referrer, uint256 sharePercentage)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)" + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.upgradeSpotMarketProxy", + "gasUsed": 0, + "gasCost": "0", + "highlight": true + } + }, + "imports": { + "synthetix": { + "url": "ipfs://QmQgBJxBPDJ3hfFex2SKSihRSdBBomUmaL3r7ja24Ap8Go", + "contracts": { + "AccountModule": { + "address": "0xBb0CBCa9CE28a8C6c7Aaa13584A76c0B1a35Fff7", + "abi": [ + "error FeatureUnavailable(bytes32 which)", + "error InvalidAccountId(uint128 accountId)", + "error InvalidPermission(bytes32 permission)", + "error OnlyAccountTokenProxy(address origin)", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PermissionNotGranted(uint128 accountId, bytes32 permission, address user)", + "error PositionOutOfBounds()", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "error ZeroAddress()", + "event AccountCreated(uint128 indexed accountId, address indexed owner)", + "event PermissionGranted(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "event PermissionRevoked(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "function createAccount() returns (uint128 accountId)", + "function createAccount(uint128 requestedAccountId)", + "function getAccountLastInteraction(uint128 accountId) view returns (uint256)", + "function getAccountOwner(uint128 accountId) view returns (address)", + "function getAccountPermissions(uint128 accountId) view returns (tuple(address user, bytes32[] permissions)[] accountPerms)", + "function getAccountTokenAddress() view returns (address)", + "function grantPermission(uint128 accountId, bytes32 permission, address user)", + "function hasPermission(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function isAuthorized(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function notifyAccountTransfer(address to, uint128 accountId)", + "function renouncePermission(uint128 accountId, bytes32 permission)", + "function revokePermission(uint128 accountId, bytes32 permission, address user)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x18d83342552a8c747220ab5bca9b844b0dcaf6fcc36cf676afacaccb99514d2d", + "sourceName": "contracts/modules/core/AccountModule.sol", + "contractName": "AccountModule", + "deployedOn": "contract.AccountModule", + "gasUsed": 1962339, + "gasCost": "100000000" + }, + "AccountTokenModule": { + "address": "0xd1e00870D19AB306a255Eaf6161cbeb78730F501", + "abi": [ + "error AlreadyInitialized()", + "error CannotSelfApprove(address addr)", + "error IndexOverrun(uint256 requestedIndex, uint256 length)", + "error InvalidOwner(address addr)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidTransferRecipient(address addr)", + "error OverflowUint256ToUint128()", + "error TokenAlreadyMinted(uint256 id)", + "error TokenDoesNotExist(uint256 id)", + "error Unauthorized(address addr)", + "error ZeroAddress()", + "event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)", + "event ApprovalForAll(address indexed owner, address indexed operator, bool approved)", + "event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)", + "function approve(address to, uint256 tokenId)", + "function balanceOf(address holder) view returns (uint256 balance)", + "function burn(uint256 tokenId)", + "function getApproved(uint256 tokenId) view returns (address operator)", + "function initialize(string tokenName, string tokenSymbol, string uri)", + "function isApprovedForAll(address holder, address operator) view returns (bool)", + "function isInitialized() view returns (bool)", + "function mint(address to, uint256 tokenId)", + "function name() view returns (string)", + "function ownerOf(uint256 tokenId) view returns (address)", + "function safeMint(address to, uint256 tokenId, bytes data)", + "function safeTransferFrom(address from, address to, uint256 tokenId)", + "function safeTransferFrom(address from, address to, uint256 tokenId, bytes data)", + "function setAllowance(uint256 tokenId, address spender)", + "function setApprovalForAll(address operator, bool approved)", + "function setBaseTokenURI(string uri)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function symbol() view returns (string)", + "function tokenByIndex(uint256 index) view returns (uint256)", + "function tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)", + "function tokenURI(uint256 tokenId) view returns (string)", + "function totalSupply() view returns (uint256)", + "function transferFrom(address from, address to, uint256 tokenId)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xfee543f5f83c14bac68bc9c40b1a7905dadccf684d93eb48bf7321a8ef89336c", + "sourceName": "contracts/modules/account/AccountTokenModule.sol", + "contractName": "AccountTokenModule", + "deployedOn": "contract.AccountTokenModule", + "gasUsed": 2864034, + "gasCost": "100000000" + }, + "AssociateDebtModule": { + "address": "0x7e5fF045f228075e759355a15B80d48BBBb9A1bC", + "abi": [ + "error AccountNotFound(uint128 accountId)", + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)", + "error MarketNotFound(uint128 marketId)", + "error NotFundedByPool(uint256 marketId, uint256 poolId)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error Unauthorized(address addr)", + "event DebtAssociated(uint128 indexed marketId, uint128 indexed poolId, address indexed collateralType, uint128 accountId, uint256 amount, int256 updatedDebt)", + "function associateDebt(uint128 marketId, uint128 poolId, address collateralType, uint128 accountId, uint256 amount) returns (int256)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x43152c69f60de40bd7e2f223461d2b5272a76791ea70723e53452e75f7122d35", + "sourceName": "contracts/modules/core/AssociateDebtModule.sol", + "contractName": "AssociateDebtModule", + "deployedOn": "contract.AssociateDebtModule", + "gasUsed": 3586947, + "gasCost": "100000000" + }, + "AssociatedSystemsModule": { + "address": "0xD5FcCd43205CEF11FbaF9b38dF15ADbe1B186869", + "abi": [ + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "error Unauthorized(address addr)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x2fcb1d5c7aaedfa113657d4d597a88c9f091b98d35410c04ae5848a12f78aeb9", + "sourceName": "contracts/modules/associated-systems/AssociatedSystemsModule.sol", + "contractName": "AssociatedSystemsModule", + "deployedOn": "contract.AssociatedSystemsModule", + "gasUsed": 1373337, + "gasCost": "100000000" + }, + "CcipReceiverModule": { + "address": "0xd10cd91683301c8C15eDA40F59e73d1b0BcfECDD", + "abi": [ + "error InvalidMessage()", + "error NotCcipRouter(address)", + "error Unauthorized(address addr)", + "error UnsupportedNetwork(uint64)", + "function ccipReceive(tuple(bytes32 messageId, uint64 sourceChainSelector, bytes sender, bytes data, tuple(address token, uint256 amount)[] tokenAmounts) message)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x020b837f84bd556165a2206df8477d44b3317d357b0f0e6220d9918d3b853276", + "sourceName": "contracts/modules/core/CcipReceiverModule.sol", + "contractName": "CcipReceiverModule", + "deployedOn": "contract.CcipReceiverModule", + "gasUsed": 802040, + "gasCost": "100000000" + }, + "CollateralConfigurationModule": { + "address": "0x3091AcaEAF27985F33a8a4b0EefEa49dc60c8506", + "abi": [ + "error InvalidParameter(string parameter, string reason)", + "error OverflowInt256ToUint256()", + "error PositionOutOfBounds()", + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "event CollateralConfigured(address indexed collateralType, tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function configureCollateral(tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function getCollateralConfiguration(address collateralType) pure returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18))", + "function getCollateralConfigurations(bool hideDisabled) view returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18)[])", + "function getCollateralPrice(address collateralType) view returns (uint256)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x9b2d5789720e5d906a359b0b9a1d27a6f5b1af1b8af9675b109294aae00fe1d6", + "sourceName": "contracts/modules/core/CollateralConfigurationModule.sol", + "contractName": "CollateralConfigurationModule", + "deployedOn": "contract.CollateralConfigurationModule", + "gasUsed": 1370165, + "gasCost": "100000000" + }, + "CollateralModule": { + "address": "0x0DAeA0367d7b82644C4db4D992cF4ba39c8A359C", + "abi": [ + "error AccountActivityTimeoutPending(uint128 accountId, uint256 currentTime, uint256 requiredTime)", + "error AccountNotFound(uint128 accountId)", + "error CollateralDepositDisabled(address collateralType)", + "error CollateralNotFound()", + "error FailedTransfer(address from, address to, uint256 value)", + "error FeatureUnavailable(bytes32 which)", + "error InsufficentAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)", + "error InsufficientAccountCollateral(uint256 amount)", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToUint128()", + "error OverflowUint256ToUint64()", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PositionOutOfBounds()", + "error PrecisionLost(uint256 tokenAmount, uint8 decimals)", + "event CollateralLockCreated(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event CollateralLockExpired(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event Deposited(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "event Withdrawn(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "function cleanExpiredLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) returns (uint256 cleared)", + "function createLock(uint128 accountId, address collateralType, uint256 amount, uint64 expireTimestamp)", + "function deposit(uint128 accountId, address collateralType, uint256 tokenAmount)", + "function getAccountAvailableCollateral(uint128 accountId, address collateralType) view returns (uint256)", + "function getAccountCollateral(uint128 accountId, address collateralType) view returns (uint256 totalDeposited, uint256 totalAssigned, uint256 totalLocked)", + "function getLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) view returns (tuple(uint128 amountD18, uint64 lockExpirationTime)[] locks)", + "function withdraw(uint128 accountId, address collateralType, uint256 tokenAmount)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x82bc4461a9fcefbb2f74a229effeed0b58e8aa5ceefedb585daf27e70209e21e", + "sourceName": "contracts/modules/core/CollateralModule.sol", + "contractName": "CollateralModule", + "deployedOn": "contract.CollateralModule", + "gasUsed": 2834863, + "gasCost": "100000000" + }, + "CrossChainUSDModule": { + "address": "0x978D4b5438D3E4EDf4f03682e5A53b48E56604c5", + "abi": [ + "error FeatureUnavailable(bytes32 which)", + "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "event TransferCrossChainInitiated(uint64 indexed destChainId, uint256 indexed amount, address sender)", + "function transferCrossChain(uint64 destChainId, uint256 amount) payable returns (uint256 gasTokenUsed)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xc4942e90cd4588ad332c5069e2be4435800f7030ccd5bafb5f73d3990e258281", + "sourceName": "contracts/modules/core/CrossChainUSDModule.sol", + "contractName": "CrossChainUSDModule", + "deployedOn": "contract.CrossChainUSDModule", + "gasUsed": 1016259, + "gasCost": "100000000" + }, + "FeatureFlagModule": { + "address": "0xb16a8B06318C78c274f3BBc5CC5C9191B0d0c1A3", + "abi": [ + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x55f518a183a88388ec3f3ae305aec581f42c346ef73fac81681f1ac19aa40805", + "sourceName": "contracts/modules/core/FeatureFlagModule.sol", + "contractName": "FeatureFlagModule", + "deployedOn": "contract.FeatureFlagModule", + "gasUsed": 1322533, + "gasCost": "100000000" + }, + "InitialModuleBundle": { + "address": "0x828EED723cAF0A8F822249231266E38dF614923C", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x48b0a7c9404c5ceaeb59491e3ee15579be92edc50f27b796544bcca6feeb4183", + "sourceName": "contracts/modules/InitialModuleBundle.sol", + "contractName": "InitialModuleBundle", + "deployedOn": "contract.InitialModuleBundle", + "gasUsed": 856521, + "gasCost": "100000000" + }, + "IssueUSDModule": { + "address": "0xF5C78bAB6d1e52EA3c2BE6c657BB4Ef29244E0f5", + "abi": [ + "error CollateralDepositDisabled(address collateralType)", + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error InsufficentAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)", + "error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)", + "error InsufficientDebt(int256 currentDebt)", + "error InvalidParameter(string parameter, string reason)", + "error MarketNotFound(uint128 marketId)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PoolNotFound(uint128 poolId)", + "event IssuanceFeePaid(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 feeAmount)", + "event UsdBurned(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "event UsdMinted(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "function burnUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)", + "function mintUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x75c35436cc2495995460018b0ffb95f72d4887a36a1040bf6ba7cd8448654a12", + "sourceName": "contracts/modules/core/IssueUSDModule.sol", + "contractName": "IssueUSDModule", + "deployedOn": "contract.IssueUSDModule", + "gasUsed": 4432823, + "gasCost": "100000000" + }, + "LiquidationModule": { + "address": "0x569E1A3Ca9aE30416d2CbFE9A8e43538f35Bdc8d", + "abi": [ + "error AccountNotFound(uint128 accountId)", + "error CannotScaleEmptyMapping()", + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error IneligibleForLiquidation(uint256 collateralValue, int256 debt, uint256 currentCRatio, uint256 cratio)", + "error InsufficientMappedAmount()", + "error InvalidParameter(string parameter, string reason)", + "error MarketNotFound(uint128 marketId)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MustBeVaultLiquidated()", + "error OverflowInt128ToUint128()", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "event Liquidation(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "event VaultLiquidation(uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "function isPositionLiquidatable(uint128 accountId, uint128 poolId, address collateralType) returns (bool)", + "function isVaultLiquidatable(uint128 poolId, address collateralType) returns (bool)", + "function liquidate(uint128 accountId, uint128 poolId, address collateralType, uint128 liquidateAsAccountId) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)", + "function liquidateVault(uint128 poolId, address collateralType, uint128 liquidateAsAccountId, uint256 maxUsd) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xe6c8445b1a82097753c6c58ab439c30148bdec505bc2c3cd50178faa4c33d1d6", + "sourceName": "contracts/modules/core/LiquidationModule.sol", + "contractName": "LiquidationModule", + "deployedOn": "contract.LiquidationModule", + "gasUsed": 4555211, + "gasCost": "100000000" + }, + "MarketCollateralModule": { + "address": "0xd9A139422AB4BEe9d5E071fcCa8e34217953D6a9", + "abi": [ + "error CollateralNotFound()", + "error FailedTransfer(address from, address to, uint256 value)", + "error FeatureUnavailable(bytes32 which)", + "error InsufficientMarketCollateralDepositable(uint128 marketId, address collateralType, uint256 tokenAmountToDeposit)", + "error InsufficientMarketCollateralWithdrawable(uint128 marketId, address collateralType, uint256 tokenAmountToWithdraw)", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToInt256()", + "error PrecisionLost(uint256 tokenAmount, uint8 decimals)", + "error Unauthorized(address addr)", + "event MarketCollateralDeposited(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MarketCollateralWithdrawn(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MaximumMarketCollateralConfigured(uint128 indexed marketId, address indexed collateralType, uint256 systemAmount, address indexed owner)", + "function configureMaximumMarketCollateral(uint128 marketId, address collateralType, uint256 amount)", + "function depositMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)", + "function getMarketCollateralAmount(uint128 marketId, address collateralType) view returns (uint256 collateralAmountD18)", + "function getMarketCollateralValue(uint128 marketId) view returns (uint256)", + "function getMaximumMarketCollateral(uint128 marketId, address collateralType) view returns (uint256)", + "function withdrawMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xeb30410ded4de61c35dad99e27f21ad2c86a7ec563114a3ac1457b62d6623a80", + "sourceName": "contracts/modules/core/MarketCollateralModule.sol", + "contractName": "MarketCollateralModule", + "deployedOn": "contract.MarketCollateralModule", + "gasUsed": 2000574, + "gasCost": "100000000" + }, + "MarketManagerModule": { + "address": "0xe8f3c0a64FA3D76942521923352F9DDFBb3763B9", + "abi": [ + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error IncorrectMarketInterface(address market)", + "error InvalidParameter(string parameter, string reason)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error NotEnoughLiquidity(uint128 marketId, uint256 amount)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error Unauthorized(address addr)", + "event MarketRegistered(address indexed market, uint128 indexed marketId, address indexed sender)", + "event MarketSystemFeePaid(uint128 indexed marketId, uint256 feeAmount)", + "event MarketUsdDeposited(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event MarketUsdWithdrawn(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event SetMarketMinLiquidityRatio(uint128 indexed marketId, uint256 minLiquidityRatio)", + "event SetMinDelegateTime(uint128 indexed marketId, uint32 minDelegateTime)", + "function depositMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", + "function distributeDebtToPools(uint128 marketId, uint256 maxIter) returns (bool)", + "function getMarketAddress(uint128 marketId) view returns (address)", + "function getMarketCollateral(uint128 marketId) view returns (uint256)", + "function getMarketDebtPerShare(uint128 marketId) returns (int256)", + "function getMarketFees(uint128, uint256 amount) view returns (uint256 depositFeeAmount, uint256 withdrawFeeAmount)", + "function getMarketMinDelegateTime(uint128 marketId) view returns (uint32)", + "function getMarketNetIssuance(uint128 marketId) view returns (int128)", + "function getMarketPoolDebtDistribution(uint128 marketId, uint128 poolId) returns (uint256 sharesD18, uint128 totalSharesD18, int128 valuePerShareD27)", + "function getMarketPools(uint128 marketId) returns (uint128[] inRangePoolIds, uint128[] outRangePoolIds)", + "function getMarketReportedDebt(uint128 marketId) view returns (uint256)", + "function getMarketTotalDebt(uint128 marketId) view returns (int256)", + "function getMinLiquidityRatio(uint128 marketId) view returns (uint256)", + "function getOracleManager() view returns (address)", + "function getUsdToken() view returns (address)", + "function getWithdrawableMarketUsd(uint128 marketId) view returns (uint256)", + "function isMarketCapacityLocked(uint128 marketId) view returns (bool)", + "function registerMarket(address market) returns (uint128 marketId)", + "function setMarketMinDelegateTime(uint128 marketId, uint32 minDelegateTime)", + "function setMinLiquidityRatio(uint128 marketId, uint256 minLiquidityRatio)", + "function withdrawMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x30494350a57d1bfd8766fecb64aab5e7d7436ee08d209d0e263d177db3e99939", + "sourceName": "contracts/modules/core/MarketManagerModule.sol", + "contractName": "MarketManagerModule", + "deployedOn": "contract.MarketManagerModule", + "gasUsed": 4376458, + "gasCost": "100000000" + }, + "PoolConfigurationModule": { + "address": "0x6f7E8EB502cEFe31a0565390Cf6a17E50A237A02", + "abi": [ + "error PoolNotFound(uint128 poolId)", + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event PoolApprovedAdded(uint256 poolId)", + "event PoolApprovedRemoved(uint256 poolId)", + "event PreferredPoolSet(uint256 poolId)", + "function addApprovedPool(uint128 poolId)", + "function getApprovedPools() view returns (uint256[])", + "function getPreferredPool() view returns (uint128)", + "function removeApprovedPool(uint128 poolId)", + "function setPreferredPool(uint128 poolId)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xcb9e49288a38a5bf6bae25e8577876f4dbbfdf5c2c0287b0e191621901e71428", + "sourceName": "contracts/modules/core/PoolConfigurationModule.sol", + "contractName": "PoolConfigurationModule", + "deployedOn": "contract.PoolConfigurationModule", + "gasUsed": 765875, + "gasCost": "100000000" + }, + "PoolModule": { + "address": "0xf326AF86ff32B430d7ba01E9BCe198246ef2b027", + "abi": [ + "error CapacityLocked(uint256 marketId)", + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error InvalidParameter(string parameter, string reason)", + "error MarketNotFound(uint128 marketId)", + "error MinDelegationTimeoutPending(uint128 poolId, uint32 timeRemaining)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error PoolAlreadyExists(uint128 poolId)", + "error PoolNotFound(uint128 poolId)", + "error Unauthorized(address addr)", + "error ZeroAddress()", + "event PoolCollateralConfigurationUpdated(uint128 indexed poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "event PoolCollateralDisabledByDefaultSet(uint128 poolId, bool disabled)", + "event PoolConfigurationSet(uint128 indexed poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] markets, address indexed sender)", + "event PoolCreated(uint128 indexed poolId, address indexed owner, address indexed sender)", + "event PoolNameUpdated(uint128 indexed poolId, string name, address indexed sender)", + "event PoolNominationRenounced(uint128 indexed poolId, address indexed owner)", + "event PoolNominationRevoked(uint128 indexed poolId, address indexed owner)", + "event PoolOwnerNominated(uint128 indexed poolId, address indexed nominatedOwner, address indexed owner)", + "event PoolOwnershipAccepted(uint128 indexed poolId, address indexed owner)", + "event PoolOwnershipRenounced(uint128 indexed poolId, address indexed owner)", + "event SetMinLiquidityRatio(uint256 minLiquidityRatio)", + "function acceptPoolOwnership(uint128 poolId)", + "function createPool(uint128 requestedPoolId, address owner)", + "function getMinLiquidityRatio() view returns (uint256)", + "function getNominatedPoolOwner(uint128 poolId) view returns (address)", + "function getPoolCollateralConfiguration(uint128 poolId, address collateralType) view returns (tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "function getPoolCollateralIssuanceRatio(uint128 poolId, address collateral) view returns (uint256)", + "function getPoolConfiguration(uint128 poolId) view returns (tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[])", + "function getPoolName(uint128 poolId) view returns (string poolName)", + "function getPoolOwner(uint128 poolId) view returns (address)", + "function nominatePoolOwner(address nominatedOwner, uint128 poolId)", + "function rebalancePool(uint128 poolId, address optionalCollateralType)", + "function renouncePoolNomination(uint128 poolId)", + "function renouncePoolOwnership(uint128 poolId)", + "function revokePoolNomination(uint128 poolId)", + "function setMinLiquidityRatio(uint256 minLiquidityRatio)", + "function setPoolCollateralConfiguration(uint128 poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) newConfig)", + "function setPoolCollateralDisabledByDefault(uint128 poolId, bool disabled)", + "function setPoolConfiguration(uint128 poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] newMarketConfigurations)", + "function setPoolName(uint128 poolId, string name)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x2e75e67159f9a5aa561102ddc187c6c575dc1a170b3df70bdd3407cea19a5c36", + "sourceName": "contracts/modules/core/PoolModule.sol", + "contractName": "PoolModule", + "deployedOn": "contract.PoolModule", + "gasUsed": 5877702, + "gasCost": "100000000" + }, + "RewardsManagerModule": { + "address": "0x758a399E97D9D7F0253A854af451e6D1275e72E4", + "abi": [ + "error AccountNotFound(uint128 accountId)", + "error FeatureUnavailable(bytes32 which)", + "error InvalidParameter(string parameter, string reason)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error OverflowUint256ToUint32()", + "error OverflowUint32ToInt32()", + "error OverflowUint64ToInt64()", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PositionOutOfBounds()", + "error RewardDistributorNotFound()", + "error RewardUnavailable(address distributor)", + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event RewardsClaimed(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount)", + "event RewardsDistributed(uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount, uint256 start, uint256 duration)", + "event RewardsDistributorRegistered(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "event RewardsDistributorRemoved(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "function claimRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) returns (uint256)", + "function distributeRewards(uint128 poolId, address collateralType, uint256 amount, uint64 start, uint32 duration)", + "function getAvailableRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function getRewardRate(uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function registerRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function removeRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function updateRewards(uint128 poolId, address collateralType, uint128 accountId) returns (uint256[], address[])" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x95a08325b277f9131e741d0c69fd7da80ac213e4a0186ca08bfa039e5784a6e9", + "sourceName": "contracts/modules/core/RewardsManagerModule.sol", + "contractName": "RewardsManagerModule", + "deployedOn": "contract.RewardsManagerModule", + "gasUsed": 3453921, + "gasCost": "100000000" + }, + "USDTokenModule": { + "address": "0x3f10B7157c1dA14d5429790959eBA750C17A8c46", + "abi": [ + "error AlreadyInitialized()", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InsufficientBalance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "error Unauthorized(address addr)", + "event Approval(address indexed owner, address indexed spender, uint256 amount)", + "event Transfer(address indexed from, address indexed to, uint256 amount)", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 amount) returns (bool)", + "function balanceOf(address owner) view returns (uint256)", + "function burn(uint256 amount)", + "function burn(address target, uint256 amount)", + "function burnWithAllowance(address from, address spender, uint256 amount)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function initialize(string tokenName, string tokenSymbol, uint8 tokenDecimals)", + "function isInitialized() view returns (bool)", + "function mint(address target, uint256 amount)", + "function name() view returns (string)", + "function setAllowance(address from, address spender, uint256 amount)", + "function symbol() view returns (string)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 amount) returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x0a81688d31e061d803ac98cad0fb1c42e611caa887ac8a382fe4852fceefe452", + "sourceName": "contracts/modules/usd/USDTokenModule.sol", + "contractName": "USDTokenModule", + "deployedOn": "contract.USDTokenModule", + "gasUsed": 1814070, + "gasCost": "100000000" + }, + "UtilsModule": { + "address": "0xBCc471Ec390E59f3D5F77E9a8Bb24cd26D29Bfb7", + "abi": [ + "error InvalidParameter(string parameter, string reason)", + "error OverflowUint256ToUint64()", + "error Unauthorized(address addr)", + "error ValueAlreadyInSet()", + "event NewSupportedCrossChainNetwork(uint64 newChainId)", + "function configureChainlinkCrossChain(address ccipRouter, address ccipTokenPool)", + "function configureOracleManager(address oracleManagerAddress)", + "function getConfig(bytes32 k) view returns (bytes32 v)", + "function getConfigAddress(bytes32 k) view returns (address v)", + "function getConfigUint(bytes32 k) view returns (uint256 v)", + "function getTrustedForwarder() pure returns (address)", + "function isTrustedForwarder(address forwarder) pure returns (bool)", + "function setConfig(bytes32 k, bytes32 v)", + "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x924b26a05729483b5daf98a987eef6c23a9a0a1b641a9bc8491ac1c42a8a8635", + "sourceName": "contracts/modules/core/UtilsModule.sol", + "contractName": "UtilsModule", + "deployedOn": "contract.UtilsModule", + "gasUsed": 1243859, + "gasCost": "100000000" + }, + "VaultModule": { + "address": "0xa51b344Beb72bb9DaC84A70cb9b77cA33DB1675b", + "abi": [ + "error CapacityLocked(uint256 marketId)", + "error CollateralDepositDisabled(address collateralType)", + "error EmptyDistribution()", + "error FeatureUnavailable(bytes32 which)", + "error InsufficentAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)", + "error InsufficientAccountCollateral(uint256 amount)", + "error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)", + "error InsufficientDelegation(uint256 minDelegation)", + "error InvalidCollateralAmount()", + "error InvalidLeverage(uint256 leverage)", + "error MarketNotFound(uint128 marketId)", + "error MinDelegationTimeoutPending(uint128 poolId, uint32 timeRemaining)", + "error OverflowInt128ToUint128()", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "error OverflowUint256ToUint32()", + "error OverflowUint32ToInt32()", + "error OverflowUint64ToInt64()", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PoolCollateralLimitExceeded(uint128 poolId, address collateralType, uint256 currentCollateral, uint256 maxCollateral)", + "error PoolNotFound(uint128 poolId)", + "error PositionOutOfBounds()", + "error RewardDistributorNotFound()", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event DelegationUpdated(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, uint256 leverage, address indexed sender)", + "function delegateCollateral(uint128 accountId, uint128 poolId, address collateralType, uint256 newCollateralAmountD18, uint256 leverage)", + "function getPosition(uint128 accountId, uint128 poolId, address collateralType) returns (uint256 collateralAmount, uint256 collateralValue, int256 debt, uint256 collateralizationRatio)", + "function getPositionCollateral(uint128 accountId, uint128 poolId, address collateralType) view returns (uint256 amount)", + "function getPositionCollateralRatio(uint128 accountId, uint128 poolId, address collateralType) returns (uint256)", + "function getPositionDebt(uint128 accountId, uint128 poolId, address collateralType) returns (int256 debt)", + "function getVaultCollateral(uint128 poolId, address collateralType) view returns (uint256 amount, uint256 value)", + "function getVaultCollateralRatio(uint128 poolId, address collateralType) returns (uint256)", + "function getVaultDebt(uint128 poolId, address collateralType) returns (int256)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xf507da863641ca218d26b4aeeda29802300217600e40cd9007db4f4244d9ce84", + "sourceName": "contracts/modules/core/VaultModule.sol", + "contractName": "VaultModule", + "deployedOn": "contract.VaultModule", + "gasUsed": 5599946, + "gasCost": "100000000" + }, + "InitialCoreProxy": { + "address": "0x4Ab09F627fa9706f33178129005300Fd4c00EDF1", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)" + ], + "constructorArgs": [ + "0x828EED723cAF0A8F822249231266E38dF614923C", + "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + ], + "linkedLibraries": {}, + "deployTxnHash": "0xcc8bbb0ee97d1b5d6c1388ab5fbfde9d34060f4426b547c3fc6f23e7efda002f", + "sourceName": "contracts/Proxy.sol", + "contractName": "Proxy", + "deployedOn": "contract.InitialCoreProxy", + "gasUsed": 376750, + "gasCost": "100000000" + }, + "AccountRouter": { + "address": "0x0a71d7ca0672329ebb72dcf3d58eb4dd7984ec08", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error AlreadyInitialized()", + "error CannotSelfApprove(address addr)", + "error IndexOverrun(uint256 requestedIndex, uint256 length)", + "error InvalidOwner(address addr)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidTransferRecipient(address addr)", + "error OverflowUint256ToUint128()", + "error TokenAlreadyMinted(uint256 id)", + "error TokenDoesNotExist(uint256 id)", + "event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)", + "event ApprovalForAll(address indexed owner, address indexed operator, bool approved)", + "event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)", + "function approve(address to, uint256 tokenId)", + "function balanceOf(address holder) view returns (uint256 balance)", + "function burn(uint256 tokenId)", + "function getApproved(uint256 tokenId) view returns (address operator)", + "function initialize(string tokenName, string tokenSymbol, string uri)", + "function isApprovedForAll(address holder, address operator) view returns (bool)", + "function isInitialized() view returns (bool)", + "function mint(address to, uint256 tokenId)", + "function name() view returns (string)", + "function ownerOf(uint256 tokenId) view returns (address)", + "function safeMint(address to, uint256 tokenId, bytes data)", + "function safeTransferFrom(address from, address to, uint256 tokenId)", + "function safeTransferFrom(address from, address to, uint256 tokenId, bytes data)", + "function setAllowance(uint256 tokenId, address spender)", + "function setApprovalForAll(address operator, bool approved)", + "function setBaseTokenURI(string uri)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function symbol() view returns (string)", + "function tokenByIndex(uint256 index) view returns (uint256)", + "function tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)", + "function tokenURI(uint256 tokenId) view returns (string)", + "function totalSupply() view returns (uint256)", + "function transferFrom(address from, address to, uint256 tokenId)" + ], + "deployedOn": "router.AccountRouter", + "deployTxnHash": "0x020fa7b5b487323bd8ff91a6f0f0411bb9c63d3d333face17667a2fd151c9e30", + "contractName": "AccountRouter", + "sourceName": "AccountRouter.sol", + "gasUsed": 609681, + "gasCost": "100000000" + }, + "CoreRouter": { + "address": "0x71cb5f83891dfd0f829e862f9d9acf5c1a0af01d", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)", + "error FeatureUnavailable(bytes32 which)", + "error InvalidAccountId(uint128 accountId)", + "error InvalidPermission(bytes32 permission)", + "error OnlyAccountTokenProxy(address origin)", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PermissionNotGranted(uint128 accountId, bytes32 permission, address user)", + "error PositionOutOfBounds()", + "event AccountCreated(uint128 indexed accountId, address indexed owner)", + "event PermissionGranted(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "event PermissionRevoked(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "function createAccount() returns (uint128 accountId)", + "function createAccount(uint128 requestedAccountId)", + "function getAccountLastInteraction(uint128 accountId) view returns (uint256)", + "function getAccountOwner(uint128 accountId) view returns (address)", + "function getAccountPermissions(uint128 accountId) view returns (tuple(address user, bytes32[] permissions)[] accountPerms)", + "function getAccountTokenAddress() view returns (address)", + "function grantPermission(uint128 accountId, bytes32 permission, address user)", + "function hasPermission(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function isAuthorized(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function notifyAccountTransfer(address to, uint128 accountId)", + "function renouncePermission(uint128 accountId, bytes32 permission)", + "function revokePermission(uint128 accountId, bytes32 permission, address user)", + "error AccountNotFound(uint128 accountId)", + "error EmptyDistribution()", + "error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)", + "error MarketNotFound(uint128 marketId)", + "error NotFundedByPool(uint256 marketId, uint256 poolId)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "event DebtAssociated(uint128 indexed marketId, uint128 indexed poolId, address indexed collateralType, uint128 accountId, uint256 amount, int256 updatedDebt)", + "function associateDebt(uint128 marketId, uint128 poolId, address collateralType, uint128 accountId, uint256 amount) returns (int256)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "error InvalidMessage()", + "error NotCcipRouter(address)", + "error UnsupportedNetwork(uint64)", + "function ccipReceive(tuple(bytes32 messageId, uint64 sourceChainSelector, bytes sender, bytes data, tuple(address token, uint256 amount)[] tokenAmounts) message)", + "error AccountActivityTimeoutPending(uint128 accountId, uint256 currentTime, uint256 requiredTime)", + "error CollateralDepositDisabled(address collateralType)", + "error CollateralNotFound()", + "error FailedTransfer(address from, address to, uint256 value)", + "error InsufficentAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)", + "error InsufficientAccountCollateral(uint256 amount)", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "error OverflowUint256ToUint64()", + "error PrecisionLost(uint256 tokenAmount, uint8 decimals)", + "event CollateralLockCreated(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event CollateralLockExpired(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event Deposited(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "event Withdrawn(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "function cleanExpiredLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) returns (uint256 cleared)", + "function createLock(uint128 accountId, address collateralType, uint256 amount, uint64 expireTimestamp)", + "function deposit(uint128 accountId, address collateralType, uint256 tokenAmount)", + "function getAccountAvailableCollateral(uint128 accountId, address collateralType) view returns (uint256)", + "function getAccountCollateral(uint128 accountId, address collateralType) view returns (uint256 totalDeposited, uint256 totalAssigned, uint256 totalLocked)", + "function getLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) view returns (tuple(uint128 amountD18, uint64 lockExpirationTime)[] locks)", + "function withdraw(uint128 accountId, address collateralType, uint256 tokenAmount)", + "event CollateralConfigured(address indexed collateralType, tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function configureCollateral(tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function getCollateralConfiguration(address collateralType) pure returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18))", + "function getCollateralConfigurations(bool hideDisabled) view returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18)[])", + "function getCollateralPrice(address collateralType) view returns (uint256)", + "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", + "event TransferCrossChainInitiated(uint64 indexed destChainId, uint256 indexed amount, address sender)", + "function transferCrossChain(uint64 destChainId, uint256 amount) payable returns (uint256 gasTokenUsed)", + "error InsufficientDebt(int256 currentDebt)", + "error PoolNotFound(uint128 poolId)", + "event IssuanceFeePaid(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 feeAmount)", + "event UsdBurned(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "event UsdMinted(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "function burnUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)", + "function mintUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)", + "error CannotScaleEmptyMapping()", + "error IneligibleForLiquidation(uint256 collateralValue, int256 debt, uint256 currentCRatio, uint256 cratio)", + "error InsufficientMappedAmount()", + "error MustBeVaultLiquidated()", + "error OverflowInt128ToUint128()", + "event Liquidation(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "event VaultLiquidation(uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "function isPositionLiquidatable(uint128 accountId, uint128 poolId, address collateralType) returns (bool)", + "function isVaultLiquidatable(uint128 poolId, address collateralType) returns (bool)", + "function liquidate(uint128 accountId, uint128 poolId, address collateralType, uint128 liquidateAsAccountId) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)", + "function liquidateVault(uint128 poolId, address collateralType, uint128 liquidateAsAccountId, uint256 maxUsd) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)", + "error InsufficientMarketCollateralDepositable(uint128 marketId, address collateralType, uint256 tokenAmountToDeposit)", + "error InsufficientMarketCollateralWithdrawable(uint128 marketId, address collateralType, uint256 tokenAmountToWithdraw)", + "event MarketCollateralDeposited(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MarketCollateralWithdrawn(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MaximumMarketCollateralConfigured(uint128 indexed marketId, address indexed collateralType, uint256 systemAmount, address indexed owner)", + "function configureMaximumMarketCollateral(uint128 marketId, address collateralType, uint256 amount)", + "function depositMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)", + "function getMarketCollateralAmount(uint128 marketId, address collateralType) view returns (uint256 collateralAmountD18)", + "function getMarketCollateralValue(uint128 marketId) view returns (uint256)", + "function getMaximumMarketCollateral(uint128 marketId, address collateralType) view returns (uint256)", + "function withdrawMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)", + "error IncorrectMarketInterface(address market)", + "error NotEnoughLiquidity(uint128 marketId, uint256 amount)", + "event MarketRegistered(address indexed market, uint128 indexed marketId, address indexed sender)", + "event MarketSystemFeePaid(uint128 indexed marketId, uint256 feeAmount)", + "event MarketUsdDeposited(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event MarketUsdWithdrawn(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event SetMarketMinLiquidityRatio(uint128 indexed marketId, uint256 minLiquidityRatio)", + "event SetMinDelegateTime(uint128 indexed marketId, uint32 minDelegateTime)", + "function depositMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", + "function distributeDebtToPools(uint128 marketId, uint256 maxIter) returns (bool)", + "function getMarketAddress(uint128 marketId) view returns (address)", + "function getMarketCollateral(uint128 marketId) view returns (uint256)", + "function getMarketDebtPerShare(uint128 marketId) returns (int256)", + "function getMarketFees(uint128, uint256 amount) view returns (uint256 depositFeeAmount, uint256 withdrawFeeAmount)", + "function getMarketMinDelegateTime(uint128 marketId) view returns (uint32)", + "function getMarketNetIssuance(uint128 marketId) view returns (int128)", + "function getMarketPoolDebtDistribution(uint128 marketId, uint128 poolId) returns (uint256 sharesD18, uint128 totalSharesD18, int128 valuePerShareD27)", + "function getMarketPools(uint128 marketId) returns (uint128[] inRangePoolIds, uint128[] outRangePoolIds)", + "function getMarketReportedDebt(uint128 marketId) view returns (uint256)", + "function getMarketTotalDebt(uint128 marketId) view returns (int256)", + "function getMinLiquidityRatio(uint128 marketId) view returns (uint256)", + "function getOracleManager() view returns (address)", + "function getUsdToken() view returns (address)", + "function getWithdrawableMarketUsd(uint128 marketId) view returns (uint256)", + "function isMarketCapacityLocked(uint128 marketId) view returns (bool)", + "function registerMarket(address market) returns (uint128 marketId)", + "function setMarketMinDelegateTime(uint128 marketId, uint32 minDelegateTime)", + "function setMinLiquidityRatio(uint128 marketId, uint256 minLiquidityRatio)", + "function withdrawMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", + "event PoolApprovedAdded(uint256 poolId)", + "event PoolApprovedRemoved(uint256 poolId)", + "event PreferredPoolSet(uint256 poolId)", + "function addApprovedPool(uint128 poolId)", + "function getApprovedPools() view returns (uint256[])", + "function getPreferredPool() view returns (uint128)", + "function removeApprovedPool(uint128 poolId)", + "function setPreferredPool(uint128 poolId)", + "error CapacityLocked(uint256 marketId)", + "error MinDelegationTimeoutPending(uint128 poolId, uint32 timeRemaining)", + "error PoolAlreadyExists(uint128 poolId)", + "event PoolCollateralConfigurationUpdated(uint128 indexed poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "event PoolCollateralDisabledByDefaultSet(uint128 poolId, bool disabled)", + "event PoolConfigurationSet(uint128 indexed poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] markets, address indexed sender)", + "event PoolCreated(uint128 indexed poolId, address indexed owner, address indexed sender)", + "event PoolNameUpdated(uint128 indexed poolId, string name, address indexed sender)", + "event PoolNominationRenounced(uint128 indexed poolId, address indexed owner)", + "event PoolNominationRevoked(uint128 indexed poolId, address indexed owner)", + "event PoolOwnerNominated(uint128 indexed poolId, address indexed nominatedOwner, address indexed owner)", + "event PoolOwnershipAccepted(uint128 indexed poolId, address indexed owner)", + "event PoolOwnershipRenounced(uint128 indexed poolId, address indexed owner)", + "event SetMinLiquidityRatio(uint256 minLiquidityRatio)", + "function acceptPoolOwnership(uint128 poolId)", + "function createPool(uint128 requestedPoolId, address owner)", + "function getMinLiquidityRatio() view returns (uint256)", + "function getNominatedPoolOwner(uint128 poolId) view returns (address)", + "function getPoolCollateralConfiguration(uint128 poolId, address collateralType) view returns (tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "function getPoolCollateralIssuanceRatio(uint128 poolId, address collateral) view returns (uint256)", + "function getPoolConfiguration(uint128 poolId) view returns (tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[])", + "function getPoolName(uint128 poolId) view returns (string poolName)", + "function getPoolOwner(uint128 poolId) view returns (address)", + "function nominatePoolOwner(address nominatedOwner, uint128 poolId)", + "function rebalancePool(uint128 poolId, address optionalCollateralType)", + "function renouncePoolNomination(uint128 poolId)", + "function renouncePoolOwnership(uint128 poolId)", + "function revokePoolNomination(uint128 poolId)", + "function setMinLiquidityRatio(uint256 minLiquidityRatio)", + "function setPoolCollateralConfiguration(uint128 poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) newConfig)", + "function setPoolCollateralDisabledByDefault(uint128 poolId, bool disabled)", + "function setPoolConfiguration(uint128 poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] newMarketConfigurations)", + "function setPoolName(uint128 poolId, string name)", + "error OverflowUint256ToUint32()", + "error OverflowUint32ToInt32()", + "error OverflowUint64ToInt64()", + "error RewardDistributorNotFound()", + "error RewardUnavailable(address distributor)", + "event RewardsClaimed(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount)", + "event RewardsDistributed(uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount, uint256 start, uint256 duration)", + "event RewardsDistributorRegistered(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "event RewardsDistributorRemoved(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "function claimRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) returns (uint256)", + "function distributeRewards(uint128 poolId, address collateralType, uint256 amount, uint64 start, uint32 duration)", + "function getAvailableRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function getRewardRate(uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function registerRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function removeRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function updateRewards(uint128 poolId, address collateralType, uint128 accountId) returns (uint256[], address[])", + "event NewSupportedCrossChainNetwork(uint64 newChainId)", + "function configureChainlinkCrossChain(address ccipRouter, address ccipTokenPool)", + "function configureOracleManager(address oracleManagerAddress)", + "function getConfig(bytes32 k) view returns (bytes32 v)", + "function getConfigAddress(bytes32 k) view returns (address v)", + "function getConfigUint(bytes32 k) view returns (uint256 v)", + "function getTrustedForwarder() pure returns (address)", + "function isTrustedForwarder(address forwarder) pure returns (bool)", + "function setConfig(bytes32 k, bytes32 v)", + "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "error InsufficientDelegation(uint256 minDelegation)", + "error InvalidCollateralAmount()", + "error InvalidLeverage(uint256 leverage)", + "error PoolCollateralLimitExceeded(uint128 poolId, address collateralType, uint256 currentCollateral, uint256 maxCollateral)", + "event DelegationUpdated(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, uint256 leverage, address indexed sender)", + "function delegateCollateral(uint128 accountId, uint128 poolId, address collateralType, uint256 newCollateralAmountD18, uint256 leverage)", + "function getPosition(uint128 accountId, uint128 poolId, address collateralType) returns (uint256 collateralAmount, uint256 collateralValue, int256 debt, uint256 collateralizationRatio)", + "function getPositionCollateral(uint128 accountId, uint128 poolId, address collateralType) view returns (uint256 amount)", + "function getPositionCollateralRatio(uint128 accountId, uint128 poolId, address collateralType) returns (uint256)", + "function getPositionDebt(uint128 accountId, uint128 poolId, address collateralType) returns (int256 debt)", + "function getVaultCollateral(uint128 poolId, address collateralType) view returns (uint256 amount, uint256 value)", + "function getVaultCollateralRatio(uint128 poolId, address collateralType) returns (uint256)", + "function getVaultDebt(uint128 poolId, address collateralType) returns (int256)" + ], + "deployedOn": "router.CoreRouter", + "deployTxnHash": "0x19b106af32b78266c0505ebf57e2c5217a489c969d51fdb250a5cad87d7582e2", + "contractName": "CoreRouter", + "sourceName": "CoreRouter.sol", + "gasUsed": 1876589, + "gasCost": "100000000" + }, + "USDRouter": { + "address": "0xfb012bf551f25164483d01b91823bce5c3983ff2", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "error AlreadyInitialized()", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InsufficientBalance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "event Approval(address indexed owner, address indexed spender, uint256 amount)", + "event Transfer(address indexed from, address indexed to, uint256 amount)", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 amount) returns (bool)", + "function balanceOf(address owner) view returns (uint256)", + "function burn(uint256 amount)", + "function burn(address target, uint256 amount)", + "function burnWithAllowance(address from, address spender, uint256 amount)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function initialize(string tokenName, string tokenSymbol, uint8 tokenDecimals)", + "function isInitialized() view returns (bool)", + "function mint(address target, uint256 amount)", + "function name() view returns (string)", + "function setAllowance(address from, address spender, uint256 amount)", + "function symbol() view returns (string)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 amount) returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)" + ], + "deployedOn": "router.USDRouter", + "deployTxnHash": "0x54b079d6fa45587206480d43bc397894f29ba18cbd11ec6fefbdcf2ed6256553", + "contractName": "USDRouter", + "sourceName": "USDRouter.sol", + "gasUsed": 604468, + "gasCost": "100000000" + }, + "CoreProxy": { + "address": "0x4Ab09F627fa9706f33178129005300Fd4c00EDF1", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error ValueAlreadyInSet()", + "error ValueNotInSet()", + "event FeatureFlagAllowAllSet(bytes32 indexed feature, bool allowAll)", + "event FeatureFlagAllowlistAdded(bytes32 indexed feature, address account)", + "event FeatureFlagAllowlistRemoved(bytes32 indexed feature, address account)", + "event FeatureFlagDeniersReset(bytes32 indexed feature, address[] deniers)", + "event FeatureFlagDenyAllSet(bytes32 indexed feature, bool denyAll)", + "function addToFeatureFlagAllowlist(bytes32 feature, address account)", + "function getDeniers(bytes32 feature) view returns (address[])", + "function getFeatureFlagAllowAll(bytes32 feature) view returns (bool)", + "function getFeatureFlagAllowlist(bytes32 feature) view returns (address[])", + "function getFeatureFlagDenyAll(bytes32 feature) view returns (bool)", + "function isFeatureAllowed(bytes32 feature, address account) view returns (bool)", + "function removeFromFeatureFlagAllowlist(bytes32 feature, address account)", + "function setDeniers(bytes32 feature, address[] deniers)", + "function setFeatureFlagAllowAll(bytes32 feature, bool allowAll)", + "function setFeatureFlagDenyAll(bytes32 feature, bool denyAll)", + "error FeatureUnavailable(bytes32 which)", + "error InvalidAccountId(uint128 accountId)", + "error InvalidPermission(bytes32 permission)", + "error OnlyAccountTokenProxy(address origin)", + "error PermissionDenied(uint128 accountId, bytes32 permission, address target)", + "error PermissionNotGranted(uint128 accountId, bytes32 permission, address user)", + "error PositionOutOfBounds()", + "event AccountCreated(uint128 indexed accountId, address indexed owner)", + "event PermissionGranted(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "event PermissionRevoked(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)", + "function createAccount() returns (uint128 accountId)", + "function createAccount(uint128 requestedAccountId)", + "function getAccountLastInteraction(uint128 accountId) view returns (uint256)", + "function getAccountOwner(uint128 accountId) view returns (address)", + "function getAccountPermissions(uint128 accountId) view returns (tuple(address user, bytes32[] permissions)[] accountPerms)", + "function getAccountTokenAddress() view returns (address)", + "function grantPermission(uint128 accountId, bytes32 permission, address user)", + "function hasPermission(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function isAuthorized(uint128 accountId, bytes32 permission, address user) view returns (bool)", + "function notifyAccountTransfer(address to, uint128 accountId)", + "function renouncePermission(uint128 accountId, bytes32 permission)", + "function revokePermission(uint128 accountId, bytes32 permission, address user)", + "error AccountNotFound(uint128 accountId)", + "error EmptyDistribution()", + "error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)", + "error MarketNotFound(uint128 marketId)", + "error NotFundedByPool(uint256 marketId, uint256 poolId)", + "error OverflowInt256ToInt128()", + "error OverflowInt256ToUint256()", + "error OverflowUint128ToInt128()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint128()", + "event DebtAssociated(uint128 indexed marketId, uint128 indexed poolId, address indexed collateralType, uint128 accountId, uint256 amount, int256 updatedDebt)", + "function associateDebt(uint128 marketId, uint128 poolId, address collateralType, uint128 accountId, uint256 amount) returns (int256)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "error InvalidMessage()", + "error NotCcipRouter(address)", + "error UnsupportedNetwork(uint64)", + "function ccipReceive(tuple(bytes32 messageId, uint64 sourceChainSelector, bytes sender, bytes data, tuple(address token, uint256 amount)[] tokenAmounts) message)", + "error AccountActivityTimeoutPending(uint128 accountId, uint256 currentTime, uint256 requiredTime)", + "error CollateralDepositDisabled(address collateralType)", + "error CollateralNotFound()", + "error FailedTransfer(address from, address to, uint256 value)", + "error InsufficentAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)", + "error InsufficientAccountCollateral(uint256 amount)", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "error OverflowUint256ToUint64()", + "error PrecisionLost(uint256 tokenAmount, uint8 decimals)", + "event CollateralLockCreated(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event CollateralLockExpired(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, uint64 expireTimestamp)", + "event Deposited(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "event Withdrawn(uint128 indexed accountId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "function cleanExpiredLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) returns (uint256 cleared)", + "function createLock(uint128 accountId, address collateralType, uint256 amount, uint64 expireTimestamp)", + "function deposit(uint128 accountId, address collateralType, uint256 tokenAmount)", + "function getAccountAvailableCollateral(uint128 accountId, address collateralType) view returns (uint256)", + "function getAccountCollateral(uint128 accountId, address collateralType) view returns (uint256 totalDeposited, uint256 totalAssigned, uint256 totalLocked)", + "function getLocks(uint128 accountId, address collateralType, uint256 offset, uint256 count) view returns (tuple(uint128 amountD18, uint64 lockExpirationTime)[] locks)", + "function withdraw(uint128 accountId, address collateralType, uint256 tokenAmount)", + "event CollateralConfigured(address indexed collateralType, tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function configureCollateral(tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18) config)", + "function getCollateralConfiguration(address collateralType) pure returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18))", + "function getCollateralConfigurations(bool hideDisabled) view returns (tuple(bool depositingEnabled, uint256 issuanceRatioD18, uint256 liquidationRatioD18, uint256 liquidationRewardD18, bytes32 oracleNodeId, address tokenAddress, uint256 minDelegationD18)[])", + "function getCollateralPrice(address collateralType) view returns (uint256)", + "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", + "event TransferCrossChainInitiated(uint64 indexed destChainId, uint256 indexed amount, address sender)", + "function transferCrossChain(uint64 destChainId, uint256 amount) payable returns (uint256 gasTokenUsed)", + "error InsufficientDebt(int256 currentDebt)", + "error PoolNotFound(uint128 poolId)", + "event IssuanceFeePaid(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 feeAmount)", + "event UsdBurned(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "event UsdMinted(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)", + "function burnUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)", + "function mintUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)", + "error CannotScaleEmptyMapping()", + "error IneligibleForLiquidation(uint256 collateralValue, int256 debt, uint256 currentCRatio, uint256 cratio)", + "error InsufficientMappedAmount()", + "error MustBeVaultLiquidated()", + "error OverflowInt128ToUint128()", + "event Liquidation(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "event VaultLiquidation(uint128 indexed poolId, address indexed collateralType, tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData, uint128 liquidateAsAccountId, address sender)", + "function isPositionLiquidatable(uint128 accountId, uint128 poolId, address collateralType) returns (bool)", + "function isVaultLiquidatable(uint128 poolId, address collateralType) returns (bool)", + "function liquidate(uint128 accountId, uint128 poolId, address collateralType, uint128 liquidateAsAccountId) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)", + "function liquidateVault(uint128 poolId, address collateralType, uint128 liquidateAsAccountId, uint256 maxUsd) returns (tuple(uint256 debtLiquidated, uint256 collateralLiquidated, uint256 amountRewarded) liquidationData)", + "error InsufficientMarketCollateralDepositable(uint128 marketId, address collateralType, uint256 tokenAmountToDeposit)", + "error InsufficientMarketCollateralWithdrawable(uint128 marketId, address collateralType, uint256 tokenAmountToWithdraw)", + "event MarketCollateralDeposited(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MarketCollateralWithdrawn(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", + "event MaximumMarketCollateralConfigured(uint128 indexed marketId, address indexed collateralType, uint256 systemAmount, address indexed owner)", + "function configureMaximumMarketCollateral(uint128 marketId, address collateralType, uint256 amount)", + "function depositMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)", + "function getMarketCollateralAmount(uint128 marketId, address collateralType) view returns (uint256 collateralAmountD18)", + "function getMarketCollateralValue(uint128 marketId) view returns (uint256)", + "function getMaximumMarketCollateral(uint128 marketId, address collateralType) view returns (uint256)", + "function withdrawMarketCollateral(uint128 marketId, address collateralType, uint256 tokenAmount)", + "error IncorrectMarketInterface(address market)", + "error NotEnoughLiquidity(uint128 marketId, uint256 amount)", + "event MarketRegistered(address indexed market, uint128 indexed marketId, address indexed sender)", + "event MarketSystemFeePaid(uint128 indexed marketId, uint256 feeAmount)", + "event MarketUsdDeposited(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event MarketUsdWithdrawn(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue)", + "event SetMarketMinLiquidityRatio(uint128 indexed marketId, uint256 minLiquidityRatio)", + "event SetMinDelegateTime(uint128 indexed marketId, uint32 minDelegateTime)", + "function depositMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", + "function distributeDebtToPools(uint128 marketId, uint256 maxIter) returns (bool)", + "function getMarketAddress(uint128 marketId) view returns (address)", + "function getMarketCollateral(uint128 marketId) view returns (uint256)", + "function getMarketDebtPerShare(uint128 marketId) returns (int256)", + "function getMarketFees(uint128, uint256 amount) view returns (uint256 depositFeeAmount, uint256 withdrawFeeAmount)", + "function getMarketMinDelegateTime(uint128 marketId) view returns (uint32)", + "function getMarketNetIssuance(uint128 marketId) view returns (int128)", + "function getMarketPoolDebtDistribution(uint128 marketId, uint128 poolId) returns (uint256 sharesD18, uint128 totalSharesD18, int128 valuePerShareD27)", + "function getMarketPools(uint128 marketId) returns (uint128[] inRangePoolIds, uint128[] outRangePoolIds)", + "function getMarketReportedDebt(uint128 marketId) view returns (uint256)", + "function getMarketTotalDebt(uint128 marketId) view returns (int256)", + "function getMinLiquidityRatio(uint128 marketId) view returns (uint256)", + "function getOracleManager() view returns (address)", + "function getUsdToken() view returns (address)", + "function getWithdrawableMarketUsd(uint128 marketId) view returns (uint256)", + "function isMarketCapacityLocked(uint128 marketId) view returns (bool)", + "function registerMarket(address market) returns (uint128 marketId)", + "function setMarketMinDelegateTime(uint128 marketId, uint32 minDelegateTime)", + "function setMinLiquidityRatio(uint128 marketId, uint256 minLiquidityRatio)", + "function withdrawMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", + "event PoolApprovedAdded(uint256 poolId)", + "event PoolApprovedRemoved(uint256 poolId)", + "event PreferredPoolSet(uint256 poolId)", + "function addApprovedPool(uint128 poolId)", + "function getApprovedPools() view returns (uint256[])", + "function getPreferredPool() view returns (uint128)", + "function removeApprovedPool(uint128 poolId)", + "function setPreferredPool(uint128 poolId)", + "error CapacityLocked(uint256 marketId)", + "error MinDelegationTimeoutPending(uint128 poolId, uint32 timeRemaining)", + "error PoolAlreadyExists(uint128 poolId)", + "event PoolCollateralConfigurationUpdated(uint128 indexed poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "event PoolCollateralDisabledByDefaultSet(uint128 poolId, bool disabled)", + "event PoolConfigurationSet(uint128 indexed poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] markets, address indexed sender)", + "event PoolCreated(uint128 indexed poolId, address indexed owner, address indexed sender)", + "event PoolNameUpdated(uint128 indexed poolId, string name, address indexed sender)", + "event PoolNominationRenounced(uint128 indexed poolId, address indexed owner)", + "event PoolNominationRevoked(uint128 indexed poolId, address indexed owner)", + "event PoolOwnerNominated(uint128 indexed poolId, address indexed nominatedOwner, address indexed owner)", + "event PoolOwnershipAccepted(uint128 indexed poolId, address indexed owner)", + "event PoolOwnershipRenounced(uint128 indexed poolId, address indexed owner)", + "event SetMinLiquidityRatio(uint256 minLiquidityRatio)", + "function acceptPoolOwnership(uint128 poolId)", + "function createPool(uint128 requestedPoolId, address owner)", + "function getMinLiquidityRatio() view returns (uint256)", + "function getNominatedPoolOwner(uint128 poolId) view returns (address)", + "function getPoolCollateralConfiguration(uint128 poolId, address collateralType) view returns (tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) config)", + "function getPoolCollateralIssuanceRatio(uint128 poolId, address collateral) view returns (uint256)", + "function getPoolConfiguration(uint128 poolId) view returns (tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[])", + "function getPoolName(uint128 poolId) view returns (string poolName)", + "function getPoolOwner(uint128 poolId) view returns (address)", + "function nominatePoolOwner(address nominatedOwner, uint128 poolId)", + "function rebalancePool(uint128 poolId, address optionalCollateralType)", + "function renouncePoolNomination(uint128 poolId)", + "function renouncePoolOwnership(uint128 poolId)", + "function revokePoolNomination(uint128 poolId)", + "function setMinLiquidityRatio(uint256 minLiquidityRatio)", + "function setPoolCollateralConfiguration(uint128 poolId, address collateralType, tuple(uint256 collateralLimitD18, uint256 issuanceRatioD18) newConfig)", + "function setPoolCollateralDisabledByDefault(uint128 poolId, bool disabled)", + "function setPoolConfiguration(uint128 poolId, tuple(uint128 marketId, uint128 weightD18, int128 maxDebtShareValueD18)[] newMarketConfigurations)", + "function setPoolName(uint128 poolId, string name)", + "error OverflowUint256ToUint32()", + "error OverflowUint32ToInt32()", + "error OverflowUint64ToInt64()", + "error RewardDistributorNotFound()", + "error RewardUnavailable(address distributor)", + "event RewardsClaimed(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount)", + "event RewardsDistributed(uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount, uint256 start, uint256 duration)", + "event RewardsDistributorRegistered(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "event RewardsDistributorRemoved(uint128 indexed poolId, address indexed collateralType, address indexed distributor)", + "function claimRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) returns (uint256)", + "function distributeRewards(uint128 poolId, address collateralType, uint256 amount, uint64 start, uint32 duration)", + "function getAvailableRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function getRewardRate(uint128 poolId, address collateralType, address distributor) view returns (uint256)", + "function registerRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function removeRewardsDistributor(uint128 poolId, address collateralType, address distributor)", + "function updateRewards(uint128 poolId, address collateralType, uint128 accountId) returns (uint256[], address[])", + "event NewSupportedCrossChainNetwork(uint64 newChainId)", + "function configureChainlinkCrossChain(address ccipRouter, address ccipTokenPool)", + "function configureOracleManager(address oracleManagerAddress)", + "function getConfig(bytes32 k) view returns (bytes32 v)", + "function getConfigAddress(bytes32 k) view returns (address v)", + "function getConfigUint(bytes32 k) view returns (uint256 v)", + "function getTrustedForwarder() pure returns (address)", + "function isTrustedForwarder(address forwarder) pure returns (bool)", + "function setConfig(bytes32 k, bytes32 v)", + "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "error InsufficientDelegation(uint256 minDelegation)", + "error InvalidCollateralAmount()", + "error InvalidLeverage(uint256 leverage)", + "error PoolCollateralLimitExceeded(uint128 poolId, address collateralType, uint256 currentCollateral, uint256 maxCollateral)", + "event DelegationUpdated(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, uint256 leverage, address indexed sender)", + "function delegateCollateral(uint128 accountId, uint128 poolId, address collateralType, uint256 newCollateralAmountD18, uint256 leverage)", + "function getPosition(uint128 accountId, uint128 poolId, address collateralType) returns (uint256 collateralAmount, uint256 collateralValue, int256 debt, uint256 collateralizationRatio)", + "function getPositionCollateral(uint128 accountId, uint128 poolId, address collateralType) view returns (uint256 amount)", + "function getPositionCollateralRatio(uint128 accountId, uint128 poolId, address collateralType) returns (uint256)", + "function getPositionDebt(uint128 accountId, uint128 poolId, address collateralType) returns (int256 debt)", + "function getVaultCollateral(uint128 poolId, address collateralType) view returns (uint256 amount, uint256 value)", + "function getVaultCollateralRatio(uint128 poolId, address collateralType) returns (uint256)", + "function getVaultDebt(uint128 poolId, address collateralType) returns (int256)" + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.upgrade_core_proxy", + "gasUsed": 0, + "gasCost": "0", + "highlight": true + }, + "AccountProxy": { + "address": "0x6e29bE5d3772f9eEeE9a5FEa5DEDDA7F81292b5a", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error AlreadyInitialized()", + "error CannotSelfApprove(address addr)", + "error IndexOverrun(uint256 requestedIndex, uint256 length)", + "error InvalidOwner(address addr)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidTransferRecipient(address addr)", + "error OverflowUint256ToUint128()", + "error TokenAlreadyMinted(uint256 id)", + "error TokenDoesNotExist(uint256 id)", + "event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)", + "event ApprovalForAll(address indexed owner, address indexed operator, bool approved)", + "event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)", + "function approve(address to, uint256 tokenId)", + "function balanceOf(address holder) view returns (uint256 balance)", + "function burn(uint256 tokenId)", + "function getApproved(uint256 tokenId) view returns (address operator)", + "function initialize(string tokenName, string tokenSymbol, string uri)", + "function isApprovedForAll(address holder, address operator) view returns (bool)", + "function isInitialized() view returns (bool)", + "function mint(address to, uint256 tokenId)", + "function name() view returns (string)", + "function ownerOf(uint256 tokenId) view returns (address)", + "function safeMint(address to, uint256 tokenId, bytes data)", + "function safeTransferFrom(address from, address to, uint256 tokenId)", + "function safeTransferFrom(address from, address to, uint256 tokenId, bytes data)", + "function setAllowance(uint256 tokenId, address spender)", + "function setApprovalForAll(address operator, bool approved)", + "function setBaseTokenURI(string uri)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function symbol() view returns (string)", + "function tokenByIndex(uint256 index) view returns (uint256)", + "function tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)", + "function tokenURI(uint256 tokenId) view returns (string)", + "function totalSupply() view returns (uint256)", + "function transferFrom(address from, address to, uint256 tokenId)" + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.init_account", + "gasUsed": 0, + "gasCost": "0", + "highlight": true + }, + "USDProxy": { + "address": "0x574036F5926AA5dD34d16c245e5992f4F2299BB2", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", + "error MissingAssociatedSystem(bytes32 id)", + "event AssociatedSystemSet(bytes32 indexed kind, bytes32 indexed id, address proxy, address impl)", + "function getAssociatedSystem(bytes32 id) view returns (address addr, bytes32 kind)", + "function initOrUpgradeNft(bytes32 id, string name, string symbol, string uri, address impl)", + "function initOrUpgradeToken(bytes32 id, string name, string symbol, uint8 decimals, address impl)", + "function registerUnmanagedSystem(bytes32 id, address endpoint)", + "error AlreadyInitialized()", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InsufficientBalance(uint256 required, uint256 existing)", + "error InvalidParameter(string parameter, string reason)", + "event Approval(address indexed owner, address indexed spender, uint256 amount)", + "event Transfer(address indexed from, address indexed to, uint256 amount)", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 amount) returns (bool)", + "function balanceOf(address owner) view returns (uint256)", + "function burn(uint256 amount)", + "function burn(address target, uint256 amount)", + "function burnWithAllowance(address from, address spender, uint256 amount)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function initialize(string tokenName, string tokenSymbol, uint8 tokenDecimals)", + "function isInitialized() view returns (bool)", + "function mint(address target, uint256 amount)", + "function name() view returns (string)", + "function setAllowance(address from, address spender, uint256 amount)", + "function symbol() view returns (string)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 amount) returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)" + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.init_usd", + "gasUsed": 0, + "gasCost": "0", + "highlight": true + } + }, + "imports": { + "oracle_manager": { + "url": "ipfs://QmXrcQNawxaxsZvLZ9cyWUtM4RBd12kCowKrNpz5ZdWgT6", + "tags": [ + "latest" + ], + "preset": "with-synthetix", + "contracts": { + "CoreModule": { + "address": "0x527A4e662c22733A056464D202E77AAd62fA6109", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0x09f279637d8e85e62d71aa3ae85b246f0e0eb7a3892a484c7def7ac5e7685fb4", + "sourceName": "contracts/modules/CoreModule.sol", + "contractName": "CoreModule", + "deployedOn": "contract.CoreModule", + "gasUsed": 1387392, + "gasCost": "100000000" + }, + "NodeModule": { + "address": "0xFCAD0fF92f4854A467C28Bd98FBB40f8352F127A", + "abi": [ + "error DeviationToleranceExceeded(int256 deviation)", + "error InvalidInputPrice()", + "error InvalidNodeDefinition(tuple(uint8 nodeType, bytes parameters, bytes32[] parents) nodeType)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidPrice(int256 price)", + "error NodeNotRegistered(bytes32 nodeId)", + "error OracleDataRequired(address oracleContract, bytes oracleQuery)", + "error OverflowInt256ToUint256()", + "error OverflowInt56ToInt24()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint160()", + "error OverflowUint56ToInt56()", + "error StalenessToleranceExceeded()", + "error UnprocessableNode(bytes32 nodeId)", + "error UnsupportedOperation(uint8 operation)", + "event NodeRegistered(bytes32 nodeId, uint8 nodeType, bytes parameters, bytes32[] parents)", + "function getNode(bytes32 nodeId) pure returns (tuple(uint8 nodeType, bytes parameters, bytes32[] parents) node)", + "function getNodeId(uint8 nodeType, bytes parameters, bytes32[] parents) pure returns (bytes32 nodeId)", + "function process(bytes32 nodeId) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function processWithRuntime(bytes32 nodeId, bytes32[] runtimeKeys, bytes32[] runtimeValues) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function registerNode(uint8 nodeType, bytes parameters, bytes32[] parents) returns (bytes32 nodeId)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xd0712569ab23f8325665b38e9736c15d675205d6971c1989e582a37ab7858ae6", + "sourceName": "contracts/modules/NodeModule.sol", + "contractName": "NodeModule", + "deployedOn": "contract.NodeModule", + "gasUsed": 6226312, + "gasCost": "100000000" + }, + "InitialProxy": { + "address": "0xCD4cbBe3a36D145072cDDB89B0AE966761E416F9", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)" + ], + "constructorArgs": [ + "0x527A4e662c22733A056464D202E77AAd62fA6109", + "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + ], + "linkedLibraries": {}, + "deployTxnHash": "0xda7f2b369ec01553d08cddc05cc385192238074238a383e747d2c72876ebc523", + "sourceName": "contracts/Proxy.sol", + "contractName": "Proxy", + "deployedOn": "contract.InitialProxy", + "gasUsed": 486159, + "gasCost": "100000000" + }, + "OracleRouter": { + "address": "0x94d473d05a3882929b2c2af1772870a9ad602b77", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error DeviationToleranceExceeded(int256 deviation)", + "error InvalidInputPrice()", + "error InvalidNodeDefinition(tuple(uint8 nodeType, bytes parameters, bytes32[] parents) nodeType)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidPrice(int256 price)", + "error NodeNotRegistered(bytes32 nodeId)", + "error OracleDataRequired(address oracleContract, bytes oracleQuery)", + "error OverflowInt256ToUint256()", + "error OverflowInt56ToInt24()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint160()", + "error OverflowUint56ToInt56()", + "error StalenessToleranceExceeded()", + "error UnprocessableNode(bytes32 nodeId)", + "error UnsupportedOperation(uint8 operation)", + "event NodeRegistered(bytes32 nodeId, uint8 nodeType, bytes parameters, bytes32[] parents)", + "function getNode(bytes32 nodeId) pure returns (tuple(uint8 nodeType, bytes parameters, bytes32[] parents) node)", + "function getNodeId(uint8 nodeType, bytes parameters, bytes32[] parents) pure returns (bytes32 nodeId)", + "function process(bytes32 nodeId) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function processWithRuntime(bytes32 nodeId, bytes32[] runtimeKeys, bytes32[] runtimeValues) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function registerNode(uint8 nodeType, bytes parameters, bytes32[] parents) returns (bytes32 nodeId)" + ], + "deployedOn": "router.OracleRouter", + "deployTxnHash": "0xb240da854714a7a4afb710dffc16d58cb1df1c6348040b1df9b1706b9f55ebcc", + "contractName": "OracleRouter", + "sourceName": "OracleRouter.sol", + "gasUsed": 398286, + "gasCost": "100000000" + }, + "Proxy": { + "address": "0xCD4cbBe3a36D145072cDDB89B0AE966761E416F9", + "abi": [ + "error ImplementationIsSterile(address implementation)", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Upgraded(address indexed self, address implementation)", + "function acceptOwnership()", + "function getImplementation() view returns (address)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function renounceNomination()", + "function simulateUpgradeTo(address newImplementation)", + "function upgradeTo(address newImplementation)", + "error DeviationToleranceExceeded(int256 deviation)", + "error InvalidInputPrice()", + "error InvalidNodeDefinition(tuple(uint8 nodeType, bytes parameters, bytes32[] parents) nodeType)", + "error InvalidParameter(string parameter, string reason)", + "error InvalidPrice(int256 price)", + "error NodeNotRegistered(bytes32 nodeId)", + "error OracleDataRequired(address oracleContract, bytes oracleQuery)", + "error OverflowInt256ToUint256()", + "error OverflowInt56ToInt24()", + "error OverflowUint256ToInt256()", + "error OverflowUint256ToUint160()", + "error OverflowUint56ToInt56()", + "error StalenessToleranceExceeded()", + "error UnprocessableNode(bytes32 nodeId)", + "error UnsupportedOperation(uint8 operation)", + "event NodeRegistered(bytes32 nodeId, uint8 nodeType, bytes parameters, bytes32[] parents)", + "function getNode(bytes32 nodeId) pure returns (tuple(uint8 nodeType, bytes parameters, bytes32[] parents) node)", + "function getNodeId(uint8 nodeType, bytes parameters, bytes32[] parents) pure returns (bytes32 nodeId)", + "function process(bytes32 nodeId) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function processWithRuntime(bytes32 nodeId, bytes32[] runtimeKeys, bytes32[] runtimeValues) view returns (tuple(int256 price, uint256 timestamp, uint256 __slotAvailableForFutureUse1, uint256 __slotAvailableForFutureUse2) node)", + "function registerNode(uint8 nodeType, bytes parameters, bytes32[] parents) returns (bytes32 nodeId)" + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.upgrade_proxy", + "gasUsed": 0, + "gasCost": "0", + "highlight": true + } + }, + "imports": { + "trusted_multicall_forwarder": { + "url": "ipfs://QmWaDqF2WP6LB3xACuWkWx7QCy7wTo66jNpmLCXc2xhRhE", + "tags": [ + "latest" + ], + "preset": "with-oracle-manager", + "contracts": { + "TrustedMulticallForwarder": { + "address": "0xE2C5658cC5C448B48141168f3e475dF8f65A1e3e", + "abi": [ + "constructor()", + "error AddressInsufficientBalance(address account)", + "error ERC2771ForwarderExpiredRequest(uint48 deadline)", + "error ERC2771ForwarderInvalidSigner(address signer, address from)", + "error ERC2771ForwarderMismatchedValue(uint256 requestedValue, uint256 msgValue)", + "error ERC2771UntrustfulTarget(address target, address forwarder)", + "error FailedInnerCall()", + "error InvalidAccountNonce(address account, uint256 currentNonce)", + "error InvalidShortString()", + "error StringTooLong(string str)", + "event EIP712DomainChanged()", + "event ExecutedForwardRequest(address indexed signer, uint256 nonce, bool success)", + "function aggregate(tuple(address target, bytes callData)[] calls) returns (uint256 blockNumber, bytes[] returnData)", + "function aggregate3(tuple(address target, bool requireSuccess, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function aggregate3Value(tuple(address target, bool requireSuccess, uint256 value, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function blockAndAggregate(tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)", + "function eip712Domain() view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)", + "function execute(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature) request) payable", + "function executeBatch(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature)[] requests) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function executeBatch(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature)[] requests, address refundReceiver) payable", + "function getBasefee() view returns (uint256 basefee)", + "function getBlockHash(uint256 blockNumber) view returns (bytes32 blockHash)", + "function getBlockNumber() view returns (uint256 blockNumber)", + "function getChainId() view returns (uint256 chainid)", + "function getCurrentBlockCoinbase() view returns (address coinbase)", + "function getCurrentBlockGasLimit() view returns (uint256 gaslimit)", + "function getCurrentBlockTimestamp() view returns (uint256 timestamp)", + "function getEthBalance(address addr) view returns (uint256 balance)", + "function getLastBlockHash() view returns (bytes32 blockHash)", + "function getPrevRandao() view returns (uint256 prevrandao)", + "function nonces(address owner) view returns (uint256)", + "function tryAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) returns (tuple(bool success, bytes returnData)[] returnData)", + "function tryBlockAndAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)", + "function verify(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature) request) view returns (bool)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xb6ade079172e4551c445793ac1dc02f2040633605f20c473af4b0d17985bd9ef", + "sourceName": "src/TrustedMulticallForwarder.sol", + "contractName": "TrustedMulticallForwarder", + "deployedOn": "contract.TrustedMulticallForwarder", + "gasUsed": 3201761, + "gasCost": "100000000" + } + } + } + }, + "txns": { + "upgrade_proxy": { + "hash": "0xd5e4065dece28760596a1f1eaeb65561276a6ca279f0b56b344b7089dfcdd8c7", + "events": { + "Upgraded": [ + { + "name": "Upgraded", + "args": [ + "0xCD4cbBe3a36D145072cDDB89B0AE966761E416F9", + "0x94d473d05A3882929b2C2af1772870a9Ad602B77" + ] + } + ] + }, + "deployedOn": "invoke.upgrade_proxy", + "gasUsed": 86194, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "trusted_multicall_forwarder": { + "url": "ipfs://QmdAmPr6eB7ncScRuzPQB31gpZVq5ESvq5HhePGzaomiu4", + "tags": [ + "latest" + ], + "preset": "with-synthetix", + "contracts": { + "TrustedMulticallForwarder": { + "address": "0xE2C5658cC5C448B48141168f3e475dF8f65A1e3e", + "abi": [ + "constructor()", + "error AddressInsufficientBalance(address account)", + "error ERC2771ForwarderExpiredRequest(uint48 deadline)", + "error ERC2771ForwarderInvalidSigner(address signer, address from)", + "error ERC2771ForwarderMismatchedValue(uint256 requestedValue, uint256 msgValue)", + "error ERC2771UntrustfulTarget(address target, address forwarder)", + "error FailedInnerCall()", + "error InvalidAccountNonce(address account, uint256 currentNonce)", + "error InvalidShortString()", + "error StringTooLong(string str)", + "event EIP712DomainChanged()", + "event ExecutedForwardRequest(address indexed signer, uint256 nonce, bool success)", + "function aggregate(tuple(address target, bytes callData)[] calls) returns (uint256 blockNumber, bytes[] returnData)", + "function aggregate3(tuple(address target, bool requireSuccess, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function aggregate3Value(tuple(address target, bool requireSuccess, uint256 value, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function blockAndAggregate(tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)", + "function eip712Domain() view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)", + "function execute(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature) request) payable", + "function executeBatch(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature)[] requests) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function executeBatch(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature)[] requests, address refundReceiver) payable", + "function getBasefee() view returns (uint256 basefee)", + "function getBlockHash(uint256 blockNumber) view returns (bytes32 blockHash)", + "function getBlockNumber() view returns (uint256 blockNumber)", + "function getChainId() view returns (uint256 chainid)", + "function getCurrentBlockCoinbase() view returns (address coinbase)", + "function getCurrentBlockGasLimit() view returns (uint256 gaslimit)", + "function getCurrentBlockTimestamp() view returns (uint256 timestamp)", + "function getEthBalance(address addr) view returns (uint256 balance)", + "function getLastBlockHash() view returns (bytes32 blockHash)", + "function getPrevRandao() view returns (uint256 prevrandao)", + "function nonces(address owner) view returns (uint256)", + "function tryAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) returns (tuple(bool success, bytes returnData)[] returnData)", + "function tryBlockAndAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)", + "function verify(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature) request) view returns (bool)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "", + "sourceName": "src/TrustedMulticallForwarder.sol", + "contractName": "TrustedMulticallForwarder", + "deployedOn": "contract.TrustedMulticallForwarder", + "gasUsed": 0, + "gasCost": "0" + } + } + } + }, + "txns": { + "register_const_one_oracle": { + "hash": "0x5b09ed95f7d0aebe10265e51787826838bcc32bbb2bf8ee86816913e3452c854", + "events": { + "NodeRegistered": [ + { + "name": "NodeRegistered", + "args": [ + "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733", + 8, + "0x0000000000000000000000000000000000000000000000000de0b6b3a7640000", + [] + ] + } + ] + }, + "deployedOn": "invoke.register_const_one_oracle", + "gasUsed": 162412, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "upgrade_core_proxy": { + "hash": "0x3c1f1414965eaf1725b4873bf0b593592fd456b53460410aec4096e3eba9425e", + "events": { + "Upgraded": [ + { + "name": "Upgraded", + "args": [ + "0x4Ab09F627fa9706f33178129005300Fd4c00EDF1", + "0x71CB5f83891dFd0F829e862f9D9acF5c1a0Af01d" + ] + } + ] + }, + "deployedOn": "invoke.upgrade_core_proxy", + "gasUsed": 81744, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_burnUsd": { + "hash": "0xfca24b2f9a8ebd64d9d3fcb7375dc45b17b25ce76e5b7103507b773ca52a1db3", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6275726e55736400000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_burnUsd", + "gasUsed": 98847, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_claimRewards": { + "hash": "0xc58c52503225ea71509683326d26a08f7bd6d83d4a25e58ba965fc294f12df22", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x636c61696d526577617264730000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_claimRewards", + "gasUsed": 98907, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_createAccount": { + "hash": "0x159377cf94f0bc0b9dc734747383a61b6a92ff73184ce94a89dc9109fbae8555", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6372656174654163636f756e7400000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_createAccount", + "gasUsed": 98919, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_delegateCollateral": { + "hash": "0x580015fd004c129c74430b5edb969cf5fdb3668b6f41e174c3c38d4779c2d2b3", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x64656c6567617465436f6c6c61746572616c0000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_delegateCollateral", + "gasUsed": 98979, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_deposit": { + "hash": "0x6a0fd0140ba719a11ba4ad7522a46a8edaf8047d76e83cc980ca7d2d173dc38d", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6465706f73697400000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_deposit", + "gasUsed": 98847, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_depositMarketCollateral": { + "hash": "0xdc875f871a874a6ee70bdd0bf33ea233794da2ba00ebe2f845624f84cfe8d397", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6465706f7369744d61726b6574436f6c6c61746572616c000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_depositMarketCollateral", + "gasUsed": 99039, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_depositMarketUsd": { + "hash": "0xc51d389e1a32a110f0dea025b80b888c43bd3c12a1b867cef0a1bab3d911c87f", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6465706f7369744d61726b657455736400000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_depositMarketUsd", + "gasUsed": 98955, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_liquidate": { + "hash": "0xefb831711ead7c9d27362b5a3d510c1b29bd463ebf4ce12138544eaaf9fbef49", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6c69717569646174650000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_liquidate", + "gasUsed": 98871, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_liquidateVault": { + "hash": "0x89a2640395c0ecd31ed8264ba99c8ff54e8fea49762f80efd8be1ac897a52cc7", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6c69717569646174655661756c74000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_liquidateVault", + "gasUsed": 98931, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_mintUsd": { + "hash": "0xcfcbe1854de5c4bed259a68775a71e16862226cec1041541e0a1a020b3565748", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6d696e7455736400000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_mintUsd", + "gasUsed": 98847, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_withdraw": { + "hash": "0x32d121c48f12435683983e829a634b39fa7b590d9aa1902e8dd81913a2465fa4", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x7769746864726177000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_withdraw", + "gasUsed": 98859, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_withdrawMarketCollateral": { + "hash": "0x6301a8b4ce31d4ce615a678a35719cf87c8a5955346391e52fa7ba91ea05ce54", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x77697468647261774d61726b6574436f6c6c61746572616c0000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_withdrawMarketCollateral", + "gasUsed": 99051, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "enable_feature_withdrawMarketUsd": { + "hash": "0x7ecead25a1e25ec6bb20263e4e0482c79d3a352373ad33a1180ea9b0ac616f10", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x77697468647261774d61726b6574557364000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_withdrawMarketUsd", + "gasUsed": 98967, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "init_account": { + "hash": "0x1e1e7f4ffbb54ed5608bf360e02b5958f3c324d3fffa87011c13f3876ca6c69e", + "events": { + "AssociatedSystemSet": [ + { + "name": "AssociatedSystemSet", + "args": [ + "0x6572633732310000000000000000000000000000000000000000000000000000", + "0x6163636f756e744e667400000000000000000000000000000000000000000000", + "0x6e29bE5d3772f9eEeE9a5FEa5DEDDA7F81292b5a", + "0x0a71D7cA0672329EbB72dcF3d58EB4Dd7984ec08" + ] + } + ] + }, + "deployedOn": "invoke.init_account", + "gasUsed": 428964, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "init_usd": { + "hash": "0x069a2a80ede5840e6f68c133081f3dff364a1e30cde33aff893fba3bcb6b70f0", + "events": { + "AssociatedSystemSet": [ + { + "name": "AssociatedSystemSet", + "args": [ + "0x6572633230000000000000000000000000000000000000000000000000000000", + "0x555344546f6b656e000000000000000000000000000000000000000000000000", + "0x574036F5926AA5dD34d16c245e5992f4F2299BB2", + "0xFb012bF551f25164483D01B91823BCe5c3983FF2" + ] + } + ] + }, + "deployedOn": "invoke.init_usd", + "gasUsed": 395851, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "set_oracle_manager": { + "hash": "0x092f19543212dddc4b70cda5571c66d3287d8bad8ac8f61c2d68ed79a82ca1f1", + "events": {}, + "deployedOn": "invoke.set_oracle_manager", + "gasUsed": 89071, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "configure_usd_collateral": { + "hash": "0xcf220ce182ef8ce86c2a0910f306114a1c2acfa92b2052e6039b8179df26719f", + "events": { + "CollateralConfigured": [ + { + "name": "CollateralConfigured", + "args": [ + "0x574036F5926AA5dD34d16c245e5992f4F2299BB2", + { + "depositingEnabled": true, + "issuanceRatioD18": "10000000000000000000", + "liquidationRatioD18": "10000000000000000000", + "liquidationRewardD18": "0", + "oracleNodeId": "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733", + "tokenAddress": "0x574036F5926AA5dD34d16c245e5992f4F2299BB2", + "minDelegationD18": "115792089237316195423570985008687907853269984665640564039457584007913129639935" + } + ] + } + ] + }, + "deployedOn": "invoke.configure_usd_collateral", + "gasUsed": 309834, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": { + "const_one_oracle_id": "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733" + } + } + }, + "txns": { + "upgradeSpotMarketProxy": { + "hash": "0xaa28457247f564c7609ca57abebd8923755e7e4bf3b6e970bc4e97fbca7b0a71", + "events": { + "Upgraded": [ + { + "name": "Upgraded", + "args": [ + "0x4BeadB0CaC85b4E3F2F3E71bDc0624FA60260a74", + "0x6E6B88C6c8c9483D9721d62239070C4a20aEE74f" + ] + } + ] + }, + "deployedOn": "invoke.upgradeSpotMarketProxy", + "gasUsed": 86226, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "addCreateSynthToFeatureFlag": { + "hash": "0x8f078d0fd942395ad76671e3d49717456202a6465b8bc83cc1eb41585789f01c", + "events": { + "FeatureFlagAllowlistAdded": [ + { + "name": "FeatureFlagAllowlistAdded", + "args": [ + "0x63726561746553796e7468000000000000000000000000000000000000000000", + "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + ] + } + ] + }, + "deployedOn": "invoke.addCreateSynthToFeatureFlag", + "gasUsed": 143639, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "addSpotMarketToFeatureFlag": { + "hash": "0x2167b6c0b4732d69eec4a3b008f5638d52508cf7ccb16dea2bffc9b8f42fdde1", + "events": { + "FeatureFlagAllowlistAdded": [ + { + "name": "FeatureFlagAllowlistAdded", + "args": [ + "0x72656769737465724d61726b6574000000000000000000000000000000000000", + "0x4BeadB0CaC85b4E3F2F3E71bDc0624FA60260a74" + ] + } + ] + }, + "deployedOn": "invoke.addSpotMarketToFeatureFlag", + "gasUsed": 161941, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "setSynthImplementation": { + "hash": "0x7303a783e6701c59c57e543e82c8591980d9c2fa9656b1cef3e281b574812476", + "events": { + "SynthImplementationSet": [ + { + "name": "SynthImplementationSet", + "args": [ + "0xDd43b9413249835104e5b1FF86F16DDc5E073815" + ] + } + ] + }, + "deployedOn": "invoke.setSynthImplementation", + "gasUsed": 90459, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + }, + "setSynthetixSystem": { + "hash": "0x254d28f61e632ddcbfbca4cdc20a15f6a6b1b00771c3ec85af55b56c4fe17232", + "events": { + "SynthetixSystemSet": [ + { + "name": "SynthetixSystemSet", + "args": [ + "0x4Ab09F627fa9706f33178129005300Fd4c00EDF1", + "0x574036F5926AA5dD34d16c245e5992f4F2299BB2", + "0xCD4cbBe3a36D145072cDDB89B0AE966761E416F9" + ] + } + ] + }, + "deployedOn": "invoke.setSynthetixSystem", + "gasUsed": 173553, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + } + } + }, + "hash": "2a777b50d06569c1fcd0b01da7e5cc8b", + "version": 6 + }, + "invoke.createScPool": { + "artifacts": { + "contracts": {}, + "txns": { + "createScPool": { + "hash": "0x153e4e0b59a7223f23b317fd98d6a14151b986fd9d6b492bb6dcc9ee12d1cb7b", + "events": { + "PoolCreated": [ + { + "name": "PoolCreated", + "args": [ + "1", + "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E", + "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + ] + } + ] + }, + "deployedOn": "invoke.createScPool", + "gasUsed": 124460, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "5ca114fbfe18323692b7b3ec7a98c8e8", + "version": 6 + }, + "invoke.setPreferredPool": { + "artifacts": { + "contracts": {}, + "txns": { + "setPreferredPool": { + "hash": "0x82906c6e95833a8c5d49c2a13a528e63bbb150391b7b2dcd861a6682137a8473", + "events": { + "PreferredPoolSet": [ + { + "name": "PreferredPoolSet", + "args": [ + "1" + ] + } + ] + }, + "deployedOn": "invoke.setPreferredPool", + "gasUsed": 92613, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "2cf77a494971dfc4ad28710fd273e366", + "version": 6 + }, + "invoke.setScPoolName": { + "artifacts": { + "contracts": {}, + "txns": { + "setScPoolName": { + "hash": "0x0f055450fdf1feffc3a3eb40a487a4146307a67dbee3c8d40edbd56b280cd693", + "events": { + "PoolNameUpdated": [ + { + "name": "PoolNameUpdated", + "args": [ + "1", + "Spartan Council Pool", + "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + ] + } + ] + }, + "deployedOn": "invoke.setScPoolName", + "gasUsed": 117743, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "ac3d835b5323709a24dcefbe8562aad3", + "version": 6 + }, + "invoke.registerPythArbOracleNode": { + "artifacts": { + "contracts": {}, + "txns": { + "registerPythArbOracleNode": { + "hash": "0x9e88ea1ccce89af7d8e8bc5fcbd61178fddb0360c2fb706dd430da98001e1ea3", + "events": { + "NodeRegistered": [ + { + "name": "NodeRegistered", + "args": [ + "0x1302ffecf81a1969dcc922a2da7aec11ef8df28a5f1be0df3465574297b1c8a8", + 5, + "0x000000000000000000000000ff1a0f4744e8582df1ae09d5611b887b6a12925c3fa4252848f9f0a1480be62745a4629d9eb1322aebab8a791e344b3b9c1adcf50000000000000000000000000000000000000000000000000000000000000000", + [] + ] + } + ] + }, + "deployedOn": "invoke.registerPythArbOracleNode", + "gasUsed": 243059, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": { + "arb_pyth_oracle_id": "0x1302ffecf81a1969dcc922a2da7aec11ef8df28a5f1be0df3465574297b1c8a8" + } + }, + "hash": "f81a61946b22d3aec8d00c91d170ab21", + "version": 6 + }, + "invoke.registerPythBtcOracleNode": { + "artifacts": { + "contracts": {}, + "txns": { + "registerPythBtcOracleNode": { + "hash": "0x04837d146efdcf84028aa5f41a6bf4f381e87fd3da25647bf20db3ff0386837a", + "events": { + "NodeRegistered": [ + { + "name": "NodeRegistered", + "args": [ + "0xe95d49f15d92133256ba6805b8090b783fbcaa02a1c0fa55b6f89bd3975c5987", + 5, + "0x000000000000000000000000ff1a0f4744e8582df1ae09d5611b887b6a12925ce62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b430000000000000000000000000000000000000000000000000000000000000000", + [] + ] + } + ] + }, + "deployedOn": "invoke.registerPythBtcOracleNode", + "gasUsed": 245058, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": { + "btc_pyth_oracle_id": "0xe95d49f15d92133256ba6805b8090b783fbcaa02a1c0fa55b6f89bd3975c5987" + } + }, + "hash": "9a8b7b627825263ba74e66f7b1773ddb", + "version": 6 + }, + "invoke.registerPythEthOracleNode": { + "artifacts": { + "contracts": {}, + "txns": { + "registerPythEthOracleNode": { + "hash": "0xd6ed5b2e55406b30282b06da689acd53db767a5f2026bf84c8643bfaa89e83c0", + "events": { + "NodeRegistered": [ + { + "name": "NodeRegistered", + "args": [ + "0x411a4d9d358436f79fd12e9aefdb06c301d1cb342b49553c9a076135c2ea6ef1", + 5, + "0x000000000000000000000000ff1a0f4744e8582df1ae09d5611b887b6a12925cff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace0000000000000000000000000000000000000000000000000000000000000000", + [] + ] + } + ] + }, + "deployedOn": "invoke.registerPythEthOracleNode", + "gasUsed": 241393, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": { + "eth_pyth_oracle_id": "0x411a4d9d358436f79fd12e9aefdb06c301d1cb342b49553c9a076135c2ea6ef1" + } + }, + "hash": "6b914c8b9cd2b67a91b763339bbc6573", + "version": 6 + }, + "invoke.registerArbOracleNode": { + "artifacts": { + "contracts": {}, + "txns": { + "registerArbOracleNode": { + "hash": "0x6274c2534c4670e4f12e9a29fabbcbb69ee7e5e4738206e4f51d64ec90101b20", + "events": { + "NodeRegistered": [ + { + "name": "NodeRegistered", + "args": [ + "0xe2f4515e5eb6c16b3b394e6649460beab2cb0a9ed05347dace0bd7da3824ce83", + 7, + "0x0000000000000000000000000000000000000000000000000000000000015180", + [ + "0x1302ffecf81a1969dcc922a2da7aec11ef8df28a5f1be0df3465574297b1c8a8", + "0xd1496f51d75641f1e06e636277f6c63c69c4db3ec0c0a70e1f6390980ec0e2ec" + ] + ] + } + ] + }, + "deployedOn": "invoke.registerArbOracleNode", + "gasUsed": 323581, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": { + "arb_oracle_id": "0xe2f4515e5eb6c16b3b394e6649460beab2cb0a9ed05347dace0bd7da3824ce83" + } + }, + "hash": "e827054b5d0088f03367a56be9371161", + "version": 6 + }, + "invoke.registerBtcOracleNode": { + "artifacts": { + "contracts": {}, + "txns": { + "registerBtcOracleNode": { + "hash": "0x595dac91ab335328293ae290f6bb0f57d8c0cdb5984bfdc071b26ee5507c702c", + "events": { + "NodeRegistered": [ + { + "name": "NodeRegistered", + "args": [ + "0x2ec70e5b3b2cb5f6b04d4c035c62225391720ae3c2fd6e083f6126b99ddec91a", + 7, + "0x0000000000000000000000000000000000000000000000000000000000015180", + [ + "0xe95d49f15d92133256ba6805b8090b783fbcaa02a1c0fa55b6f89bd3975c5987", + "0x9a8a51797f90064392f7aa51aa237fb946071474b43c8f25120c7ee796a9f939" + ] + ] + } + ] + }, + "deployedOn": "invoke.registerBtcOracleNode", + "gasUsed": 323247, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": { + "btc_oracle_id": "0x2ec70e5b3b2cb5f6b04d4c035c62225391720ae3c2fd6e083f6126b99ddec91a" + } + }, + "hash": "30321e39aca0a6bf30cfd18b1c335209", + "version": 6 + }, + "invoke.registerEthOracleNode": { + "artifacts": { + "contracts": {}, + "txns": { + "registerEthOracleNode": { + "hash": "0x41ffba6615856b4c83358a3010585e0992736e8471fa735fc48519d58c646483", + "events": { + "NodeRegistered": [ + { + "name": "NodeRegistered", + "args": [ + "0x8d846863d33e135e0dccd38de7ddf2f78e36f629b527111ceb82c3b4b625a47c", + 7, + "0x0000000000000000000000000000000000000000000000000000000000015180", + [ + "0x411a4d9d358436f79fd12e9aefdb06c301d1cb342b49553c9a076135c2ea6ef1", + "0x786b13c83797311e2f24a43c789a6b312686195bd35c5ee5930d2a6e66f0e3ac" + ] + ] + } + ] + }, + "deployedOn": "invoke.registerEthOracleNode", + "gasUsed": 322581, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": { + "eth_oracle_id": "0x8d846863d33e135e0dccd38de7ddf2f78e36f629b527111ceb82c3b4b625a47c" + } + }, + "hash": "53a4449edacc5bf8a6a7dd8384d84242", + "version": 6 + }, + "invoke.addPerpsBtcSettlementStrategy": { + "artifacts": { + "contracts": {}, + "txns": { + "addPerpsBtcSettlementStrategy": { + "hash": "0xeff304a3f428a9b5b408e1146f6899154076e5fde1a972186af616b9317c455f", + "events": { + "SettlementStrategyAdded": [ + { + "name": "SettlementStrategyAdded", + "args": [ + "200", + { + "strategyType": 0, + "settlementDelay": "1", + "settlementWindowDuration": "1", + "priceVerificationContract": "0x0000000000000000000000000000000000000000", + "feedId": "0x0000000000000000000000000000000000000000000000000000000000000000", + "settlementReward": "0", + "disabled": false, + "commitmentPriceDelay": "0" + }, + "0" + ] + } + ] + }, + "deployedOn": "invoke.addPerpsBtcSettlementStrategy", + "gasUsed": 191828, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": { + "btc_pyth_settlement_strategy": "0" + } + }, + "hash": "ed5fa552685de51957b924e5be59c254", + "version": 6 + }, + "invoke.addPerpsEthSettlementStrategy": { + "artifacts": { + "contracts": {}, + "txns": { + "addPerpsEthSettlementStrategy": { + "hash": "0x9babb04e5af75c95fb4e7ba5ced93603d7ad6593dff523109fa66fd85eb722e1", + "events": { + "SettlementStrategyAdded": [ + { + "name": "SettlementStrategyAdded", + "args": [ + "100", + { + "strategyType": 0, + "settlementDelay": "1", + "settlementWindowDuration": "1", + "priceVerificationContract": "0x0000000000000000000000000000000000000000", + "feedId": "0x0000000000000000000000000000000000000000000000000000000000000000", + "settlementReward": "0", + "disabled": false, + "commitmentPriceDelay": "0" + }, + "0" + ] + } + ] + }, + "deployedOn": "invoke.addPerpsEthSettlementStrategy", + "gasUsed": 192828, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": { + "eth_pyth_settlement_strategy": "0" + } + }, + "hash": "c9132e79ca126a5765c4bd2ab434ad96", + "version": 6 + }, + "invoke.allowAllPerpsSystem": { + "artifacts": { + "contracts": {}, + "txns": { + "allowAllPerpsSystem": { + "hash": "0xa4b8c7c480011bff82edfad005bd149de42b96452663103761ced0ace75d2148", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x706572707353797374656d000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.allowAllPerpsSystem", + "gasUsed": 117471, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "147b10e85a8c01dfb225e6e6b8089e65", + "version": 6 + }, + "invoke.configureArbCollateral": { + "artifacts": { + "contracts": {}, + "txns": { + "configureArbCollateral": { + "hash": "0x43167487e8710a8dd474ea08d0337bd6827d4ce1be4c2dc135ca784140c7745c", + "events": { + "CollateralConfigured": [ + { + "name": "CollateralConfigured", + "args": [ + "0x912CE59144191C1204E64559FE8253a0e49E6548", + { + "depositingEnabled": true, + "issuanceRatioD18": "3000000000000000000", + "liquidationRatioD18": "1500000000000000000", + "liquidationRewardD18": "10000000000000000", + "oracleNodeId": "0xe2f4515e5eb6c16b3b394e6649460beab2cb0a9ed05347dace0bd7da3824ce83", + "tokenAddress": "0x912CE59144191C1204E64559FE8253a0e49E6548", + "minDelegationD18": "10000000000000000" + } + ] + } + ] + }, + "deployedOn": "invoke.configureArbCollateral", + "gasUsed": 345779, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "c4e35aa118c992a5a53d8f615c9bb514", + "version": 6 + }, + "invoke.configureWethCollateral": { + "artifacts": { + "contracts": {}, + "txns": { + "configureWethCollateral": { + "hash": "0xc2485591597014e9543ff8fc73272e3478ef1d3031f308823b576533c364704b", + "events": { + "CollateralConfigured": [ + { + "name": "CollateralConfigured", + "args": [ + "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1", + { + "depositingEnabled": true, + "issuanceRatioD18": "3000000000000000000", + "liquidationRatioD18": "1500000000000000000", + "liquidationRewardD18": "10000000000000000", + "oracleNodeId": "0x8d846863d33e135e0dccd38de7ddf2f78e36f629b527111ceb82c3b4b625a47c", + "tokenAddress": "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1", + "minDelegationD18": "10000000000000000" + } + ] + } + ] + }, + "deployedOn": "invoke.configureWethCollateral", + "gasUsed": 345779, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "5165ac8f645bad89cda9afdfe36e0248", + "version": 6 + }, + "invoke.createBtcPerpsMarket": { + "artifacts": { + "contracts": {}, + "txns": { + "createBtcPerpsMarket": { + "hash": "0xa6e5864dca7b405726f2f8cf0d5b897af56f104c416c6afbcff9aec9177fc394", + "events": { + "MarketCreated": [ + { + "name": "MarketCreated", + "args": [ + "200", + "Bitcoin", + "BTC" + ] + } + ] + }, + "deployedOn": "invoke.createBtcPerpsMarket", + "gasUsed": 263589, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "4f4641989d8a4f4b6417a7ad40fb2f2e", + "version": 6 + }, + "invoke.createEthPerpsMarket": { + "artifacts": { + "contracts": {}, + "txns": { + "createEthPerpsMarket": { + "hash": "0x49d8e9e3d670941ad1b68724ed094c6faeaf854435f3e90d6ca8560f1e2324ec", + "events": { + "MarketCreated": [ + { + "name": "MarketCreated", + "args": [ + "100", + "Ethereum", + "ETH" + ] + } + ] + }, + "deployedOn": "invoke.createEthPerpsMarket", + "gasUsed": 247501, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "496e6b7d95ba791991b9ef5d65fbbcb5", + "version": 6 + }, + "invoke.registerPerps_KeeperCostUsdOracleNode": { + "artifacts": { + "contracts": {}, + "txns": { + "registerPerps_KeeperCostUsdOracleNode": { + "hash": "0x8ce4c78f1a51dfd4d1bb54cb1026509ec7ad87f5bb92666dbc91b5207e066bde", + "events": { + "NodeRegistered": [ + { + "name": "NodeRegistered", + "args": [ + "0x0e302ab100a11214c54ae958027f5460ac0f4d894107ba6118d68e3f6f25a6ea", + 1, + "0x0000000000000000000000000000000000000000000000000000000000000007", + [ + "0xff8ab8d7fa228d897e75fded658da97e50151303993c7fa160ac9fa2666b585d", + "0x8d846863d33e135e0dccd38de7ddf2f78e36f629b527111ceb82c3b4b625a47c" + ] + ] + } + ] + }, + "deployedOn": "invoke.registerPerps_KeeperCostUsdOracleNode", + "gasUsed": 371364, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": { + "perps_keeper_cost_usd_oracle_id": "0x0e302ab100a11214c54ae958027f5460ac0f4d894107ba6118d68e3f6f25a6ea" + } + }, + "hash": "47d4198baeb394e2191dbb2f6f70b15b", + "version": 6 + }, + "invoke.setInfinexAsReferrerOnPerpsMarket": { + "artifacts": { + "contracts": {}, + "txns": { + "setInfinexAsReferrerOnPerpsMarket": { + "hash": "0x454a995a3bf4bef50b239f8bd39fb1b864a5e5d8ac091ac99500f976157a2861", + "events": { + "ReferrerShareUpdated": [ + { + "name": "ReferrerShareUpdated", + "args": [ + "0xa7DB9b0a95D253022068d43BD1d64756f92eF83C", + "200000000000000000" + ] + } + ] + }, + "deployedOn": "invoke.setInfinexAsReferrerOnPerpsMarket", + "gasUsed": 116995, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "904a19aad4943fc35537a04e6a983bf9", + "version": 6 + }, + "invoke.setKwentaAsReferrerOnPerpsMarket": { + "artifacts": { + "contracts": {}, + "txns": { + "setKwentaAsReferrerOnPerpsMarket": { + "hash": "0xe121e35f9564b1e62d3c1377f817db758e5bf8533e933df82f960cf57706ecb1", + "events": { + "ReferrerShareUpdated": [ + { + "name": "ReferrerShareUpdated", + "args": [ + "0xFffe627790EF1B28E3b48000b8Ba964b55766fF8", + "200000000000000000" + ] + } + ] + }, + "deployedOn": "invoke.setKwentaAsReferrerOnPerpsMarket", + "gasUsed": 116983, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "b6a1a604e848231d383adf0dc7058fc4", + "version": 6 + }, + "invoke.setPerAccountCapsPerps": { + "artifacts": { + "contracts": {}, + "txns": { + "setPerAccountCapsPerps": { + "hash": "0xf4bc578f14ded20f3056fa967903c7c324751254aa9c8477f85b5efb10bfac00", + "events": { + "PerAccountCapsSet": [ + { + "name": "PerAccountCapsSet", + "args": [ + "2", + "1" + ] + } + ] + }, + "deployedOn": "invoke.setPerAccountCapsPerps", + "gasUsed": 116810, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "4afb53c55e3d1394cb891ca4035c1143", + "version": 6 + }, + "invoke.setPerpsBtcFundingParameters": { + "artifacts": { + "contracts": {}, + "txns": { + "setPerpsBtcFundingParameters": { + "hash": "0xc2e56a094dbe63a5968bbba5ad1e31988e9dc507856b7e319c76f7f67e8cc222", + "events": { + "FundingParametersSet": [ + { + "name": "FundingParametersSet", + "args": [ + "200", + "100000000000000000000000", + "9000000000000000000" + ] + } + ] + }, + "deployedOn": "invoke.setPerpsBtcFundingParameters", + "gasUsed": 150194, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "e2a8a2a331bd6d5ec96be3c212f509c8", + "version": 6 + }, + "invoke.setPerpsBtcLiquidationParameters": { + "artifacts": { + "contracts": {}, + "txns": { + "setPerpsBtcLiquidationParameters": { + "hash": "0x10b4e86aba7843f7a76ea651f1bbf86d3129976b0a85098ba157f99da6103c84", + "events": { + "LiquidationParametersSet": [ + { + "name": "LiquidationParametersSet", + "args": [ + "200", + "13350000000000000000", + "280000000000000000", + "20000000000000000", + "300000000000000", + "50000000000000000000" + ] + } + ] + }, + "deployedOn": "invoke.setPerpsBtcLiquidationParameters", + "gasUsed": 234736, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "72c595555ff4761664e486bc3f651e53", + "version": 6 + }, + "invoke.setPerpsBtcLockedOiRatio": { + "artifacts": { + "contracts": {}, + "txns": { + "setPerpsBtcLockedOiRatio": { + "hash": "0xcb3cfe14635de0e341879789bf5aa4def94f17bf8a6ce14c9e67327d465a9f91", + "events": { + "LockedOiRatioSet": [ + { + "name": "LockedOiRatioSet", + "args": [ + "200", + "500000000000000000" + ] + } + ] + }, + "deployedOn": "invoke.setPerpsBtcLockedOiRatio", + "gasUsed": 116842, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "fd5660d0d3d5640461eeda6c34ae6eb3", + "version": 6 + }, + "invoke.setPerpsBtcMaxLiquidationParameters": { + "artifacts": { + "contracts": {}, + "txns": { + "setPerpsBtcMaxLiquidationParameters": { + "hash": "0x93de2b85a4d6eee917e74b491a69952f4f298a34573fda9310d591b0768b16c5", + "events": { + "MaxLiquidationParametersSet": [ + { + "name": "MaxLiquidationParametersSet", + "args": [ + "200", + "1500000000000000000", + "30", + "500000000000000", + "0x95A61Fa7454CA5f6A3CE01724e306Cd14a22D306" + ] + } + ] + }, + "deployedOn": "invoke.setPerpsBtcMaxLiquidationParameters", + "gasUsed": 212995, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "8ab2ce17aff66cabe19807ccdba18d66", + "version": 6 + }, + "invoke.setPerpsBtcMaxMarketSize": { + "artifacts": { + "contracts": {}, + "txns": { + "setPerpsBtcMaxMarketSize": { + "hash": "0x457695c1f579a66b5542f05dcc24c418772fc1a7f110f79b7fe1c7578211200b", + "events": { + "MaxMarketSizeSet": [ + { + "name": "MaxMarketSizeSet", + "args": [ + "200", + "300000000000000000000" + ] + } + ] + }, + "deployedOn": "invoke.setPerpsBtcMaxMarketSize", + "gasUsed": 116887, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "0138c9a69477f8dba4b084908435f014", + "version": 6 + }, + "invoke.setPerpsBtcOrderFees": { + "artifacts": { + "contracts": {}, + "txns": { + "setPerpsBtcOrderFees": { + "hash": "0x1e984c00d18b5f62967fa381e39bd192f8e7afe409278a1fd142ad8c33f9e8c1", + "events": { + "OrderFeesSet": [ + { + "name": "OrderFeesSet", + "args": [ + "200", + "200000000000000", + "500000000000000" + ] + } + ] + }, + "deployedOn": "invoke.setPerpsBtcOrderFees", + "gasUsed": 150150, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "f27e075cc6adfa87d813a3a0b1f51de3", + "version": 6 + }, + "invoke.setPerpsEthFundingParameters": { + "artifacts": { + "contracts": {}, + "txns": { + "setPerpsEthFundingParameters": { + "hash": "0x0ff7be16ef18d6864543e6519fc3eec8d88f6c5e42c2f6f062dfe4122541e7ff", + "events": { + "FundingParametersSet": [ + { + "name": "FundingParametersSet", + "args": [ + "100", + "10000000000000000000000000", + "9000000000000000000" + ] + } + ] + }, + "deployedOn": "invoke.setPerpsEthFundingParameters", + "gasUsed": 150527, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "b650eb95c859776efe971f987774ffdd", + "version": 6 + }, + "invoke.setPerpsEthLiquidationParameters": { + "artifacts": { + "contracts": {}, + "txns": { + "setPerpsEthLiquidationParameters": { + "hash": "0x308c6c5b4153c46868fd2fca876b6e96869705c546db37d7b6f04a93b668c872", + "events": { + "LiquidationParametersSet": [ + { + "name": "LiquidationParametersSet", + "args": [ + "100", + "8920000000000000000", + "280000000000000000", + "20000000000000000", + "300000000000000", + "50000000000000000000" + ] + } + ] + }, + "deployedOn": "invoke.setPerpsEthLiquidationParameters", + "gasUsed": 234403, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "09602ff156c80c1fadafb72d9283b48f", + "version": 6 + }, + "invoke.setPerpsEthLockedOiRatio": { + "artifacts": { + "contracts": {}, + "txns": { + "setPerpsEthLockedOiRatio": { + "hash": "0x48f6fcfffe0ba2f72ee6f3df1b99da3a8824529556cc8df6f58c5768f68d5bf4", + "events": { + "LockedOiRatioSet": [ + { + "name": "LockedOiRatioSet", + "args": [ + "100", + "500000000000000000" + ] + } + ] + }, + "deployedOn": "invoke.setPerpsEthLockedOiRatio", + "gasUsed": 117175, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "8ddd5a25adf5f0c0649741bb5b44b357", + "version": 6 + }, + "invoke.setPerpsEthMaxLiquidationParameters": { + "artifacts": { + "contracts": {}, + "txns": { + "setPerpsEthMaxLiquidationParameters": { + "hash": "0xeb3a3146c97cd5a97a59b47753b612bd4a7eaaafff652416230e79c59b62945b", + "events": { + "MaxLiquidationParametersSet": [ + { + "name": "MaxLiquidationParametersSet", + "args": [ + "100", + "1500000000000000000", + "30", + "500000000000000", + "0x95A61Fa7454CA5f6A3CE01724e306Cd14a22D306" + ] + } + ] + }, + "deployedOn": "invoke.setPerpsEthMaxLiquidationParameters", + "gasUsed": 210663, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "a01f86d1a6f5e868e0c6ea39dbbe13fb", + "version": 6 + }, + "invoke.setPerpsEthMaxMarketSize": { + "artifacts": { + "contracts": {}, + "txns": { + "setPerpsEthMaxMarketSize": { + "hash": "0xcc7ad3d51f7588f5153013886ecf276159415e3847e98b64cb734b6a4c761632", + "events": { + "MaxMarketSizeSet": [ + { + "name": "MaxMarketSizeSet", + "args": [ + "100", + "5250000000000000000000" + ] + } + ] + }, + "deployedOn": "invoke.setPerpsEthMaxMarketSize", + "gasUsed": 117232, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "f2ec70053264e69cc11b41421bbad1c3", + "version": 6 + }, + "invoke.setPerpsEthOrderFees": { + "artifacts": { + "contracts": {}, + "txns": { + "setPerpsEthOrderFees": { + "hash": "0x2395b2e7658a6d23373f0c0d2e983b40d1057dea53e3c20e6b3abbb689653b6f", + "events": { + "OrderFeesSet": [ + { + "name": "OrderFeesSet", + "args": [ + "100", + "200000000000000", + "500000000000000" + ] + } + ] + }, + "deployedOn": "invoke.setPerpsEthOrderFees", + "gasUsed": 150483, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "5d020ad845c78db3f64bd715803e4989", + "version": 6 + }, + "invoke.setPerpsLiquidationRewardGuards": { + "artifacts": { + "contracts": {}, + "txns": { + "setPerpsLiquidationRewardGuards": { + "hash": "0x916885620f3af779b46ed93e1a3dd3a9cb78e54384c2e0ae5e89ed7621a39688", + "events": { + "KeeperRewardGuardsSet": [ + { + "name": "KeeperRewardGuardsSet", + "args": [ + "5000000000000000000", + "300000000000000000", + "100000000000000000000", + "300000000000000000" + ] + } + ] + }, + "deployedOn": "invoke.setPerpsLiquidationRewardGuards", + "gasUsed": 205776, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "b656aef3afda2e1ab1e8630f4170e038", + "version": 6 + }, + "invoke.setPerpsMarketName": { + "artifacts": { + "contracts": {}, + "txns": { + "setPerpsMarketName": { + "hash": "0x3b3faed88d55613f068e701668c399feda7c1333158fdd4216bf5b53a72994d1", + "events": {}, + "deployedOn": "invoke.setPerpsMarketName", + "gasUsed": 127134, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "142fa5d17983cfaea242f2b61e72c424", + "version": 6 + }, + "invoke.setPerpsMaxCollateralForSnxUsd": { + "artifacts": { + "contracts": {}, + "txns": { + "setPerpsMaxCollateralForSnxUsd": { + "hash": "0xa2767e05c0fd8034a75d7cc1fdea4bcc38607c92f55572644f68d9d7161dee7d", + "events": { + "CollateralConfigurationSet": [ + { + "name": "CollateralConfigurationSet", + "args": [ + "0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ] + } + ] + }, + "deployedOn": "invoke.setPerpsMaxCollateralForSnxUsd", + "gasUsed": 164857, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "bde85861e41c243ce5daad653b9b875c", + "version": 6 + }, + "invoke.setPerpsPriceBtc": { + "artifacts": { + "contracts": {}, + "txns": { + "setPerpsPriceBtc": { + "hash": "0x982e94ac4cbe6222a559c5557f4df59cc7a7c8cd02ba1c4b56921993062d7d45", + "events": { + "MarketPriceDataUpdated": [ + { + "name": "MarketPriceDataUpdated", + "args": [ + "200", + "0x2ec70e5b3b2cb5f6b04d4c035c62225391720ae3c2fd6e083f6126b99ddec91a", + "60" + ] + } + ] + }, + "deployedOn": "invoke.setPerpsPriceBtc", + "gasUsed": 150506, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "2426e9a4fdd0b4d845578b964a4cd82b", + "version": 6 + }, + "invoke.setPerpsPriceEth": { + "artifacts": { + "contracts": {}, + "txns": { + "setPerpsPriceEth": { + "hash": "0xeb37f5ed2a8eca598512536429985062ea7fd0382067be3f70f01409de1473ab", + "events": { + "MarketPriceDataUpdated": [ + { + "name": "MarketPriceDataUpdated", + "args": [ + "100", + "0x8d846863d33e135e0dccd38de7ddf2f78e36f629b527111ceb82c3b4b625a47c", + "60" + ] + } + ] + }, + "deployedOn": "invoke.setPerpsPriceEth", + "gasUsed": 150839, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "c8c0e9e364334bfaa3482a038fa5bc6e", + "version": 6 + }, + "invoke.setPerpsSynthDeductionPriority": { + "artifacts": { + "contracts": {}, + "txns": { + "setPerpsSynthDeductionPriority": { + "hash": "0xe36a7fefa9286d20e9c57cee79ff716ad7789dc051e3ad7a3f31483a50cce797", + "events": { + "SynthDeductionPrioritySet": [ + { + "name": "SynthDeductionPrioritySet", + "args": [ + [ + "0" + ] + ] + } + ] + }, + "deployedOn": "invoke.setPerpsSynthDeductionPriority", + "gasUsed": 131558, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "5554d954cea578b1a4aaba8452a9287d", + "version": 6 + }, + "invoke.setPolynomialAsReferrerOnPerpsMarket": { + "artifacts": { + "contracts": {}, + "txns": { + "setPolynomialAsReferrerOnPerpsMarket": { + "hash": "0x8abf56bb31c9060c0f368384255d94349379c96646e9983f45635215141adbcb", + "events": { + "ReferrerShareUpdated": [ + { + "name": "ReferrerShareUpdated", + "args": [ + "0x159c143eF9Be79d5672726150462C9EfA679b27c", + "200000000000000000" + ] + } + ] + }, + "deployedOn": "invoke.setPolynomialAsReferrerOnPerpsMarket", + "gasUsed": 117328, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "ae0007547909583893497be43495d503", + "version": 6 + }, + "invoke.setScPoolConfig": { + "artifacts": { + "contracts": {}, + "txns": { + "setScPoolConfig": { + "hash": "0x6c666bce042a5189b203a87325276cb980a41fba8ed4ad9d0f4f273acdcd8ea9", + "events": { + "PoolConfigurationSet": [ + { + "name": "PoolConfigurationSet", + "args": [ + "1", + [ + { + "marketId": "1", + "weightD18": "1", + "maxDebtShareValueD18": "1000000000000000000" + } + ], + "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + ] + } + ] + }, + "deployedOn": "invoke.setScPoolConfig", + "gasUsed": 276839, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "93b83a08d805a411bffc4c8adf9af4f3", + "version": 6 + }, + "invoke.set_deniers_perps": { + "artifacts": { + "contracts": {}, + "txns": { + "set_deniers_perps": { + "hash": "0x776db54b8367f3fa651e4a59170839487c7ef6b12163843c8d9678be14dd4b59", + "events": { + "FeatureFlagDeniersReset": [ + { + "name": "FeatureFlagDeniersReset", + "args": [ + "0x706572707353797374656d000000000000000000000000000000000000000000", + [ + "0x28Ed18Bd77A061E0A886a2a8FFb91da95FF03E56", + "0xd9b891AB93C210eafa46c61fAeb53836F99aa35B", + "0x0B67bab43157e53D21965Af0d83f83BeD9553E0a", + "0x8909F73188C4fE68B283fCB1E724b2466e0BdfD0", + "0xe1Efa5C91cA533E4a51884d805879249E3FCB2BC", + "0x6985b94Db148eDd4df6BD1Ba3F4640da79B44947", + "0x599e835cbFC903eF09f3Dd5E08D1cF63c32AF8d8", + "0xa2fa6Ef1Fcf740b632a04B3FC56B5d3118Bbd211", + "0x347c3190bD015FBD0e47fb90AA4917138A8A32FE", + "0x2d8cF727d37e7277D5eeDbAb853a3e8320f767Cd", + "0x1dd532CF7603a60C3ec91360f273DA3Db38545aB", + "0x562948111d50BF039A39Eea48D127f2Ae51ddF02", + "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + ] + ] + } + ] + }, + "deployedOn": "invoke.set_deniers_perps", + "gasUsed": 538845, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "10940f86610ddb0960d6de9980a6907f", + "version": 6 + }, + "invoke.allowAllPerpsSystem_revert": { + "artifacts": { + "contracts": {}, + "txns": { + "allowAllPerpsSystem_revert": { + "hash": "0xc002ee6e77604d968ede88a7cd84887eebf19202ca288d6d0d3966cc8aeec984", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x706572707353797374656d000000000000000000000000000000000000000000", + false + ] + } + ] + }, + "deployedOn": "invoke.allowAllPerpsSystem_revert", + "gasUsed": 95348, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "8467eae84f358c2899842e1609236423", + "version": 6 + }, + "invoke.setPerpsBtcSettlementStrategy": { + "artifacts": { + "contracts": {}, + "txns": { + "setPerpsBtcSettlementStrategy": { + "hash": "0xbc963b53d0b9805d95b77da61906a395f0370fcf73ee2a71d0ed3b84759b65de", + "events": { + "SettlementStrategySet": [ + { + "name": "SettlementStrategySet", + "args": [ + "200", + "0", + { + "strategyType": 0, + "settlementDelay": "2", + "settlementWindowDuration": "60", + "priceVerificationContract": "0x7b118596be900f3c0feB2f23758d9798965B72a3", + "feedId": "0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43", + "settlementReward": "1000000000000000000", + "disabled": false, + "commitmentPriceDelay": "2" + } + ] + } + ] + }, + "deployedOn": "invoke.setPerpsBtcSettlementStrategy", + "gasUsed": 245270, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "fc30f99d7556ca5dd3762ee69fdf4734", + "version": 6 + }, + "invoke.setPerpsEthSettlementStrategy": { + "artifacts": { + "contracts": {}, + "txns": { + "setPerpsEthSettlementStrategy": { + "hash": "0x1af29b14722d9884d3c76bdf4d6bbadc0b834cd84f0c20b161dc978f110dc583", + "events": { + "SettlementStrategySet": [ + { + "name": "SettlementStrategySet", + "args": [ + "100", + "0", + { + "strategyType": 0, + "settlementDelay": "2", + "settlementWindowDuration": "60", + "priceVerificationContract": "0x7b118596be900f3c0feB2f23758d9798965B72a3", + "feedId": "0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace", + "settlementReward": "1000000000000000000", + "disabled": false, + "commitmentPriceDelay": "2" + } + ] + } + ] + }, + "deployedOn": "invoke.setPerpsEthSettlementStrategy", + "gasUsed": 246603, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "f33f41e90288027585a77dd3c797af47", + "version": 6 + }, + "invoke.setPerpsMarketKeeperCostNodeId": { + "artifacts": { + "contracts": {}, + "txns": { + "setPerpsMarketKeeperCostNodeId": { + "hash": "0x11d0361f7d73499d5618a24c47e3b8c879d70dcd5298b3fa4edc8b68690a348b", + "events": { + "KeeperCostNodeIdUpdated": [ + { + "name": "KeeperCostNodeIdUpdated", + "args": [ + "0x0e302ab100a11214c54ae958027f5460ac0f4d894107ba6118d68e3f6f25a6ea" + ] + } + ] + }, + "deployedOn": "invoke.setPerpsMarketKeeperCostNodeId", + "gasUsed": 105871, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "adca8cbb0b84a15cc81dbdb5781b92d6", + "version": 6 + }, + "invoke.enable_feature_burnUsd": { + "artifacts": { + "contracts": {}, + "txns": { + "enable_feature_burnUsd": { + "hash": "0x2063b9bb14657874c7189dda92f71848902315470f3c36b98ccf1b95925bdee6", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6275726e55736400000000000000000000000000000000000000000000000000", + false + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_burnUsd", + "gasUsed": 99535, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "fbf0eb0a3ca844aab4872a6f23109c3e", + "version": 6 + }, + "invoke.enable_feature_claimRewards": { + "artifacts": { + "contracts": {}, + "txns": { + "enable_feature_claimRewards": { + "hash": "0xac7348cc5aaac2ebfa5ff451879393d74d9f3b7b60b8044be73b1dba5c9e9e5d", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x636c61696d526577617264730000000000000000000000000000000000000000", + false + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_claimRewards", + "gasUsed": 99595, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "e3ed6d9753f812bac3979829e85e0b36", + "version": 6 + }, + "invoke.enable_feature_createAccount": { + "artifacts": { + "contracts": {}, + "txns": { + "enable_feature_createAccount": { + "hash": "0x209e6e9b76be6c8a0af25617af056068616f24a81b713cbc469e13a561ed7609", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6372656174654163636f756e7400000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_createAccount", + "gasUsed": 122063, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "4142469ec4536488c14fa36ced13ce81", + "version": 6 + }, + "invoke.enable_feature_delegateCollateral": { + "artifacts": { + "contracts": {}, + "txns": { + "enable_feature_delegateCollateral": { + "hash": "0x39e964ae7fac51e097a06bd0023fe7eece38da653852574efc4e61e33871bb74", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x64656c6567617465436f6c6c61746572616c0000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_delegateCollateral", + "gasUsed": 102223, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "f4164612974f4b95fe0c7c84136b26ab", + "version": 6 + }, + "invoke.enable_feature_deposit": { + "artifacts": { + "contracts": {}, + "txns": { + "enable_feature_deposit": { + "hash": "0x896d4b7bc300871fb92a3c44f78ce0774c261b9178f717f885bef86cd96a6160", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6465706f73697400000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_deposit", + "gasUsed": 102091, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "518a8e978990130784912468fbe6000b", + "version": 6 + }, + "invoke.enable_feature_depositMarketCollateral": { + "artifacts": { + "contracts": {}, + "txns": { + "enable_feature_depositMarketCollateral": { + "hash": "0xf0ecc9b0476854a85a0d60e1ddedcdbf4d879cb0d233773bba9021da64dece46", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6465706f7369744d61726b6574436f6c6c61746572616c000000000000000000", + false + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_depositMarketCollateral", + "gasUsed": 99727, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "a2356e0d811321decd827364b74cdf78", + "version": 6 + }, + "invoke.enable_feature_depositMarketUsd": { + "artifacts": { + "contracts": {}, + "txns": { + "enable_feature_depositMarketUsd": { + "hash": "0x5153968f5b84951a2c36032bbaace4700df326e7b6a85d9dfd669374887cb886", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6465706f7369744d61726b657455736400000000000000000000000000000000", + false + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_depositMarketUsd", + "gasUsed": 99643, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "ad9f96acdb14d3aca50661dc1718e622", + "version": 6 + }, + "invoke.enable_feature_liquidate": { + "artifacts": { + "contracts": {}, + "txns": { + "enable_feature_liquidate": { + "hash": "0x6dbfea87c1b7b4d7d8d5fabc633514cb7f55133684efb7a5874ca5146979a88d", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6c69717569646174650000000000000000000000000000000000000000000000", + false + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_liquidate", + "gasUsed": 99559, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "f1f02a2d3152aa4a212a77c0d23fbdad", + "version": 6 + }, + "invoke.enable_feature_liquidateVault": { + "artifacts": { + "contracts": {}, + "txns": { + "enable_feature_liquidateVault": { + "hash": "0x92933cdca4d5ed6d54d4741ca519b3042090c4f90449fdccdc2fb7703366a349", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6c69717569646174655661756c74000000000000000000000000000000000000", + false + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_liquidateVault", + "gasUsed": 99619, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "db279fa3bceda62f5bf325ab2ca71093", + "version": 6 + }, + "invoke.enable_feature_mintUsd": { + "artifacts": { + "contracts": {}, + "txns": { + "enable_feature_mintUsd": { + "hash": "0x3c45911c1fdbaee144d2568d3cff3817672b85b27658da47b6ab11d6a6106c0c", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6d696e7455736400000000000000000000000000000000000000000000000000", + false + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_mintUsd", + "gasUsed": 99535, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "696103b00b4b7c3a40b1088688cad704", + "version": 6 + }, + "invoke.enable_feature_withdraw": { + "artifacts": { + "contracts": {}, + "txns": { + "enable_feature_withdraw": { + "hash": "0x3754ca7706615830ee2419fc849389944b7e1b7dcbdbcb000fe71f0277eeecd2", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x7769746864726177000000000000000000000000000000000000000000000000", + false + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_withdraw", + "gasUsed": 99547, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "ac8ceae9d34ef5dfb6f674a3ca19868f", + "version": 6 + }, + "invoke.enable_feature_withdrawMarketCollateral": { + "artifacts": { + "contracts": {}, + "txns": { + "enable_feature_withdrawMarketCollateral": { + "hash": "0xb89ae1a725dd7fb03041ca312cf191a0356b5df1cec99af61dfac00d89568f82", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x77697468647261774d61726b6574436f6c6c61746572616c0000000000000000", + false + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_withdrawMarketCollateral", + "gasUsed": 99739, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "4ccc4a943f765b2298f9df52248fe902", + "version": 6 + }, + "invoke.enable_feature_withdrawMarketUsd": { + "artifacts": { + "contracts": {}, + "txns": { + "enable_feature_withdrawMarketUsd": { + "hash": "0x6c37d45d2da4d3894b132962a0ceade01351e9a867bdb34cbeee72fbde29c400", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x77697468647261774d61726b6574557364000000000000000000000000000000", + false + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_withdrawMarketUsd", + "gasUsed": 99655, + "gasCost": "100000000", + "signer": "0xEde8a407913A874Dd7e3d5B731AFcA135D30375E" + } + }, + "extras": {} + }, + "hash": "5033bc51b20591d37eb54a4de356bc84", + "version": 6 + } + }, + "options": {}, + "status": "complete", + "meta": {}, + "miscUrl": "ipfs://QmeSt2mnJKE8qmRhLyYbHQQxDKpsFbcWnw5e7JF4xVbN6k", + "chainId": 42161 +} \ No newline at end of file diff --git a/42161-arbthetix/extras.json b/42161-arbthetix/extras.json new file mode 100644 index 000000000..f9bf648f4 --- /dev/null +++ b/42161-arbthetix/extras.json @@ -0,0 +1,15 @@ +{ + "arb_lookup_oracle_id": "0xd1496f51d75641f1e06e636277f6c63c69c4db3ec0c0a70e1f6390980ec0e2ec", + "btc_lookup_oracle_id": "0x9a8a51797f90064392f7aa51aa237fb946071474b43c8f25120c7ee796a9f939", + "eth_lookup_oracle_id": "0x786b13c83797311e2f24a43c789a6b312686195bd35c5ee5930d2a6e66f0e3ac", + "perps_keeper_cost_eth_oracle_id": "0xff8ab8d7fa228d897e75fded658da97e50151303993c7fa160ac9fa2666b585d", + "arb_pyth_oracle_id": "0x1302ffecf81a1969dcc922a2da7aec11ef8df28a5f1be0df3465574297b1c8a8", + "btc_pyth_oracle_id": "0xe95d49f15d92133256ba6805b8090b783fbcaa02a1c0fa55b6f89bd3975c5987", + "eth_pyth_oracle_id": "0x411a4d9d358436f79fd12e9aefdb06c301d1cb342b49553c9a076135c2ea6ef1", + "arb_oracle_id": "0xe2f4515e5eb6c16b3b394e6649460beab2cb0a9ed05347dace0bd7da3824ce83", + "btc_oracle_id": "0x2ec70e5b3b2cb5f6b04d4c035c62225391720ae3c2fd6e083f6126b99ddec91a", + "eth_oracle_id": "0x8d846863d33e135e0dccd38de7ddf2f78e36f629b527111ceb82c3b4b625a47c", + "btc_pyth_settlement_strategy": "0", + "eth_pyth_settlement_strategy": "0", + "perps_keeper_cost_usd_oracle_id": "0x0e302ab100a11214c54ae958027f5460ac0f4d894107ba6118d68e3f6f25a6ea" +} \ No newline at end of file diff --git a/42161-arbthetix/meta.json b/42161-arbthetix/meta.json new file mode 100644 index 000000000..6efb699fe --- /dev/null +++ b/42161-arbthetix/meta.json @@ -0,0 +1,20 @@ +{ + "chainId": 42161, + "name": "synthetix-omnibus", + "preset": "arbthetix", + "version": "5", + "generator": "cannon cli 2.11.21", + "timestamp": 1710726714, + "miscUrl": "ipfs://QmeSt2mnJKE8qmRhLyYbHQQxDKpsFbcWnw5e7JF4xVbN6k", + "contracts": { + "CoreProxy": "0x4Ab09F627fa9706f33178129005300Fd4c00EDF1", + "AccountProxy": "0x6e29bE5d3772f9eEeE9a5FEa5DEDDA7F81292b5a", + "USDProxy": "0x574036F5926AA5dD34d16c245e5992f4F2299BB2", + "OracleManagerProxy": "0xCD4cbBe3a36D145072cDDB89B0AE966761E416F9", + "TrustedMulticallForwarder": "0xE2C5658cC5C448B48141168f3e475dF8f65A1e3e", + "SpotMarketProxy": "0x4BeadB0CaC85b4E3F2F3E71bDc0624FA60260a74", + "PerpsMarketProxy": "0x1174e8895D4302bbEdd8F97beC298735D9F7F65e", + "PerpsAccountProxy": "0x40c37a2956e1D34E685d43D721597f028403304B", + "USDCToken": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" + } +} \ No newline at end of file