From 17fa9727681614140d55cf16cc870c69dcd4580b Mon Sep 17 00:00:00 2001 From: synthetix-team Date: Mon, 17 Jun 2024 23:15:05 +0000 Subject: [PATCH] [NEXT] 11155111-main DO NOT MERGE! --- 11155111-main/AllErrors.json | 478 +- 11155111-main/AllErrors.readable.json | 47 +- 11155111-main/CoreProxy.json | 291 +- 11155111-main/CoreProxy.readable.json | 22 +- 11155111-main/LegacyMarketProxy.json | 685 + 11155111-main/LegacyMarketProxy.readable.json | 53 + 11155111-main/OracleManagerProxy.json | 14 + .../OracleManagerProxy.readable.json | 1 + 11155111-main/PythERC7412Wrapper.json | 140 + .../PythERC7412Wrapper.readable.json | 13 + 11155111-main/SNXToken.json | 332 + 11155111-main/SNXToken.readable.json | 21 + 11155111-main/SpotMarketProxy.json | 3519 ++++ 11155111-main/SpotMarketProxy.readable.json | 161 + 11155111-main/TrustedMulticallForwarder.json | 798 + .../TrustedMulticallForwarder.readable.json | 36 + 11155111-main/V2x.json | 1633 ++ 11155111-main/V2x.readable.json | 91 + 11155111-main/cannon.json | 15115 +++++++++++----- 11155111-main/extras.json | 56 +- 11155111-main/meta.json | 20 +- 21 files changed, 19142 insertions(+), 4384 deletions(-) create mode 100644 11155111-main/LegacyMarketProxy.json create mode 100644 11155111-main/LegacyMarketProxy.readable.json create mode 100644 11155111-main/PythERC7412Wrapper.json create mode 100644 11155111-main/PythERC7412Wrapper.readable.json create mode 100644 11155111-main/SNXToken.json create mode 100644 11155111-main/SNXToken.readable.json create mode 100644 11155111-main/SpotMarketProxy.json create mode 100644 11155111-main/SpotMarketProxy.readable.json create mode 100644 11155111-main/TrustedMulticallForwarder.json create mode 100644 11155111-main/TrustedMulticallForwarder.readable.json create mode 100644 11155111-main/V2x.json create mode 100644 11155111-main/V2x.readable.json diff --git a/11155111-main/AllErrors.json b/11155111-main/AllErrors.json index c3b0e71606..8ecb5e3d1b 100644 --- a/11155111-main/AllErrors.json +++ b/11155111-main/AllErrors.json @@ -536,24 +536,6 @@ } ] }, - { - "type": "error", - "name": "DeniedMulticallTarget", - "inputs": [ - { - "type": "address" - } - ] - }, - { - "type": "error", - "name": "RecursiveMulticall", - "inputs": [ - { - "type": "address" - } - ] - }, { "type": "error", "name": "CapacityLocked", @@ -807,6 +789,20 @@ } ] }, + { + "type": "error", + "name": "OracleDataRequired", + "inputs": [ + { + "type": "address", + "name": "oracleContract" + }, + { + "type": "bytes", + "name": "oracleQuery" + } + ] + }, { "type": "error", "name": "OverflowInt56ToInt24", @@ -846,5 +842,451 @@ "name": "operation" } ] + }, + { + "type": "error", + "name": "InsufficientCollateralMigrated", + "inputs": [ + { + "type": "uint256", + "name": "amountRequested" + }, + { + "type": "uint256", + "name": "amountAvailable" + } + ] + }, + { + "type": "error", + "name": "MarketAlreadyRegistered", + "inputs": [ + { + "type": "uint256", + "name": "existingMarketId" + } + ] + }, + { + "type": "error", + "name": "MigrationInProgress", + "inputs": [] + }, + { + "type": "error", + "name": "NothingToMigrate", + "inputs": [] + }, + { + "type": "error", + "name": "Paused", + "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": "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": "FeeRequired", + "inputs": [ + { + "type": "uint256", + "name": "amount" + } + ] + }, + { + "type": "error", + "name": "NotSupported", + "inputs": [ + { + "type": "uint8", + "name": "updateType" + } + ] } ] \ No newline at end of file diff --git a/11155111-main/AllErrors.readable.json b/11155111-main/AllErrors.readable.json index e20f551807..101d071f94 100644 --- a/11155111-main/AllErrors.readable.json +++ b/11155111-main/AllErrors.readable.json @@ -52,8 +52,6 @@ "error InsufficientMarketCollateralWithdrawable(uint128 marketId, address collateralType, uint256 tokenAmountToWithdraw)", "error IncorrectMarketInterface(address market)", "error NotEnoughLiquidity(uint128 marketId, uint256 amount)", - "error DeniedMulticallTarget(address)", - "error RecursiveMulticall(address)", "error CapacityLocked(uint256 marketId)", "error MinDelegationTimeoutPending(uint128 poolId, uint32 timeRemaining)", "error PoolAlreadyExists(uint128 poolId)", @@ -79,10 +77,53 @@ "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 UnsupportedOperation(uint8 operation)", + "error InsufficientCollateralMigrated(uint256 amountRequested, uint256 amountAvailable)", + "error MarketAlreadyRegistered(uint256 existingMarketId)", + "error MigrationInProgress()", + "error NothingToMigrate()", + "error Paused()", + "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 FeeRequired(uint256 amount)", + "error NotSupported(uint8 updateType)" ] \ No newline at end of file diff --git a/11155111-main/CoreProxy.json b/11155111-main/CoreProxy.json index dfc5bd1d76..20e7ff4cce 100644 --- a/11155111-main/CoreProxy.json +++ b/11155111-main/CoreProxy.json @@ -2403,6 +2403,26 @@ "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 } ] }, @@ -2430,6 +2450,26 @@ "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 } ] }, @@ -2673,6 +2713,21 @@ "type": "address", "name": "market", "indexed": true + }, + { + "type": "int128", + "name": "creditCapacity", + "indexed": false + }, + { + "type": "int128", + "name": "netIssuance", + "indexed": false + }, + { + "type": "uint256", + "name": "depositedCollateralValue", + "indexed": false } ] }, @@ -2700,6 +2755,21 @@ "type": "address", "name": "market", "indexed": true + }, + { + "type": "int128", + "name": "creditCapacity", + "indexed": false + }, + { + "type": "int128", + "name": "netIssuance", + "indexed": false + }, + { + "type": "uint256", + "name": "depositedCollateralValue", + "indexed": false } ] }, @@ -3145,99 +3215,6 @@ } ] }, - { - "type": "error", - "name": "DeniedMulticallTarget", - "inputs": [ - { - "type": "address" - } - ] - }, - { - "type": "error", - "name": "RecursiveMulticall", - "inputs": [ - { - "type": "address" - } - ] - }, - { - "type": "function", - "name": "getMessageSender", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "address" - } - ] - }, - { - "type": "function", - "name": "multicall", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes[]", - "name": "data" - } - ], - "outputs": [ - { - "type": "bytes[]", - "name": "results" - } - ] - }, - { - "type": "function", - "name": "multicallThrough", - "constant": false, - "stateMutability": "payable", - "payable": true, - "inputs": [ - { - "type": "address[]", - "name": "to" - }, - { - "type": "bytes[]", - "name": "data" - }, - { - "type": "uint256[]", - "name": "values" - } - ], - "outputs": [ - { - "type": "bytes[]", - "name": "results" - } - ] - }, - { - "type": "function", - "name": "setAllowlistedMulticallTarget", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "target" - }, - { - "type": "bool", - "name": "allowlisted" - } - ], - "outputs": [] - }, { "type": "event", "anonymous": false, @@ -3575,6 +3552,23 @@ } ] }, + { + "type": "event", + "anonymous": false, + "name": "PoolOwnershipRenounced", + "inputs": [ + { + "type": "uint128", + "name": "poolId", + "indexed": true + }, + { + "type": "address", + "name": "owner", + "indexed": true + } + ] + }, { "type": "event", "anonymous": false, @@ -3648,6 +3642,39 @@ } ] }, + { + "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", @@ -3786,6 +3813,19 @@ ], "outputs": [] }, + { + "type": "function", + "name": "renouncePoolOwnership", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + } + ], + "outputs": [] + }, { "type": "function", "name": "revokePoolNomination", @@ -4109,6 +4149,36 @@ ], "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", @@ -4304,6 +4374,37 @@ } ] }, + { + "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", @@ -4536,10 +4637,6 @@ { "type": "uint256", "name": "amount" - }, - { - "type": "uint256", - "name": "value" } ] }, diff --git a/11155111-main/CoreProxy.readable.json b/11155111-main/CoreProxy.readable.json index bb8d2b589f..4ccc882a95 100644 --- a/11155111-main/CoreProxy.readable.json +++ b/11155111-main/CoreProxy.readable.json @@ -128,8 +128,8 @@ "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)", - "event MarketCollateralWithdrawn(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "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)", @@ -141,8 +141,8 @@ "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)", - "event MarketUsdWithdrawn(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market)", + "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)", @@ -166,12 +166,6 @@ "function setMarketMinDelegateTime(uint128 marketId, uint32 minDelegateTime)", "function setMinLiquidityRatio(uint128 marketId, uint256 minLiquidityRatio)", "function withdrawMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", - "error DeniedMulticallTarget(address)", - "error RecursiveMulticall(address)", - "function getMessageSender() view returns (address)", - "function multicall(bytes[] data) returns (bytes[] results)", - "function multicallThrough(address[] to, bytes[] data, uint256[] values) payable returns (bytes[] results)", - "function setAllowlistedMulticallTarget(address target, bool allowlisted)", "event PoolApprovedAdded(uint256 poolId)", "event PoolApprovedRemoved(uint256 poolId)", "event PreferredPoolSet(uint256 poolId)", @@ -192,11 +186,13 @@ "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)", @@ -204,6 +200,7 @@ "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)", @@ -221,6 +218,7 @@ "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)", @@ -231,6 +229,8 @@ "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)", @@ -241,7 +241,7 @@ "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, uint256 value)", + "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)", diff --git a/11155111-main/LegacyMarketProxy.json b/11155111-main/LegacyMarketProxy.json new file mode 100644 index 0000000000..fc01f87cf6 --- /dev/null +++ b/11155111-main/LegacyMarketProxy.json @@ -0,0 +1,685 @@ +[ + { + "type": "constructor", + "payable": false, + "inputs": [] + }, + { + "type": "error", + "name": "ImplementationIsSterile", + "inputs": [ + { + "type": "address", + "name": "implementation" + } + ] + }, + { + "type": "error", + "name": "InsufficientCollateralMigrated", + "inputs": [ + { + "type": "uint256", + "name": "amountRequested" + }, + { + "type": "uint256", + "name": "amountAvailable" + } + ] + }, + { + "type": "error", + "name": "InvalidParameter", + "inputs": [ + { + "type": "string", + "name": "parameter" + }, + { + "type": "string", + "name": "reason" + } + ] + }, + { + "type": "error", + "name": "MarketAlreadyRegistered", + "inputs": [ + { + "type": "uint256", + "name": "existingMarketId" + } + ] + }, + { + "type": "error", + "name": "MigrationInProgress", + "inputs": [] + }, + { + "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": "NothingToMigrate", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowUint256ToUint128", + "inputs": [] + }, + { + "type": "error", + "name": "Paused", + "inputs": [] + }, + { + "type": "error", + "name": "Unauthorized", + "inputs": [ + { + "type": "address", + "name": "addr" + } + ] + }, + { + "type": "error", + "name": "UpgradeSimulationFailed", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroAddress", + "inputs": [] + }, + { + "type": "event", + "anonymous": false, + "name": "AccountLiquidatedInMigration", + "inputs": [ + { + "type": "address", + "name": "staker", + "indexed": false + }, + { + "type": "uint256", + "name": "collateralAmount", + "indexed": false + }, + { + "type": "uint256", + "name": "debtAmount", + "indexed": false + }, + { + "type": "uint256", + "name": "cratio", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "AccountMigrated", + "inputs": [ + { + "type": "address", + "name": "staker", + "indexed": true + }, + { + "type": "uint256", + "name": "accountId", + "indexed": true + }, + { + "type": "uint256", + "name": "collateralAmount", + "indexed": false + }, + { + "type": "uint256", + "name": "debtAmount", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "ConvertedUSD", + "inputs": [ + { + "type": "address", + "name": "account", + "indexed": true + }, + { + "type": "uint256", + "name": "amount", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "MarketRegistered", + "inputs": [ + { + "type": "address", + "name": "marketAddress", + "indexed": true + }, + { + "type": "uint128", + "name": "marketId", + "indexed": true + }, + { + "type": "address", + "name": "sender", + "indexed": true + } + ] + }, + { + "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": "PauseMigrationSet", + "inputs": [ + { + "type": "address", + "name": "sender", + "indexed": true + }, + { + "type": "bool", + "name": "paused", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "PauseStablecoinConversionSet", + "inputs": [ + { + "type": "address", + "name": "sender", + "indexed": true + }, + { + "type": "bool", + "name": "paused", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "Upgraded", + "inputs": [ + { + "type": "address", + "name": "self", + "indexed": true + }, + { + "type": "address", + "name": "implementation", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "MIN_DELEGATION_TIME", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint32" + } + ] + }, + { + "type": "function", + "name": "acceptOwnership", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "type": "function", + "name": "convertUSD", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "getImplementation", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "marketId", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint128" + } + ] + }, + { + "type": "function", + "name": "migrate", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "accountId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "migrateOnBehalf", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "staker" + }, + { + "type": "uint128", + "name": "accountId" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "minimumCredit", + "constant": true, + "stateMutability": "pure", + "payable": false, + "inputs": [ + { + "type": "uint128" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "lockedAmount" + } + ] + }, + { + "type": "function", + "name": "name", + "constant": true, + "stateMutability": "pure", + "payable": false, + "inputs": [ + { + "type": "uint128" + } + ], + "outputs": [ + { + "type": "string" + } + ] + }, + { + "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": "onERC721Received", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "operator" + }, + { + "type": "address" + }, + { + "type": "uint256" + }, + { + "type": "bytes" + } + ], + "outputs": [ + { + "type": "bytes4" + } + ] + }, + { + "type": "function", + "name": "owner", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "pauseMigration", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "pauseStablecoinConversion", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "registerMarket", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint128", + "name": "newMarketId" + } + ] + }, + { + "type": "function", + "name": "renounceNomination", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "type": "function", + "name": "reportedDebt", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "requestedMarketId" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "debt" + } + ] + }, + { + "type": "function", + "name": "rewardsDistributor", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "setPauseMigration", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bool", + "name": "paused" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setPauseStablecoinConversion", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bool", + "name": "paused" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setSystemAddresses", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "v2xResolverAddress" + }, + { + "type": "address", + "name": "v3SystemAddress" + }, + { + "type": "address", + "name": "snxDistributor" + } + ], + "outputs": [ + { + "type": "bool", + "name": "didInitialize" + } + ] + }, + { + "type": "function", + "name": "simulateUpgradeTo", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "newImplementation" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "supportsInterface", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes4", + "name": "interfaceId" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "upgradeTo", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "to" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "v2xResolver", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "v3System", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + } +] \ No newline at end of file diff --git a/11155111-main/LegacyMarketProxy.readable.json b/11155111-main/LegacyMarketProxy.readable.json new file mode 100644 index 0000000000..7c26b8cc8f --- /dev/null +++ b/11155111-main/LegacyMarketProxy.readable.json @@ -0,0 +1,53 @@ +[ + "constructor()", + "error ImplementationIsSterile(address implementation)", + "error InsufficientCollateralMigrated(uint256 amountRequested, uint256 amountAvailable)", + "error InvalidParameter(string parameter, string reason)", + "error MarketAlreadyRegistered(uint256 existingMarketId)", + "error MigrationInProgress()", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error NothingToMigrate()", + "error OverflowUint256ToUint128()", + "error Paused()", + "error Unauthorized(address addr)", + "error UpgradeSimulationFailed()", + "error ZeroAddress()", + "event AccountLiquidatedInMigration(address staker, uint256 collateralAmount, uint256 debtAmount, uint256 cratio)", + "event AccountMigrated(address indexed staker, uint256 indexed accountId, uint256 collateralAmount, uint256 debtAmount)", + "event ConvertedUSD(address indexed account, uint256 amount)", + "event MarketRegistered(address indexed marketAddress, uint128 indexed marketId, address indexed sender)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event PauseMigrationSet(address indexed sender, bool paused)", + "event PauseStablecoinConversionSet(address indexed sender, bool paused)", + "event Upgraded(address indexed self, address implementation)", + "function MIN_DELEGATION_TIME() view returns (uint32)", + "function acceptOwnership()", + "function convertUSD(uint256 amount)", + "function getImplementation() view returns (address)", + "function marketId() view returns (uint128)", + "function migrate(uint128 accountId)", + "function migrateOnBehalf(address staker, uint128 accountId)", + "function minimumCredit(uint128) pure returns (uint256 lockedAmount)", + "function name(uint128) pure returns (string)", + "function nominateNewOwner(address newNominatedOwner)", + "function nominatedOwner() view returns (address)", + "function onERC721Received(address operator, address, uint256, bytes) view returns (bytes4)", + "function owner() view returns (address)", + "function pauseMigration() view returns (bool)", + "function pauseStablecoinConversion() view returns (bool)", + "function registerMarket() returns (uint128 newMarketId)", + "function renounceNomination()", + "function reportedDebt(uint128 requestedMarketId) view returns (uint256 debt)", + "function rewardsDistributor() view returns (address)", + "function setPauseMigration(bool paused)", + "function setPauseStablecoinConversion(bool paused)", + "function setSystemAddresses(address v2xResolverAddress, address v3SystemAddress, address snxDistributor) returns (bool didInitialize)", + "function simulateUpgradeTo(address newImplementation)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function upgradeTo(address to)", + "function v2xResolver() view returns (address)", + "function v3System() view returns (address)" +] \ No newline at end of file diff --git a/11155111-main/OracleManagerProxy.json b/11155111-main/OracleManagerProxy.json index 5f3e4ef18c..5704daf3d2 100644 --- a/11155111-main/OracleManagerProxy.json +++ b/11155111-main/OracleManagerProxy.json @@ -267,6 +267,20 @@ } ] }, + { + "type": "error", + "name": "OracleDataRequired", + "inputs": [ + { + "type": "address", + "name": "oracleContract" + }, + { + "type": "bytes", + "name": "oracleQuery" + } + ] + }, { "type": "error", "name": "OverflowInt256ToUint256", diff --git a/11155111-main/OracleManagerProxy.readable.json b/11155111-main/OracleManagerProxy.readable.json index fe5b7e3f9c..3b3372c58f 100644 --- a/11155111-main/OracleManagerProxy.readable.json +++ b/11155111-main/OracleManagerProxy.readable.json @@ -23,6 +23,7 @@ "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()", diff --git a/11155111-main/PythERC7412Wrapper.json b/11155111-main/PythERC7412Wrapper.json new file mode 100644 index 0000000000..7900074576 --- /dev/null +++ b/11155111-main/PythERC7412Wrapper.json @@ -0,0 +1,140 @@ +[ + { + "type": "constructor", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "_pythAddress" + } + ] + }, + { + "type": "error", + "name": "FeeRequired", + "inputs": [ + { + "type": "uint256", + "name": "amount" + } + ] + }, + { + "type": "error", + "name": "NotSupported", + "inputs": [ + { + "type": "uint8", + "name": "updateType" + } + ] + }, + { + "type": "error", + "name": "OracleDataRequired", + "inputs": [ + { + "type": "address", + "name": "oracleContract" + }, + { + "type": "bytes", + "name": "oracleQuery" + } + ] + }, + { + "type": "error", + "name": "OverflowInt256ToUint256", + "inputs": [] + }, + { + "type": "error", + "name": "OverflowUint256ToInt256", + "inputs": [] + }, + { + "type": "function", + "name": "fulfillOracleQuery", + "constant": false, + "stateMutability": "payable", + "payable": true, + "inputs": [ + { + "type": "bytes", + "name": "signedOffchainData" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "getBenchmarkPrice", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "priceId" + }, + { + "type": "uint64", + "name": "requestedTime" + } + ], + "outputs": [ + { + "type": "int256" + } + ] + }, + { + "type": "function", + "name": "getLatestPrice", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "priceId" + }, + { + "type": "uint256", + "name": "stalenessTolerance" + } + ], + "outputs": [ + { + "type": "int256" + } + ] + }, + { + "type": "function", + "name": "oracleId", + "constant": true, + "stateMutability": "pure", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "bytes32" + } + ] + }, + { + "type": "function", + "name": "pythAddress", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + } +] \ No newline at end of file diff --git a/11155111-main/PythERC7412Wrapper.readable.json b/11155111-main/PythERC7412Wrapper.readable.json new file mode 100644 index 0000000000..a0840505b0 --- /dev/null +++ b/11155111-main/PythERC7412Wrapper.readable.json @@ -0,0 +1,13 @@ +[ + "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)" +] \ No newline at end of file diff --git a/11155111-main/SNXToken.json b/11155111-main/SNXToken.json new file mode 100644 index 0000000000..7d650c9ad3 --- /dev/null +++ b/11155111-main/SNXToken.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/11155111-main/SNXToken.readable.json b/11155111-main/SNXToken.readable.json new file mode 100644 index 0000000000..329b227ecb --- /dev/null +++ b/11155111-main/SNXToken.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/11155111-main/SpotMarketProxy.json b/11155111-main/SpotMarketProxy.json new file mode 100644 index 0000000000..96a553b71c --- /dev/null +++ b/11155111-main/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/11155111-main/SpotMarketProxy.readable.json b/11155111-main/SpotMarketProxy.readable.json new file mode 100644 index 0000000000..abcf83c2b7 --- /dev/null +++ b/11155111-main/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/11155111-main/TrustedMulticallForwarder.json b/11155111-main/TrustedMulticallForwarder.json new file mode 100644 index 0000000000..7caa24294b --- /dev/null +++ b/11155111-main/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/11155111-main/TrustedMulticallForwarder.readable.json b/11155111-main/TrustedMulticallForwarder.readable.json new file mode 100644 index 0000000000..ebe2694b58 --- /dev/null +++ b/11155111-main/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/11155111-main/V2x.json b/11155111-main/V2x.json new file mode 100644 index 0000000000..8bf43c83ab --- /dev/null +++ b/11155111-main/V2x.json @@ -0,0 +1,1633 @@ +[ + { + "type": "constructor", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "_proxy" + }, + { + "type": "address", + "name": "_tokenState" + }, + { + "type": "address", + "name": "_owner" + }, + { + "type": "uint256", + "name": "_totalSupply" + }, + { + "type": "address", + "name": "_resolver" + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "AccountLiquidated", + "inputs": [ + { + "type": "address", + "name": "account", + "indexed": true + }, + { + "type": "uint256", + "name": "snxRedeemed", + "indexed": false + }, + { + "type": "uint256", + "name": "amountLiquidated", + "indexed": false + }, + { + "type": "address", + "name": "liquidator", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "Approval", + "inputs": [ + { + "type": "address", + "name": "owner", + "indexed": true + }, + { + "type": "address", + "name": "spender", + "indexed": true + }, + { + "type": "uint256", + "name": "value", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "AtomicSynthExchange", + "inputs": [ + { + "type": "address", + "name": "account", + "indexed": true + }, + { + "type": "bytes32", + "name": "fromCurrencyKey", + "indexed": false + }, + { + "type": "uint256", + "name": "fromAmount", + "indexed": false + }, + { + "type": "bytes32", + "name": "toCurrencyKey", + "indexed": false + }, + { + "type": "uint256", + "name": "toAmount", + "indexed": false + }, + { + "type": "address", + "name": "toAddress", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "CacheUpdated", + "inputs": [ + { + "type": "bytes32", + "name": "name", + "indexed": false + }, + { + "type": "address", + "name": "destination", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "ExchangeRebate", + "inputs": [ + { + "type": "address", + "name": "account", + "indexed": true + }, + { + "type": "bytes32", + "name": "currencyKey", + "indexed": false + }, + { + "type": "uint256", + "name": "amount", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "ExchangeReclaim", + "inputs": [ + { + "type": "address", + "name": "account", + "indexed": true + }, + { + "type": "bytes32", + "name": "currencyKey", + "indexed": false + }, + { + "type": "uint256", + "name": "amount", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "ExchangeTracking", + "inputs": [ + { + "type": "bytes32", + "name": "trackingCode", + "indexed": true + }, + { + "type": "bytes32", + "name": "toCurrencyKey", + "indexed": false + }, + { + "type": "uint256", + "name": "toAmount", + "indexed": false + }, + { + "type": "uint256", + "name": "fee", + "indexed": false + } + ] + }, + { + "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": "ProxyUpdated", + "inputs": [ + { + "type": "address", + "name": "proxyAddress", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "SynthExchange", + "inputs": [ + { + "type": "address", + "name": "account", + "indexed": true + }, + { + "type": "bytes32", + "name": "fromCurrencyKey", + "indexed": false + }, + { + "type": "uint256", + "name": "fromAmount", + "indexed": false + }, + { + "type": "bytes32", + "name": "toCurrencyKey", + "indexed": false + }, + { + "type": "uint256", + "name": "toAmount", + "indexed": false + }, + { + "type": "address", + "name": "toAddress", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "TokenStateUpdated", + "inputs": [ + { + "type": "address", + "name": "newTokenState", + "indexed": false + } + ] + }, + { + "type": "event", + "anonymous": false, + "name": "Transfer", + "inputs": [ + { + "type": "address", + "name": "from", + "indexed": true + }, + { + "type": "address", + "name": "to", + "indexed": true + }, + { + "type": "uint256", + "name": "value", + "indexed": false + } + ] + }, + { + "type": "function", + "name": "CONTRACT_NAME", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "bytes32" + } + ] + }, + { + "type": "function", + "name": "DECIMALS", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint8" + } + ] + }, + { + "type": "function", + "name": "TOKEN_NAME", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "string" + } + ] + }, + { + "type": "function", + "name": "TOKEN_SYMBOL", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "string" + } + ] + }, + { + "type": "function", + "name": "acceptOwnership", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "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": "anySynthOrSNXRateIsInvalid", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "bool", + "name": "anyRateInvalid" + } + ] + }, + { + "type": "function", + "name": "approve", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "spender" + }, + { + "type": "uint256", + "name": "value" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "availableCurrencyKeys", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "bytes32[]" + } + ] + }, + { + "type": "function", + "name": "availableSynthCount", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "availableSynths", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "uint256", + "name": "index" + } + ], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "balanceOf", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "account" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "burnSecondary", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address" + }, + { + "type": "uint256" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "burnSynths", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "burnSynthsOnBehalf", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "burnForAddress" + }, + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "burnSynthsToTarget", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "type": "function", + "name": "burnSynthsToTargetOnBehalf", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "burnForAddress" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "collateral", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "account" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "collateralisationRatio", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "_issuer" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "debtBalanceOf", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "account" + }, + { + "type": "bytes32", + "name": "currencyKey" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "decimals", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "uint8" + } + ] + }, + { + "type": "function", + "name": "emitAtomicSynthExchange", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "account" + }, + { + "type": "bytes32", + "name": "fromCurrencyKey" + }, + { + "type": "uint256", + "name": "fromAmount" + }, + { + "type": "bytes32", + "name": "toCurrencyKey" + }, + { + "type": "uint256", + "name": "toAmount" + }, + { + "type": "address", + "name": "toAddress" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "emitExchangeRebate", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "account" + }, + { + "type": "bytes32", + "name": "currencyKey" + }, + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "emitExchangeReclaim", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "account" + }, + { + "type": "bytes32", + "name": "currencyKey" + }, + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "emitExchangeTracking", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "trackingCode" + }, + { + "type": "bytes32", + "name": "toCurrencyKey" + }, + { + "type": "uint256", + "name": "toAmount" + }, + { + "type": "uint256", + "name": "fee" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "emitSynthExchange", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "account" + }, + { + "type": "bytes32", + "name": "fromCurrencyKey" + }, + { + "type": "uint256", + "name": "fromAmount" + }, + { + "type": "bytes32", + "name": "toCurrencyKey" + }, + { + "type": "uint256", + "name": "toAmount" + }, + { + "type": "address", + "name": "toAddress" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "exchange", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "sourceCurrencyKey" + }, + { + "type": "uint256", + "name": "sourceAmount" + }, + { + "type": "bytes32", + "name": "destinationCurrencyKey" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "amountReceived" + } + ] + }, + { + "type": "function", + "name": "exchangeAtomically", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "sourceCurrencyKey" + }, + { + "type": "uint256", + "name": "sourceAmount" + }, + { + "type": "bytes32", + "name": "destinationCurrencyKey" + }, + { + "type": "bytes32", + "name": "trackingCode" + }, + { + "type": "uint256", + "name": "minAmount" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "amountReceived" + } + ] + }, + { + "type": "function", + "name": "exchangeOnBehalf", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "exchangeForAddress" + }, + { + "type": "bytes32", + "name": "sourceCurrencyKey" + }, + { + "type": "uint256", + "name": "sourceAmount" + }, + { + "type": "bytes32", + "name": "destinationCurrencyKey" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "amountReceived" + } + ] + }, + { + "type": "function", + "name": "exchangeOnBehalfWithTracking", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "exchangeForAddress" + }, + { + "type": "bytes32", + "name": "sourceCurrencyKey" + }, + { + "type": "uint256", + "name": "sourceAmount" + }, + { + "type": "bytes32", + "name": "destinationCurrencyKey" + }, + { + "type": "address", + "name": "rewardAddress" + }, + { + "type": "bytes32", + "name": "trackingCode" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "amountReceived" + } + ] + }, + { + "type": "function", + "name": "exchangeWithTracking", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "sourceCurrencyKey" + }, + { + "type": "uint256", + "name": "sourceAmount" + }, + { + "type": "bytes32", + "name": "destinationCurrencyKey" + }, + { + "type": "address", + "name": "rewardAddress" + }, + { + "type": "bytes32", + "name": "trackingCode" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "amountReceived" + } + ] + }, + { + "type": "function", + "name": "exchangeWithTrackingForInitiator", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "sourceCurrencyKey" + }, + { + "type": "uint256", + "name": "sourceAmount" + }, + { + "type": "bytes32", + "name": "destinationCurrencyKey" + }, + { + "type": "address", + "name": "rewardAddress" + }, + { + "type": "bytes32", + "name": "trackingCode" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "amountReceived" + } + ] + }, + { + "type": "function", + "name": "exchangeWithVirtual", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "sourceCurrencyKey" + }, + { + "type": "uint256", + "name": "sourceAmount" + }, + { + "type": "bytes32", + "name": "destinationCurrencyKey" + }, + { + "type": "bytes32", + "name": "trackingCode" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "amountReceived" + }, + { + "type": "address", + "name": "vSynth" + } + ] + }, + { + "type": "function", + "name": "getFirstNonZeroEscrowIndex", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "account" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "isResolverCached", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "isWaitingPeriod", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "currencyKey" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "issueMaxSynths", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "type": "function", + "name": "issueMaxSynthsOnBehalf", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "issueForAddress" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "issueSynths", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "issueSynthsOnBehalf", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "issueForAddress" + }, + { + "type": "uint256", + "name": "amount" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "liquidateDelinquentAccount", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "account" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "liquidateDelinquentAccountEscrowIndex", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "account" + }, + { + "type": "uint256", + "name": "escrowStartIndex" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "liquidateSelf", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "maxIssuableSynths", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "account" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "maxIssuable" + } + ] + }, + { + "type": "function", + "name": "messageSender", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "migrateAccountBalances", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "account" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "totalEscrowRevoked" + }, + { + "type": "uint256", + "name": "totalLiquidBalance" + } + ] + }, + { + "type": "function", + "name": "migrateEscrowBalanceToRewardEscrowV2", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "type": "function", + "name": "migrateEscrowContractBalance", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "type": "function", + "name": "mint", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "mintSecondary", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address" + }, + { + "type": "uint256" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "mintSecondaryRewards", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint256" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "name", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "string" + } + ] + }, + { + "type": "function", + "name": "nominateNewOwner", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "_owner" + } + ], + "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": "proxy", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "rebuildCache", + "constant": false, + "payable": false, + "inputs": [], + "outputs": [] + }, + { + "type": "function", + "name": "remainingIssuableSynths", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "account" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "maxIssuable" + }, + { + "type": "uint256", + "name": "alreadyIssued" + }, + { + "type": "uint256", + "name": "totalSystemDebt" + } + ] + }, + { + "type": "function", + "name": "resolver", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "resolverAddressesRequired", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "bytes32[]", + "name": "addresses" + } + ] + }, + { + "type": "function", + "name": "sUSD", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "bytes32" + } + ] + }, + { + "type": "function", + "name": "setMessageSender", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "sender" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setProxy", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "_proxy" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "setTokenState", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "_tokenState" + } + ], + "outputs": [] + }, + { + "type": "function", + "name": "settle", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "currencyKey" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "reclaimed" + }, + { + "type": "uint256", + "name": "refunded" + }, + { + "type": "uint256", + "name": "numEntriesSettled" + } + ] + }, + { + "type": "function", + "name": "symbol", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "string" + } + ] + }, + { + "type": "function", + "name": "synths", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "currencyKey" + } + ], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "synthsByAddress", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "synthAddress" + } + ], + "outputs": [ + { + "type": "bytes32" + } + ] + }, + { + "type": "function", + "name": "tokenState", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [], + "outputs": [ + { + "type": "address" + } + ] + }, + { + "type": "function", + "name": "totalIssuedSynths", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "currencyKey" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "type": "function", + "name": "totalIssuedSynthsExcludeOtherCollateral", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "bytes32", + "name": "currencyKey" + } + ], + "outputs": [ + { + "type": "uint256" + } + ] + }, + { + "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": "value" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "transferFrom", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "address", + "name": "from" + }, + { + "type": "address", + "name": "to" + }, + { + "type": "uint256", + "name": "value" + } + ], + "outputs": [ + { + "type": "bool" + } + ] + }, + { + "type": "function", + "name": "transferableSynthetix", + "constant": true, + "stateMutability": "view", + "payable": false, + "inputs": [ + { + "type": "address", + "name": "account" + } + ], + "outputs": [ + { + "type": "uint256", + "name": "transferable" + } + ] + } +] \ No newline at end of file diff --git a/11155111-main/V2x.readable.json b/11155111-main/V2x.readable.json new file mode 100644 index 0000000000..c8b652bc2a --- /dev/null +++ b/11155111-main/V2x.readable.json @@ -0,0 +1,91 @@ +[ + "constructor(address _proxy, address _tokenState, address _owner, uint256 _totalSupply, address _resolver)", + "event AccountLiquidated(address indexed account, uint256 snxRedeemed, uint256 amountLiquidated, address liquidator)", + "event Approval(address indexed owner, address indexed spender, uint256 value)", + "event AtomicSynthExchange(address indexed account, bytes32 fromCurrencyKey, uint256 fromAmount, bytes32 toCurrencyKey, uint256 toAmount, address toAddress)", + "event CacheUpdated(bytes32 name, address destination)", + "event ExchangeRebate(address indexed account, bytes32 currencyKey, uint256 amount)", + "event ExchangeReclaim(address indexed account, bytes32 currencyKey, uint256 amount)", + "event ExchangeTracking(bytes32 indexed trackingCode, bytes32 toCurrencyKey, uint256 toAmount, uint256 fee)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event ProxyUpdated(address proxyAddress)", + "event SynthExchange(address indexed account, bytes32 fromCurrencyKey, uint256 fromAmount, bytes32 toCurrencyKey, uint256 toAmount, address toAddress)", + "event TokenStateUpdated(address newTokenState)", + "event Transfer(address indexed from, address indexed to, uint256 value)", + "function CONTRACT_NAME() view returns (bytes32)", + "function DECIMALS() view returns (uint8)", + "function TOKEN_NAME() view returns (string)", + "function TOKEN_SYMBOL() view returns (string)", + "function acceptOwnership()", + "function allowance(address owner, address spender) view returns (uint256)", + "function anySynthOrSNXRateIsInvalid() view returns (bool anyRateInvalid)", + "function approve(address spender, uint256 value) returns (bool)", + "function availableCurrencyKeys() view returns (bytes32[])", + "function availableSynthCount() view returns (uint256)", + "function availableSynths(uint256 index) view returns (address)", + "function balanceOf(address account) view returns (uint256)", + "function burnSecondary(address, uint256)", + "function burnSynths(uint256 amount)", + "function burnSynthsOnBehalf(address burnForAddress, uint256 amount)", + "function burnSynthsToTarget()", + "function burnSynthsToTargetOnBehalf(address burnForAddress)", + "function collateral(address account) view returns (uint256)", + "function collateralisationRatio(address _issuer) view returns (uint256)", + "function debtBalanceOf(address account, bytes32 currencyKey) view returns (uint256)", + "function decimals() view returns (uint8)", + "function emitAtomicSynthExchange(address account, bytes32 fromCurrencyKey, uint256 fromAmount, bytes32 toCurrencyKey, uint256 toAmount, address toAddress)", + "function emitExchangeRebate(address account, bytes32 currencyKey, uint256 amount)", + "function emitExchangeReclaim(address account, bytes32 currencyKey, uint256 amount)", + "function emitExchangeTracking(bytes32 trackingCode, bytes32 toCurrencyKey, uint256 toAmount, uint256 fee)", + "function emitSynthExchange(address account, bytes32 fromCurrencyKey, uint256 fromAmount, bytes32 toCurrencyKey, uint256 toAmount, address toAddress)", + "function exchange(bytes32 sourceCurrencyKey, uint256 sourceAmount, bytes32 destinationCurrencyKey) returns (uint256 amountReceived)", + "function exchangeAtomically(bytes32 sourceCurrencyKey, uint256 sourceAmount, bytes32 destinationCurrencyKey, bytes32 trackingCode, uint256 minAmount) returns (uint256 amountReceived)", + "function exchangeOnBehalf(address exchangeForAddress, bytes32 sourceCurrencyKey, uint256 sourceAmount, bytes32 destinationCurrencyKey) returns (uint256 amountReceived)", + "function exchangeOnBehalfWithTracking(address exchangeForAddress, bytes32 sourceCurrencyKey, uint256 sourceAmount, bytes32 destinationCurrencyKey, address rewardAddress, bytes32 trackingCode) returns (uint256 amountReceived)", + "function exchangeWithTracking(bytes32 sourceCurrencyKey, uint256 sourceAmount, bytes32 destinationCurrencyKey, address rewardAddress, bytes32 trackingCode) returns (uint256 amountReceived)", + "function exchangeWithTrackingForInitiator(bytes32 sourceCurrencyKey, uint256 sourceAmount, bytes32 destinationCurrencyKey, address rewardAddress, bytes32 trackingCode) returns (uint256 amountReceived)", + "function exchangeWithVirtual(bytes32 sourceCurrencyKey, uint256 sourceAmount, bytes32 destinationCurrencyKey, bytes32 trackingCode) returns (uint256 amountReceived, address vSynth)", + "function getFirstNonZeroEscrowIndex(address account) view returns (uint256)", + "function isResolverCached() view returns (bool)", + "function isWaitingPeriod(bytes32 currencyKey) view returns (bool)", + "function issueMaxSynths()", + "function issueMaxSynthsOnBehalf(address issueForAddress)", + "function issueSynths(uint256 amount)", + "function issueSynthsOnBehalf(address issueForAddress, uint256 amount)", + "function liquidateDelinquentAccount(address account) returns (bool)", + "function liquidateDelinquentAccountEscrowIndex(address account, uint256 escrowStartIndex) returns (bool)", + "function liquidateSelf() returns (bool)", + "function maxIssuableSynths(address account) view returns (uint256 maxIssuable)", + "function messageSender() view returns (address)", + "function migrateAccountBalances(address account) returns (uint256 totalEscrowRevoked, uint256 totalLiquidBalance)", + "function migrateEscrowBalanceToRewardEscrowV2()", + "function migrateEscrowContractBalance()", + "function mint() returns (bool)", + "function mintSecondary(address, uint256)", + "function mintSecondaryRewards(uint256)", + "function name() view returns (string)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function proxy() view returns (address)", + "function rebuildCache()", + "function remainingIssuableSynths(address account) view returns (uint256 maxIssuable, uint256 alreadyIssued, uint256 totalSystemDebt)", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function sUSD() view returns (bytes32)", + "function setMessageSender(address sender)", + "function setProxy(address _proxy)", + "function setTokenState(address _tokenState)", + "function settle(bytes32 currencyKey) returns (uint256 reclaimed, uint256 refunded, uint256 numEntriesSettled)", + "function symbol() view returns (string)", + "function synths(bytes32 currencyKey) view returns (address)", + "function synthsByAddress(address synthAddress) view returns (bytes32)", + "function tokenState() view returns (address)", + "function totalIssuedSynths(bytes32 currencyKey) view returns (uint256)", + "function totalIssuedSynthsExcludeOtherCollateral(bytes32 currencyKey) view returns (uint256)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 value) returns (bool)", + "function transferFrom(address from, address to, uint256 value) returns (bool)", + "function transferableSynthetix(address account) view returns (uint256 transferable)" +] \ No newline at end of file diff --git a/11155111-main/cannon.json b/11155111-main/cannon.json index b4ba60da53..bd0ea2c7a3 100644 --- a/11155111-main/cannon.json +++ b/11155111-main/cannon.json @@ -1,6 +1,6 @@ { - "generator": "cannon cli 2.10.7", - "timestamp": 1706205519, + "generator": "cannon cli 2.15.0", + "timestamp": 1718666101, "def": { "setting": { "minimum_liquidity_ratio": { @@ -10,7 +10,7 @@ "defaultValue": "86400" }, "snx_package": { - "defaultValue": "synthetix:3.3.4" + "defaultValue": "synthetix:3.3.15" }, "owner": { "defaultValue": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" @@ -19,7 +19,7 @@ "defaultValue": "main" }, "salt": { - "defaultValue": "snax" + "defaultValue": "snaxtest" }, "bundleSalt": { "defaultValue": "snax" @@ -27,11 +27,58 @@ "deployer": { "defaultValue": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" }, - "eth_aggregator_address": { - "defaultValue": "0x694AA1769357215DE4FAC081bf1f309aDC325306" + "pythWstEthFeedId": { + "defaultValue": "0x6df640f3b8963d8f8358f791f352b8364513f6ab1cca5ed3f1f7b5448980e784" + }, + "pythSusdeFeedId": { + "defaultValue": "0xca3ba9a619a4b3755c10ac7d5e760275aa95e9823d38a84fedd416856cdba37c" + }, + "pythSnxFeedId": { + "defaultValue": "0x39d020f60982ed892abbcd4a06a276a9f9b7bfbce003204c110b6e488f502da3" + }, + "snx_address": { + "defaultValue": "<%= imports.legacyMarket.imports.v2x.contracts.ProxySynthetix.address %>" + }, + "snx_liquidation_reward": {}, + "legacy_market_package": { + "defaultValue": "synthetix-legacy-market:3.3.4" + }, + "spot_market_package": { + "defaultValue": "synthetix-spot-market:3.3.15" + }, + "usde_aggregator_address": { + "defaultValue": "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" + }, + "pythPriceVerificationAddress": {}, + "pythFeedUrl": { + "defaultValue": "https://api.synthetix.io/pyth-mainnet/api/get_vaa_ccip?data={data}" + }, + "settlementReward": { + "defaultValue": "1" + }, + "settlementMinimumUsdExchangeAmount": { + "defaultValue": "0.000001" + }, + "settlementMaxRoundingLoss": { + "defaultValue": "0.000001" + }, + "commitmentPriceDelay": { + "defaultValue": "2" + }, + "bigCapSettlementDelay": { + "defaultValue": "2" }, - "weth_address": { - "defaultValue": "0x7b79995e5f793a07bc00c21412e50ecae098e7f9" + "bigCapSettlementWindowDuration": { + "defaultValue": "60" + }, + "bigCapDefaultStalenessTolerance": { + "defaultValue": "3600" + }, + "bigCapStrictStalenessTolerance": { + "defaultValue": "60" + }, + "spotStrictStalenessTolerance": { + "defaultValue": "60" }, "sc_pool_id": { "defaultValue": "1" @@ -45,23 +92,38 @@ "ccip_token_pool": { "defaultValue": "0x9b65749b38278060c5787cce0391ac7f1094c8e8" }, - "spot_market_package": { - "defaultValue": "synthetix-spot-market:3.3.4" + "susde_package": { + "defaultValue": "usde-token" }, - "perps_market_package": { - "defaultValue": "synthetix-perps-market:3.3.4" + "wsteth_aggregator_address": { + "defaultValue": "0x694AA1769357215DE4FAC081bf1f309aDC325306" + }, + "susde_aggregator_address": { + "defaultValue": "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" + }, + "snx_aggregator_address": { + "defaultValue": "0xc0F82A46033b8BdBA4Bb0B0e28Bc2006F64355bC" }, "weth_liquidation_reward": { "defaultValue": "10000000000000000000" }, - "governance_snapshot_record_package": { - "defaultValue": "synthetix-snapshot-record-mock:3.0.0" + "pdao": { + "defaultValue": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "synthUsdeAsyncFixedFee": { + "defaultValue": "0" + }, + "synthUsdeSkewScale": { + "defaultValue": "0" }, - "governance_package": { - "defaultValue": "synthetix-governance:3.0.3" + "pythUsdeFeedId": { + "defaultValue": "0x6ec879b1e9963de5ee97e9c8710b742d6228252a5e2ca12d4ae81d7fe5ee8c5d" }, - "governance_salt": { - "defaultValue": "synthetix-council" + "pyth_price_verification_address": { + "defaultValue": "0xDd24F84d36BF92C65F92307595335bdFab5Bbd21" + }, + "synth_usde_max_market_collateral": { + "defaultValue": "<%= parseEther('100000000') %>" } }, "invoke": { @@ -75,9 +137,6 @@ "func": "setMinLiquidityRatio(uint256)", "args": [ "<%= settings.minimum_liquidity_ratio %>" - ], - "depends": [ - "provision.system" ] }, "setAccountTimeoutWithdraw": { @@ -93,15 +152,13 @@ "<%= hexZeroPad(hexlify(parseInt(settings.account_timeout_withdraw)), 32) %>" ], "depends": [ - "provision.system" + "provision.system", + "setting.account_timeout_withdraw" ] }, "setSupportedCrossChainNetworks": { "target": [ - "ambassador_council.CoreProxy", - "grants_council.CoreProxy", - "spartan_council.CoreProxy", - "treasury_council.CoreProxy" + "system.CoreProxy" ], "fromCall": { "func": "owner" @@ -110,21 +167,18 @@ "args": [ [ "11155111", + "420", + "421613", "80001", "84531" ], [ "16015286601757825753", + "2664363617261496610", + "6101244977088475029", "12532609583862916517", "5790810961207155433" ] - ], - "depends": [ - "provision.ambassador_council", - "provision.grants_council", - "provision.spartan_council", - "provision.system", - "provision.treasury_council" ] }, "permitCreatePool": { @@ -138,232 +192,591 @@ "args": [ "<%= formatBytes32String('createPool') %>", "<%= settings.deployer %>" + ] + }, + "registerPythWstEthOracleNode": { + "target": [ + "system.oracle_manager.Proxy" ], + "func": "registerNode", + "args": [ + 5, + "<%= defaultAbiCoder.encode(['address', 'bytes32', 'bool'], [settings.pyth_price_verification_address, settings.pythWstEthFeedId, false]) %>", + [] + ], + "extra": { + "wsteth_pyth_oracle_id": { + "event": "NodeRegistered", + "arg": 0 + } + }, "depends": [ - "provision.system" + "provision.system", + "setting.pythWstEthFeedId", + "setting.pyth_price_verification_address" ] }, - "registerEthOracleNode": { + "registerLookupWstEthOracleNode": { "target": [ "system.oracle_manager.Proxy" ], "func": "registerNode", "args": [ - 3, - "<%= defaultAbiCoder.encode(['address', 'uint256', 'uint8'], [settings.eth_aggregator_address, 0, 8]) %>", + 9, + "<%= defaultAbiCoder.encode(['address', 'bytes32', 'uint256'], [imports.pyth_erc7412_wrapper.contracts.PythERC7412Wrapper.address, settings.pythWstEthFeedId, settings.bigCapDefaultStalenessTolerance]) %>", [] ], "extra": { - "eth_oracle_id": { + "wsteth_lookup_oracle_id": { "event": "NodeRegistered", "arg": 0 } }, "depends": [ - "provision.system" + "provision.pyth_erc7412_wrapper", + "provision.system", + "setting.bigCapDefaultStalenessTolerance", + "setting.pythWstEthFeedId" ] }, - "configureWethCollateral": { + "registerWstEthOracleNode": { "target": [ - "system.CoreProxy" + "system.oracle_manager.Proxy" ], - "fromCall": { - "func": "owner" - }, - "func": "configureCollateral", + "func": "registerNode", "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 + 7, + "<%= defaultAbiCoder.encode(['uint256'], [settings.bigCapDefaultStalenessTolerance]) %>", + [ + "<%= extras.wsteth_pyth_oracle_id %>", + "<%= extras.wsteth_lookup_oracle_id %>" + ] + ], + "extra": { + "wsteth_oracle_id": { + "event": "NodeRegistered", + "arg": 0 } + } + }, + "registerPythSusdeOracleNode": { + "target": [ + "system.oracle_manager.Proxy" + ], + "func": "registerNode", + "args": [ + 5, + "<%= defaultAbiCoder.encode(['address', 'bytes32', 'bool'], [settings.pyth_price_verification_address, settings.pythSusdeFeedId, false]) %>", + [] ], + "extra": { + "susde_pyth_oracle_id": { + "event": "NodeRegistered", + "arg": 0 + } + }, "depends": [ - "invoke.registerEthOracleNode", - "provision.system" + "provision.system", + "setting.pythSusdeFeedId", + "setting.pyth_price_verification_address" ] }, - "createScPool": { + "registerLookupSusdeOracleNode": { "target": [ - "system.CoreProxy" + "system.oracle_manager.Proxy" ], - "from": "<%= settings.deployer %>", - "func": "createPool", + "func": "registerNode", "args": [ - "<%= settings.sc_pool_id %>", - "<%= settings.pool_owner %>" + 9, + "<%= defaultAbiCoder.encode(['address', 'bytes32', 'uint256'], [imports.pyth_erc7412_wrapper.contracts.PythERC7412Wrapper.address, settings.pythSusdeFeedId, settings.bigCapDefaultStalenessTolerance]) %>", + [] ], + "extra": { + "susde_lookup_oracle_id": { + "event": "NodeRegistered", + "arg": 0 + } + }, "depends": [ - "invoke.permitCreatePool", - "provision.system" + "provision.pyth_erc7412_wrapper", + "provision.system", + "setting.bigCapDefaultStalenessTolerance", + "setting.pythSusdeFeedId" ] }, - "setScPoolName": { + "registerSusdeOracleNode": { "target": [ - "system.CoreProxy" + "system.oracle_manager.Proxy" ], - "fromCall": { - "func": "getPoolOwner", - "args": [ - "<%= settings.sc_pool_id %>" + "func": "registerNode", + "args": [ + 7, + "<%= defaultAbiCoder.encode(['uint256'], [settings.bigCapDefaultStalenessTolerance]) %>", + [ + "<%= extras.susde_pyth_oracle_id %>", + "<%= extras.susde_lookup_oracle_id %>" ] - }, - "func": "setPoolName", + ], + "extra": { + "susde_oracle_id": { + "event": "NodeRegistered", + "arg": 0 + } + } + }, + "registerPythSnxOracleNode": { + "target": [ + "system.oracle_manager.Proxy" + ], + "func": "registerNode", "args": [ - "<%= settings.sc_pool_id %>", - "Spartan Council Pool" + 5, + "<%= defaultAbiCoder.encode(['address', 'bytes32', 'bool'], [settings.pyth_price_verification_address, settings.pythSnxFeedId, false]) %>", + [] ], + "extra": { + "snx_pyth_oracle_id": { + "event": "NodeRegistered", + "arg": 0 + } + }, "depends": [ - "invoke.createScPool", - "provision.system" + "provision.system", + "setting.pythSnxFeedId", + "setting.pyth_price_verification_address" ] }, - "setPreferredPool": { + "registerLookupSnxOracleNode": { "target": [ - "system.CoreProxy" + "system.oracle_manager.Proxy" ], - "fromCall": { - "func": "owner" - }, - "func": "setPreferredPool", + "func": "registerNode", "args": [ - "<%= settings.sc_pool_id %>" + 9, + "<%= defaultAbiCoder.encode(['address', 'bytes32', 'uint256'], [imports.pyth_erc7412_wrapper.contracts.PythERC7412Wrapper.address, settings.pythSnxFeedId, settings.bigCapDefaultStalenessTolerance]) %>", + [] ], + "extra": { + "snx_lookup_oracle_id": { + "event": "NodeRegistered", + "arg": 0 + } + }, "depends": [ - "invoke.createScPool", - "provision.system" + "provision.pyth_erc7412_wrapper", + "provision.system", + "setting.bigCapDefaultStalenessTolerance", + "setting.pythSnxFeedId" ] }, - "allowAllCreatePool": { + "registerSnxOracleNode": { + "target": [ + "system.oracle_manager.Proxy" + ], + "func": "registerNode", + "args": [ + 7, + "<%= defaultAbiCoder.encode(['uint256'], [settings.bigCapDefaultStalenessTolerance]) %>", + [ + "<%= extras.snx_pyth_oracle_id %>", + "<%= extras.snx_lookup_oracle_id %>" + ] + ], + "extra": { + "snx_oracle_id": { + "event": "NodeRegistered", + "arg": 0 + } + } + }, + "configureWstethCollateral": { "target": [ "system.CoreProxy" ], "fromCall": { "func": "owner" }, - "func": "setFeatureFlagAllowAll", + "func": "configureCollateral", "args": [ - "<%= formatBytes32String('createPool') %>", - true - ], - "depends": [ - "provision.system" + { + "tokenAddress": "<%= imports.wsteth.contracts.Token.address %>", + "oracleNodeId": "<%= extras.wsteth_oracle_id %>", + "issuanceRatioD18": "<%= parseEther('1.5') %>", + "liquidationRatioD18": "<%= parseEther('1.1') %>", + "liquidationRewardD18": "<%= parseEther('0.01') %>", + "minDelegationD18": "<%= parseEther('0.01') %>", + "depositingEnabled": true + } ] }, - "allowAllRegisterMarket": { + "configureSusdeCollateral": { "target": [ "system.CoreProxy" ], "fromCall": { "func": "owner" }, - "func": "setFeatureFlagAllowAll", + "func": "configureCollateral", "args": [ - "<%= formatBytes32String('registerMarket') %>", - true - ], - "depends": [ - "provision.system" + { + "tokenAddress": "<%= imports.susde.contracts.Token.address %>", + "oracleNodeId": "<%= extras.susde_oracle_id %>", + "issuanceRatioD18": "<%= parseEther('1.1') %>", + "liquidationRatioD18": "<%= parseEther('1.01') %>", + "liquidationRewardD18": "<%= parseEther('1') %>", + "minDelegationD18": "<%= parseEther('1') %>", + "depositingEnabled": true + } ] }, - "configureChainlinkCrossChain": { + "configureSnxCollateral": { "target": [ "system.CoreProxy" ], "fromCall": { "func": "owner" }, - "func": "configureChainlinkCrossChain", + "func": "configureCollateral", "args": [ - "<%= settings.ccip_router %>", - "<%= settings.ccip_token_pool %>" - ], - "depends": [ - "provision.system" + { + "tokenAddress": "<%= settings.snx_address %>", + "oracleNodeId": "<%= extras.snx_oracle_id %>", + "issuanceRatioD18": "<%= parseEther('4') %>", + "liquidationRatioD18": "<%= parseEther('1.5') %>", + "liquidationRewardD18": "<%= settings.snx_liquidation_reward %>", + "minDelegationD18": "<%= settings.snx_liquidation_reward %>", + "depositingEnabled": true + } ] }, - "allowAllTransferCrossChain": { + "registerRewardsDistributor": { "target": [ "system.CoreProxy" ], + "func": "registerRewardsDistributor", + "args": [ + "<%= settings.sc_pool_id %>", + "<%= imports.legacyMarket.imports.v2x.contracts.ProxySynthetix.address %>", + "<%= imports.legacyMarket.contracts.SNXDistributor.address %>" + ], "fromCall": { "func": "owner" }, - "func": "setFeatureFlagAllowAll", + "depends": [ + "invoke.createScPool" + ] + }, + "register_usde_oracle_node": { + "target": [ + "system.oracle_manager.Proxy" + ], + "func": "registerNode", "args": [ - "<%= formatBytes32String('transferCrossChain') %>", - true + 3, + "<%= defaultAbiCoder.encode(['address', 'uint256', 'uint8'], [settings.usde_aggregator_address, 0, 8]) %>", + [] ], + "extra": { + "usde_oracle_id": { + "event": "NodeRegistered", + "arg": 0 + } + }, "depends": [ - "provision.system" + "provision.system", + "setting.usde_aggregator_address" ] }, - "ambassador_council_setSnapshotContract": { + "createUsdeSynth": { "target": [ - "ambassador_council.CoreProxy" + "spotFactory.SpotMarketProxy" ], "fromCall": { "func": "owner" }, - "func": "setSnapshotContract", + "func": "createSynth", "args": [ - "<%= imports.snapshot_record_mock.contracts.SnapshotRecordMock.address %>", - true - ] + "Synthetic Ethena USD", + "snxUSDe", + "<%= settings.owner %>" + ], + "extra": { + "synth_usde_market_id": { + "event": "SynthRegistered", + "arg": 0 + }, + "synth_usde_token_address": { + "event": "SynthRegistered", + "arg": 1 + } + } }, - "grants_council_setSnapshotContract": { + "setSynthPriceUsde": { "target": [ - "grants_council.CoreProxy" + "spotFactory.SpotMarketProxy" ], "fromCall": { - "func": "owner" + "func": "getMarketOwner", + "args": [ + "<%= extras.synth_usde_market_id %>" + ] }, - "func": "setSnapshotContract", + "func": "updatePriceData", "args": [ - "<%= imports.snapshot_record_mock.contracts.SnapshotRecordMock.address %>", - true + "<%= extras.synth_usde_market_id %>", + "<%= extras.usde_oracle_id %>", + "<%= extras.usde_oracle_id %>", + "<%= settings.spotStrictStalenessTolerance %>" ] }, - "spartan_council_setSnapshotContract": { + "addSpotUsdeSettlementStrategy": { "target": [ - "spartan_council.CoreProxy" + "spotFactory.SpotMarketProxy" ], "fromCall": { "func": "owner" }, - "func": "setSnapshotContract", + "func": "addSettlementStrategy", "args": [ - "<%= imports.snapshot_record_mock.contracts.SnapshotRecordMock.address %>", - true - ] + "<%= settings.synth_usde_market_id %>", + { + "strategyType": "0", + "settlementDelay": "0", + "settlementWindowDuration": "60", + "priceVerificationContract": "0x0000000000000000000000000000000000000000", + "feedId": "0x6ec879b1e9963de5ee97e9c8710b742d6228252a5e2ca12d4ae81d7fe5ee8c5d", + "url": "", + "settlementReward": 0, + "minimumUsdExchangeAmount": "0", + "maxRoundingLoss": "0", + "priceDeviationTolerance": "0", + "disabled": true + } + ], + "extra": { + "usde_pyth_settlement_strategy": { + "event": "SettlementStrategyAdded", + "arg": 2 + } + } }, - "treasury_council_setSnapshotContract": { + "setSynthSettlementStrategyUsde": { "target": [ - "treasury_council.CoreProxy" + "spotFactory.SpotMarketProxy" ], "fromCall": { - "func": "owner" + "func": "getMarketOwner", + "args": [ + "<%= extras.synth_usde_market_id %>" + ] }, - "func": "setSnapshotContract", + "func": "setSettlementStrategy", "args": [ - "<%= imports.snapshot_record_mock.contracts.SnapshotRecordMock.address %>", - true + "<%= extras.synth_usde_market_id %>", + "<%= settings.usde_pyth_settlement_strategy %>", + { + "strategyType": "1", + "settlementDelay": "<%= settings.bigCapSettlementDelay %>", + "settlementWindowDuration": "<%= settings.bigCapSettlementWindowDuration %>", + "priceVerificationContract": "<%= settings.pyth_price_verification_address %>", + "feedId": "<%= settings.pythUsdeFeedId %>", + "url": "<%= settings.pythFeedUrl %>", + "settlementReward": 0, + "minimumUsdExchangeAmount": "<%= parseEther(settings.settlementMinimumUsdExchangeAmount) %>", + "maxRoundingLoss": "<%= parseEther(settings.settlementMaxRoundingLoss) %>", + "priceDeviationTolerance": "<%= parseEther('1') %>", + "disabled": false + } + ], + "depends": [ + "setting.settlementMaxRoundingLoss", + "setting.settlementMinimumUsdExchangeAmount" ] }, - "unapprove_wrongfully_deployed_snx_pool": { + "setSynthAsyncFixedFeeUsde": { "target": [ - "system.CoreProxy" + "spotFactory.SpotMarketProxy" ], "fromCall": { - "func": "owner" + "func": "getMarketOwner", + "args": [ + "<%= extras.synth_usde_market_id %>" + ] + }, + "func": "setAsyncFixedFee", + "args": [ + "<%= extras.synth_usde_market_id %>", + "<%= parseEther(settings.synthUsdeAsyncFixedFee) %>" + ], + "depends": [ + "invoke.createUsdeSynth", + "provision.spotFactory", + "setting.synthUsdeAsyncFixedFee" + ] + }, + "setSynthSkewScaleUsde": { + "target": [ + "spotFactory.SpotMarketProxy" + ], + "fromCall": { + "func": "getMarketOwner", + "args": [ + "<%= extras.synth_usde_market_id %>" + ] + }, + "func": "setMarketSkewScale", + "args": [ + "<%= extras.synth_usde_market_id %>", + "<%= parseEther(settings.synthUsdeSkewScale) %>" + ], + "depends": [ + "invoke.createUsdeSynth", + "provision.spotFactory", + "setting.synthUsdeSkewScale" + ] + }, + "createScPool": { + "target": [ + "system.CoreProxy" + ], + "from": "<%= settings.deployer %>", + "func": "createPool", + "args": [ + "<%= settings.sc_pool_id %>", + "<%= settings.pool_owner %>" + ], + "depends": [ + "invoke.permitCreatePool" + ] + }, + "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" + ] + }, + "setPreferredPool": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setPreferredPool", + "args": [ + "<%= settings.sc_pool_id %>" + ], + "depends": [ + "invoke.createScPool" + ] + }, + "allowAllCreatePool": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setFeatureFlagAllowAll", + "args": [ + "<%= formatBytes32String('createPool') %>", + true + ] + }, + "allowAllRegisterMarket": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setFeatureFlagAllowAll", + "args": [ + "<%= formatBytes32String('registerMarket') %>", + true + ] + }, + "configureChainlinkCrossChain": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "configureChainlinkCrossChain", + "args": [ + "<%= settings.ccip_router %>", + "<%= settings.ccip_token_pool %>" + ] + }, + "allowAllTransferCrossChain": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "owner" + }, + "func": "setFeatureFlagAllowAll", + "args": [ + "<%= formatBytes32String('transferCrossChain') %>", + true + ] + }, + "SpotMarketProxy_setWrapper_usde": { + "target": [ + "spotFactory.SpotMarketProxy" + ], + "fromCall": { + "func": "getMarketOwner", + "args": [ + "<%= extras.synth_usde_market_id %>" + ] + }, + "func": "setWrapper", + "args": [ + "<%= extras.synth_usde_market_id %>", + "<%= imports.usde.contracts.Token.address %>", + "<%= settings.synth_usde_max_market_collateral %>" + ] + }, + "setScPoolConfig": { + "target": [ + "system.CoreProxy" + ], + "fromCall": { + "func": "getPoolOwner", + "args": [ + "<%= settings.sc_pool_id %>" + ] }, - "func": "removeApprovedPool", + "func": "setPoolConfiguration", "args": [ - "2" + "<%= settings.sc_pool_id %>", + [ + { + "marketId": "<%= imports.legacyMarket.settings.marketId %>", + "weightD18": 99, + "maxDebtShareValueD18": "<%= parseEther('1') %>" + }, + { + "marketId": "<%= settings.synth_usde_market_id %>", + "weightD18": 1, + "maxDebtShareValueD18": "<%= parseEther('1') %>" + } + ] ] } }, @@ -377,232 +790,786 @@ "bundleSalt": "<%= settings.bundleSalt %>" } }, - "ambassador_council": { - "source": "<%= settings.governance_package %>", - "options": { - "salt": "<%= settings.governance_salt %>-ambassador", - "owner": "<%= settings.owner %>", - "initial_council_member": "<%= settings.owner %>", - "council_token_name": "Synthetix Ambassador Council Token", - "council_token_symbol": "SNXAMB" - } - }, - "grants_council": { - "source": "<%= settings.governance_package %>", + "legacyMarket": { + "source": "<%= settings.legacy_market_package %>", + "targetPreset": "<%= settings.target_preset %>", "options": { - "salt": "<%= settings.governance_salt %>-grants", - "owner": "<%= settings.owner %>", - "initial_council_member": "<%= settings.owner %>", - "council_token_name": "Synthetix Grants Council Token", - "council_token_symbol": "SNXGRT" - } + "owner": "<%= settings.pdao %>", + "pool_owner": "<%= settings.pdao %>", + "v2x_package": "synthetix:2.101.2", + "v3_package": "<%= settings.snx_package %>", + "salt": "<%= settings.salt %>", + "synthetixPackage": "<%= settings.snx_package %>@<%= settings.target_preset %>", + "synthetixPreset": "<%= settings.target_preset %>" + }, + "depends": [ + "provision.system" + ] }, - "spartan_council": { - "source": "<%= settings.governance_package %>", + "spotFactory": { + "source": "<%= settings.spot_market_package %>", + "targetPreset": "<%= settings.target_preset %>", "options": { - "salt": "<%= settings.governance_salt %>-spartan", + "coreProxyOwner": "<%= settings.owner %>", "owner": "<%= settings.owner %>", - "initial_council_member": "<%= settings.owner %>", - "council_token_name": "Synthetix Spartan Council Token", - "council_token_symbol": "SNXSPR" - } + "salt": "<%= settings.salt %>", + "synthetixPackage": "<%= settings.snx_package %>@<%= settings.target_preset %>", + "synthetixPreset": "<%= settings.target_preset %>" + }, + "depends": [ + "provision.system" + ] }, - "treasury_council": { - "source": "<%= settings.governance_package %>", + "pyth_erc7412_wrapper": { + "source": "pyth-erc7412-wrapper:3.3.15", + "targetPreset": "<%= settings.target_preset %>", "options": { - "salt": "<%= settings.governance_salt %>-treasury", - "owner": "<%= settings.owner %>", - "initial_council_member": "<%= settings.owner %>", - "council_token_name": "Synthetix Treasury Council Token", - "council_token_symbol": "SNXTRY" + "salt": "<%= settings.salt %>", + "pythAddress": "<%= settings.pyth_price_verification_address %>" } + } + }, + "pull": { + "wsteth": { + "source": "wsteth-token" }, - "snapshot_record_mock": { - "source": "<%= settings.governance_snapshot_record_package %>" + "susde": { + "source": "<%= settings.susde_package %>" } }, "name": "synthetix-omnibus", - "version": "3.3.4-3", - "description": "Includes the full synthetix system with configurations applied" + "version": "1", + "description": "Includes the full synthetix system with configurations applied", + "import": { + "usde": { + "source": "usde-token" + } + } }, "state": { - "provision.system": { + "import.usde": { "artifacts": { "imports": { - "system": { - "url": "ipfs://QmYQs6jFSeT49MjmRotSdyfWS7RSh6Q4FRT4s3xxuEqqQp", - "tags": [ - "latest" - ], - "preset": "main", + "usde": { + "url": "ipfs://QmXF2CaadkuYoXJbUGYpmqBrtCwCZZq1Yx3hn8bef5rpWe", "contracts": { - "AccountModule": { - "address": "0x2f743C5eCAA0431c0ebF815960B55aa75831d6AC", - "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": "0xcc97ef480a0b5a4488b8bacd7bf9cc3dc7346d282df4afa0f9f09ff2e2648e32", - "sourceName": "contracts/modules/core/AccountModule.sol", - "contractName": "AccountModule", - "deployedOn": "contract.AccountModule" - }, - "AccountTokenModule": { - "address": "0x019208ef8ec17473bFaa88FA7935145C4958F365", + "Token": { + "address": "0x9458caaca74249abbe9e964b3ce155b98ec88ef2", "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)", + "constructor(address owner, string name, string symbol, uint8 tokenDecimals, uint256 initialSupply) payable", + "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 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 owner() view returns (address)", + "function renounceOwnership()", "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)" + "function transfer(address to, uint256 amount) returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)", + "function transferOwnership(address newOwner)", + "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)" + ], + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "Token", + "TKN", + "18", + "0" ], - "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0x41a8be3b7ca121a31c8931cc45cf3f34603d442c69ec082fe6c20578a981a4d0", - "sourceName": "contracts/modules/account/AccountTokenModule.sol", - "contractName": "AccountTokenModule", - "deployedOn": "contract.AccountTokenModule" - }, - "AssociateDebtModule": { - "address": "0x66cA806b42F9501f633625f2dC5a8020c427Ac80", - "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": "0x8ecf71784668b95dffe6f62f356ed5c867fd7971beca22fc45c0d4975763250c", - "sourceName": "contracts/modules/core/AssociateDebtModule.sol", - "contractName": "AssociateDebtModule", - "deployedOn": "contract.AssociateDebtModule" - }, - "AssociatedSystemsModule": { - "address": "0xCFcA0f42a24Ba15ac9240c7BE013f10e4C24B2FC", + "deployTxnHash": "0x7532dfc16990f45321be00ee08f8eb3ed22e8910738163bb731b9ebdf85d12fd", + "sourceName": "src/EthenaUSD.sol", + "contractName": "EthenaUSD", + "bytecode": "", + "source": { + "solcVersion": "string", + "input": "" + }, + "deployedOn": "deploy.Token", + "highlight": true, + "gasUsed": 774713, + "gasCost": "1000000000" + } + } + } + } + }, + "hash": "d478e8dcded82070032d990699323aed", + "version": 7 + }, + "pull.wsteth": { + "artifacts": { + "imports": { + "wsteth": { + "url": "ipfs://QmcypCvs7sTszkCY13gSqxAMAXeEfnDXCv9E3NKG7NBWDk", + "contracts": { + "Token": { + "address": "0xb82381a3fbd3fafa77b3a7be693342618240067b", "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)" + "constructor(address owner, string name, string symbol, uint8 tokenDecimals, uint256 initialSupply) payable", + "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)", + "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)" ], - "constructorArgs": [], - "linkedLibraries": {}, - "deployTxnHash": "0x0de2d7b8687e37f0ad954a330145f9f74c856605db440753cad02f467612c77e", - "sourceName": "contracts/modules/associated-systems/AssociatedSystemsModule.sol", - "contractName": "AssociatedSystemsModule", - "deployedOn": "contract.AssociatedSystemsModule" - }, - "CcipReceiverModule": { - "address": "0x7088cE8Ce34A1c807a006aba4C8674EecAbe3a5a", - "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": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "Token", + "TKN", + "18", + "0" ], - "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0x6e5a5a46c6fc2736850e782acfaa2a6f0af334e6d7db1337954d84a9aa6bbbdf", - "sourceName": "contracts/modules/core/CcipReceiverModule.sol", - "contractName": "CcipReceiverModule", - "deployedOn": "contract.CcipReceiverModule" - }, - "CollateralConfigurationModule": { - "address": "0x20edf0D7AB02fBAD3dF63140f569ce382c8f2b45", + "deployTxnHash": "0x7532dfc16990f45321be00ee08f8eb3ed22e8910738163bb731b9ebdf85d12fd", + "sourceName": "src/WrappedLiquidStakedEther.sol", + "contractName": "WrappedLiquidStakedEther", + "bytecode": "", + "source": { + "solcVersion": "string", + "input": "" + }, + "deployedOn": "deploy.Token", + "highlight": true, + "gasUsed": 774713, + "gasCost": "1000000000" + } + } + } + } + }, + "hash": "4f8948f141fe6c86085aa83d3c46a580", + "version": 7 + }, + "setting.account_timeout_withdraw": { + "artifacts": { + "settings": { + "account_timeout_withdraw": "86400" + } + }, + "hash": "3acf2387dde14e993634ca9badf5f564", + "version": 7 + }, + "setting.bigCapDefaultStalenessTolerance": { + "artifacts": { + "settings": { + "bigCapDefaultStalenessTolerance": "3600" + } + }, + "hash": "cbe1a4d89aef65379151a3c5b905bd85", + "version": 7 + }, + "setting.bigCapSettlementDelay": { + "artifacts": { + "settings": { + "bigCapSettlementDelay": "2" + } + }, + "hash": "dc88d99e217842b1532ccb97f443b6c1", + "version": 7 + }, + "setting.bigCapSettlementWindowDuration": { + "artifacts": { + "settings": { + "bigCapSettlementWindowDuration": "60" + } + }, + "hash": "c85e06d9961059219500923347f33fea", + "version": 7 + }, + "setting.bigCapStrictStalenessTolerance": { + "artifacts": { + "settings": { + "bigCapStrictStalenessTolerance": "60" + } + }, + "hash": "c85e06d9961059219500923347f33fea", + "version": 7 + }, + "setting.bundleSalt": { + "artifacts": { + "settings": { + "bundleSalt": "snax" + } + }, + "hash": "1ce8073982f8b8f0b4fa5c488c1fac79", + "version": 7 + }, + "setting.ccip_router": { + "artifacts": { + "settings": { + "ccip_router": "0xd0daae2231e9cb96b94c8512223533293c3693bf" + } + }, + "hash": "2fcc13b67af7d8d1f63bc733ab2093a3", + "version": 7 + }, + "setting.ccip_token_pool": { + "artifacts": { + "settings": { + "ccip_token_pool": "0x9b65749b38278060c5787cce0391ac7f1094c8e8" + } + }, + "hash": "9a7177a0d525a9e20f249329c0eba81c", + "version": 7 + }, + "setting.commitmentPriceDelay": { + "artifacts": { + "settings": { + "commitmentPriceDelay": "2" + } + }, + "hash": "dc88d99e217842b1532ccb97f443b6c1", + "version": 7 + }, + "setting.deployer": { + "artifacts": { + "settings": { + "deployer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + } + }, + "hash": "3f34e398af2b36b5093aa17a4fca6630", + "version": 7 + }, + "setting.legacy_market_package": { + "artifacts": { + "settings": { + "legacy_market_package": "synthetix-legacy-market:3.3.4" + } + }, + "hash": "ec629f6653e15f50f35fc311e767aebb", + "version": 7 + }, + "setting.minimum_liquidity_ratio": { + "artifacts": { + "settings": { + "minimum_liquidity_ratio": "2000000000000000000" + } + }, + "hash": "09553939422a81e0204384bf690274c4", + "version": 7 + }, + "setting.owner": { + "artifacts": { + "settings": { + "owner": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + } + }, + "hash": "3f34e398af2b36b5093aa17a4fca6630", + "version": 7 + }, + "setting.pdao": { + "artifacts": { + "settings": { + "pdao": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + } + }, + "hash": "3f34e398af2b36b5093aa17a4fca6630", + "version": 7 + }, + "setting.pool_owner": { + "artifacts": { + "settings": { + "pool_owner": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + } + }, + "hash": "3f34e398af2b36b5093aa17a4fca6630", + "version": 7 + }, + "setting.pythFeedUrl": { + "artifacts": { + "settings": { + "pythFeedUrl": "https://api.synthetix.io/pyth-mainnet/api/get_vaa_ccip?data={data}" + } + }, + "hash": "058ec3941064e4dab0718029527ec1c6", + "version": 7 + }, + "setting.pythPriceVerificationAddress": { + "artifacts": { + "settings": { + "pythPriceVerificationAddress": "" + } + }, + "hash": "99914b932bd37a50b983c5e7c90ae93b", + "version": 7 + }, + "setting.pythSnxFeedId": { + "artifacts": { + "settings": { + "pythSnxFeedId": "0x39d020f60982ed892abbcd4a06a276a9f9b7bfbce003204c110b6e488f502da3" + } + }, + "hash": "17469af564340e6ed8cd0790eedf9dcb", + "version": 7 + }, + "setting.pythSusdeFeedId": { + "artifacts": { + "settings": { + "pythSusdeFeedId": "0xca3ba9a619a4b3755c10ac7d5e760275aa95e9823d38a84fedd416856cdba37c" + } + }, + "hash": "ea5e0a00569c0ff4dd9f3087eac4781f", + "version": 7 + }, + "setting.pythUsdeFeedId": { + "artifacts": { + "settings": { + "pythUsdeFeedId": "0x6ec879b1e9963de5ee97e9c8710b742d6228252a5e2ca12d4ae81d7fe5ee8c5d" + } + }, + "hash": "9c72575519d4fc3e44b0cb2e20f30e20", + "version": 7 + }, + "setting.pythWstEthFeedId": { + "artifacts": { + "settings": { + "pythWstEthFeedId": "0x6df640f3b8963d8f8358f791f352b8364513f6ab1cca5ed3f1f7b5448980e784" + } + }, + "hash": "cb4086c85a963842f252d7a743cef1d1", + "version": 7 + }, + "setting.pyth_price_verification_address": { + "artifacts": { + "settings": { + "pyth_price_verification_address": "0xDd24F84d36BF92C65F92307595335bdFab5Bbd21" + } + }, + "hash": "28339a056dfd235faf11c34658c84cd9", + "version": 7 + }, + "setting.salt": { + "artifacts": { + "settings": { + "salt": "snaxtest" + } + }, + "hash": "c7900b6dff9927358ab1d2ff006c6199", + "version": 7 + }, + "setting.sc_pool_id": { + "artifacts": { + "settings": { + "sc_pool_id": "1" + } + }, + "hash": "5f6fb867a611e73895d85f93fc6f7baa", + "version": 7 + }, + "setting.settlementMaxRoundingLoss": { + "artifacts": { + "settings": { + "settlementMaxRoundingLoss": "0.000001" + } + }, + "hash": "345d1577ca60402d0a0632b8eec80f43", + "version": 7 + }, + "setting.settlementMinimumUsdExchangeAmount": { + "artifacts": { + "settings": { + "settlementMinimumUsdExchangeAmount": "0.000001" + } + }, + "hash": "345d1577ca60402d0a0632b8eec80f43", + "version": 7 + }, + "setting.settlementReward": { + "artifacts": { + "settings": { + "settlementReward": "1" + } + }, + "hash": "5f6fb867a611e73895d85f93fc6f7baa", + "version": 7 + }, + "setting.snx_aggregator_address": { + "artifacts": { + "settings": { + "snx_aggregator_address": "0xc0F82A46033b8BdBA4Bb0B0e28Bc2006F64355bC" + } + }, + "hash": "5b820a04f19805235fd4d772ea52c1e2", + "version": 7 + }, + "setting.snx_liquidation_reward": { + "artifacts": { + "settings": { + "snx_liquidation_reward": "" + } + }, + "hash": "99914b932bd37a50b983c5e7c90ae93b", + "version": 7 + }, + "setting.snx_package": { + "artifacts": { + "settings": { + "snx_package": "synthetix:3.3.15" + } + }, + "hash": "b118cc3e52d9bab282321e8293b17a1f", + "version": 7 + }, + "setting.spotStrictStalenessTolerance": { + "artifacts": { + "settings": { + "spotStrictStalenessTolerance": "60" + } + }, + "hash": "c85e06d9961059219500923347f33fea", + "version": 7 + }, + "setting.spot_market_package": { + "artifacts": { + "settings": { + "spot_market_package": "synthetix-spot-market:3.3.15" + } + }, + "hash": "d8987ab98144a375af937e0df8cbcca5", + "version": 7 + }, + "setting.susde_aggregator_address": { + "artifacts": { + "settings": { + "susde_aggregator_address": "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" + } + }, + "hash": "801b841dec67c490f4b413b9fc34f66c", + "version": 7 + }, + "setting.susde_package": { + "artifacts": { + "settings": { + "susde_package": "usde-token" + } + }, + "hash": "9125a57e3a591d41731916b52bcb4d0f", + "version": 7 + }, + "setting.synthUsdeAsyncFixedFee": { + "artifacts": { + "settings": { + "synthUsdeAsyncFixedFee": "0" + } + }, + "hash": "4dcc24a97eaa6583aab6a5b0cb07d27e", + "version": 7 + }, + "setting.synthUsdeSkewScale": { + "artifacts": { + "settings": { + "synthUsdeSkewScale": "0" + } + }, + "hash": "4dcc24a97eaa6583aab6a5b0cb07d27e", + "version": 7 + }, + "setting.synth_usde_max_market_collateral": { + "artifacts": { + "settings": { + "synth_usde_max_market_collateral": "100000000000000000000000000" + } + }, + "hash": "42ab02ae7f916e6ed59461f615370985", + "version": 7 + }, + "setting.target_preset": { + "artifacts": { + "settings": { + "target_preset": "main" + } + }, + "hash": "79d2862416f9389ec7270a618c6ce1b3", + "version": 7 + }, + "setting.usde_aggregator_address": { + "artifacts": { + "settings": { + "usde_aggregator_address": "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" + } + }, + "hash": "801b841dec67c490f4b413b9fc34f66c", + "version": 7 + }, + "setting.weth_liquidation_reward": { + "artifacts": { + "settings": { + "weth_liquidation_reward": "10000000000000000000" + } + }, + "hash": "a2f32c5aee3e6b3d3f034554cca7a559", + "version": 7 + }, + "setting.wsteth_aggregator_address": { + "artifacts": { + "settings": { + "wsteth_aggregator_address": "0x694AA1769357215DE4FAC081bf1f309aDC325306" + } + }, + "hash": "5eaa6a71bc2d18c908f16da778e043d8", + "version": 7 + }, + "provision.pyth_erc7412_wrapper": { + "artifacts": { + "imports": { + "pyth_erc7412_wrapper": { + "url": "ipfs://QmUmxoFqS1Kexr5ozGofi9LGHPEb9auref7Fyf1h7qPQCv", + "tags": [ + "latest" + ], + "target": "pyth-erc7412-wrapper:3.3.15@main", + "preset": "main", + "settings": { + "pythAddress": "0x420000000000000000000000000000000000000F" + }, + "contracts": { + "PythERC7412Wrapper": { + "address": "0x83Ae08221416e1f5Cd848a5911988A184110AFD9", "abi": [ - "error InvalidParameter(string parameter, string reason)", + "constructor(address _pythAddress)", + "error FeeRequired(uint256 amount)", + "error NotSupported(uint8 updateType)", + "error OracleDataRequired(address oracleContract, bytes oracleQuery)", "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)" + "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": [ + "0xDd24F84d36BF92C65F92307595335bdFab5Bbd21" ], - "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0xa71d2ef68b047244d4e780b698fdb373bc5410a83f409030ad499247ca9c8649", + "deployTxnHash": "0x79ccf3fd8140f2af408ed7532e0f8f8a628d8ea8c2bac70f5f432ac819fc0efa", + "sourceName": "contracts/PythERC7412Wrapper.sol", + "contractName": "PythERC7412Wrapper", + "deployedOn": "contract.PythERC7412Wrapper", + "gasUsed": 1109617, + "gasCost": "962342557" + } + }, + "extras": { + "pythAddress": "0x420000000000000000000000000000000000000F" + } + } + } + }, + "hash": null, + "version": 7 + }, + "provision.system": { + "artifacts": { + "imports": { + "system": { + "url": "ipfs://Qmdq9164UBG1hrdUeh1YtPVg9Gq8wwQYA7CT5156sPApxg", + "tags": [ + "latest" + ], + "target": "synthetix:3.3.15@main", + "preset": "main", + "contracts": { + "AccountModule": { + "address": "0x3590B0d3F45e0cd3248c233008fdFf8AeDD4e4c7", + "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": "0x39bce867d552aefc3773bd8968169ed10021a08dc2f2e5bc81f0dae75382cecf", + "sourceName": "contracts/modules/core/AccountModule.sol", + "contractName": "AccountModule", + "deployedOn": "contract.AccountModule", + "gasUsed": 1209268, + "gasCost": "1032997011" + }, + "AccountTokenModule": { + "address": "0xC34B6FCd9849F343DEDC24A03D2A8EB54dA65846", + "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": "0x1532a036e550ae25ce5eda053081a56580742debe2fadeff16f032032f4e8199", + "sourceName": "contracts/modules/account/AccountTokenModule.sol", + "contractName": "AccountTokenModule", + "deployedOn": "contract.AccountTokenModule", + "gasUsed": 1787656, + "gasCost": "1087150512" + }, + "AssociateDebtModule": { + "address": "0x03132AAAf27f0f4B7F62d7e54AD94b9C74BA6B73", + "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": "0x5b2025d7e018fbc376adbb5866320d11166c821345c1f373994729367e7ff8bb", + "sourceName": "contracts/modules/core/AssociateDebtModule.sol", + "contractName": "AssociateDebtModule", + "deployedOn": "contract.AssociateDebtModule", + "gasUsed": 2267106, + "gasCost": "1039404773" + }, + "AssociatedSystemsModule": { + "address": "0x9fb00757BA9e33E3fEf51C1677D9D59E5a4ee9d6", + "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": "0xfec1aae80d0bbe0aa204e033c6536d62f882273b20367577a1c24de782569795", + "sourceName": "contracts/modules/associated-systems/AssociatedSystemsModule.sol", + "contractName": "AssociatedSystemsModule", + "deployedOn": "contract.AssociatedSystemsModule", + "gasUsed": 877153, + "gasCost": "1160601901" + }, + "CcipReceiverModule": { + "address": "0x76cd8212382051f61f365a4f9723bB8d5b806680", + "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": "0x7f372bff8bd79adda890fe0f274371f6a50f76ab3ca99ec4ef1d8b961830b8c7", + "sourceName": "contracts/modules/core/CcipReceiverModule.sol", + "contractName": "CcipReceiverModule", + "deployedOn": "contract.CcipReceiverModule", + "gasUsed": 469476, + "gasCost": "1208203748" + }, + "CollateralConfigurationModule": { + "address": "0xE2B87b8DD57E1b35ebf44324da0d2D871D2c8777", + "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": "0xc7e7eaf7d9eef44297acc52a4fb0aade758a712701560488e71917135169709c", "sourceName": "contracts/modules/core/CollateralConfigurationModule.sol", "contractName": "CollateralConfigurationModule", - "deployedOn": "contract.CollateralConfigurationModule" + "deployedOn": "contract.CollateralConfigurationModule", + "gasUsed": 837646, + "gasCost": "1119202716" }, "CollateralModule": { - "address": "0x1821b0d66d72E4a0a85B5B2a2941E76f237552Ba", + "address": "0xF720774DaC8677C107225ebd889C61BD4A21cf43", "abi": [ "error AccountActivityTimeoutPending(uint128 accountId, uint256 currentTime, uint256 requiredTime)", "error AccountNotFound(uint128 accountId)", @@ -634,13 +1601,15 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0x29f965111c7091af08f78843163237a3de02f077acaf1bf3bf174eb21e29fc63", + "deployTxnHash": "0x26db81c362d7993758a2db3f3b79939be389159f9d6502edf295b3370f009fa2", "sourceName": "contracts/modules/core/CollateralModule.sol", "contractName": "CollateralModule", - "deployedOn": "contract.CollateralModule" + "deployedOn": "contract.CollateralModule", + "gasUsed": 1730020, + "gasCost": "1098784236" }, "CrossChainUSDModule": { - "address": "0x814406Da03a16cd5eFe7408baFC6FbC4c5E48252", + "address": "0xD1Db51bF92C9d91E7D4D7b80120F31AA0E258803", "abi": [ "error FeatureUnavailable(bytes32 which)", "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", @@ -650,13 +1619,15 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0xa6e37945e35550610e2ffde589546352028fd80c6c868add4b0d5c577d1b4cff", + "deployTxnHash": "0x87203c0b547338dfa7a39d3ffc92e8bf9d83c41bef438162565b6b3285abaae4", "sourceName": "contracts/modules/core/CrossChainUSDModule.sol", "contractName": "CrossChainUSDModule", - "deployedOn": "contract.CrossChainUSDModule" + "deployedOn": "contract.CrossChainUSDModule", + "gasUsed": 595289, + "gasCost": "1089070066" }, "FeatureFlagModule": { - "address": "0x343b5efCBf331957d3F4236eb16C338D7256F62D", + "address": "0x61D96844F0226130A191F9e07fC08aaEbB667402", "abi": [ "error Unauthorized(address addr)", "error ValueAlreadyInSet()", @@ -679,42 +1650,15 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0x5b6b328654b052e96ac1484f740effc4768c2e970af01f6371553101d0d00845", + "deployTxnHash": "0xf48b7b4ae95718cd7151ee19ab3bd834a54d92553799c8e6e4b8c5b802a0dbcc", "sourceName": "contracts/modules/core/FeatureFlagModule.sol", "contractName": "FeatureFlagModule", - "deployedOn": "contract.FeatureFlagModule" - }, - "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": "", - "sourceName": "contracts/modules/InitialModuleBundle.sol", - "contractName": "InitialModuleBundle", - "deployedOn": "contract.InitialModuleBundle" + "deployedOn": "contract.FeatureFlagModule", + "gasUsed": 777054, + "gasCost": "1040190189" }, "IssueUSDModule": { - "address": "0xe468E2014363ba6ADe2D7EF0124134D14e8f7Af0", + "address": "0xaA69889dAe2873Ea4578bA576f88C76077F121a7", "abi": [ "error CollateralDepositDisabled(address collateralType)", "error EmptyDistribution()", @@ -740,13 +1684,15 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0x64294d7c166da46b607daafa3107c8eb49fdaeff37ed1f69aae5bfbb4390c442", + "deployTxnHash": "0x0f3054ffc2d5292e3769ead6f19f1d286ad8cb6e682265b948e3524dc03e8a09", "sourceName": "contracts/modules/core/IssueUSDModule.sol", "contractName": "IssueUSDModule", - "deployedOn": "contract.IssueUSDModule" + "deployedOn": "contract.IssueUSDModule", + "gasUsed": 2808883, + "gasCost": "1000645799" }, "LiquidationModule": { - "address": "0x3d3d14869D0C0aB6F2E54f56afC3578B0cF4D564", + "address": "0x07B560931dF96aC173383C3c6733c8Fb91a05495", "abi": [ "error AccountNotFound(uint128 accountId)", "error CannotScaleEmptyMapping()", @@ -773,13 +1719,15 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0x1ce13b5294c217e4d93dda41410796c13a369c3bd05deddfca2cab9df8b3ed50", + "deployTxnHash": "0x3c2df2e875d0b054981d3a486098e572a278de87f3f82175b94bd78ad218170c", "sourceName": "contracts/modules/core/LiquidationModule.sol", "contractName": "LiquidationModule", - "deployedOn": "contract.LiquidationModule" + "deployedOn": "contract.LiquidationModule", + "gasUsed": 2889614, + "gasCost": "1024230778" }, "MarketCollateralModule": { - "address": "0xB50f684D78600A5C06f1E19Fa357Bc5e9A08811F", + "address": "0x5C9A3789fDb15D649401a8440553ADb2Ce340B72", "abi": [ "error CollateralNotFound()", "error FailedTransfer(address from, address to, uint256 value)", @@ -790,8 +1738,8 @@ "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)", - "event MarketCollateralWithdrawn(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "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)", @@ -802,13 +1750,15 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0xffc03cb5d0b37a53f6adecf5dce52d6389e4246dc3da6ae12f64693254eaa438", + "deployTxnHash": "0xa3cbf3cfbccd2ae3352b0c4ebe1d439cbca3cddfe8c0357d87204b093d0edb68", "sourceName": "contracts/modules/core/MarketCollateralModule.sol", "contractName": "MarketCollateralModule", - "deployedOn": "contract.MarketCollateralModule" + "deployedOn": "contract.MarketCollateralModule", + "gasUsed": 1222509, + "gasCost": "1065103672" }, "MarketManagerModule": { - "address": "0x378e937d9111F482e6a3D4a1B4D0ef3d93D876Ba", + "address": "0x0D55E1fD0da9d474a472b1c5c9273fBAef80Ead3", "abi": [ "error EmptyDistribution()", "error FeatureUnavailable(bytes32 which)", @@ -824,8 +1774,8 @@ "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)", - "event MarketUsdWithdrawn(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market)", + "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)", @@ -852,32 +1802,15 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0xf4a0942cb7078103b4086a8d25e2c5b38f56a7ca499991158624c47a1e0083f3", + "deployTxnHash": "0x750b498b1d5963d3ce430e49ddc94fcbefd89aee635fee736f28155dcf1ab601", "sourceName": "contracts/modules/core/MarketManagerModule.sol", "contractName": "MarketManagerModule", - "deployedOn": "contract.MarketManagerModule" - }, - "MulticallModule": { - "address": "0x0b3310D06e5aaB8bD3c1a08f1c6187DECdFe5c56", - "abi": [ - "error DeniedMulticallTarget(address)", - "error InvalidParameter(string parameter, string reason)", - "error RecursiveMulticall(address)", - "error Unauthorized(address addr)", - "function getMessageSender() view returns (address)", - "function multicall(bytes[] data) returns (bytes[] results)", - "function multicallThrough(address[] to, bytes[] data, uint256[] values) payable returns (bytes[] results)", - "function setAllowlistedMulticallTarget(address target, bool allowlisted)" - ], - "constructorArgs": [], - "linkedLibraries": {}, - "deployTxnHash": "0xea85c4b95f72582f59f3b1b23edcb08c8c2834e15f980ddef0b0230b670e6602", - "sourceName": "contracts/modules/core/MulticallModule.sol", - "contractName": "MulticallModule", - "deployedOn": "contract.MulticallModule" + "deployedOn": "contract.MarketManagerModule", + "gasUsed": 2749047, + "gasCost": "1073723869" }, "PoolConfigurationModule": { - "address": "0x196Cb95C605cD36859DCdA594eEfAD91c21006D3", + "address": "0x97AFc14ffBeCd9983Ca34EB04aFDeb4fd91Bb058", "abi": [ "error PoolNotFound(uint128 poolId)", "error Unauthorized(address addr)", @@ -894,13 +1827,15 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0x6e9a4f76f355609aad649ec7e0304b78e1def5e50d9320f30ab88aebfef39ded", + "deployTxnHash": "0xa68ae448ec0c19b50b7ed1a0c295b3bd044c7e1571a3026302f7cf1acfa9b399", "sourceName": "contracts/modules/core/PoolConfigurationModule.sol", "contractName": "PoolConfigurationModule", - "deployedOn": "contract.PoolConfigurationModule" + "deployedOn": "contract.PoolConfigurationModule", + "gasUsed": 446271, + "gasCost": "1068634018" }, "PoolModule": { - "address": "0x1bF1afA1fAfCaA8a64676dc153e8D8bEd0FDc7fB", + "address": "0x53791c24e435763957060D2D4b964203125829B8", "abi": [ "error CapacityLocked(uint256 marketId)", "error EmptyDistribution()", @@ -926,11 +1861,13 @@ "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)", @@ -938,6 +1875,7 @@ "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)", @@ -947,13 +1885,15 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0x004d7efdd4c2e33fb44fc8b9702ff2da0c2d0d1e0cc5737abc779b5050bd9cd5", + "deployTxnHash": "0x31cf38c7ecff671eb89f0c44455d8d7a652c2615a391b174fa423fe0b055d757", "sourceName": "contracts/modules/core/PoolModule.sol", "contractName": "PoolModule", - "deployedOn": "contract.PoolModule" + "deployedOn": "contract.PoolModule", + "gasUsed": 3705275, + "gasCost": "1040955913" }, "RewardsManagerModule": { - "address": "0x4bD7854c0aa9A48c2D53BA80ECb446EB87AC4cA1", + "address": "0x81801a6a6e677E1c16c8ca08e8ad3968Ce00b112", "abi": [ "error AccountNotFound(uint128 accountId)", "error FeatureUnavailable(bytes32 which)", @@ -978,6 +1918,7 @@ "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)", @@ -985,13 +1926,15 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0x58f2cb569de544902028ad10cc6f349dbbc9f84544636b0957c7930ccc61d6a1", + "deployTxnHash": "0x30761fcd2b9a06635517a3c8526cbd005cf6989434ea7c49733b76e6b135d7bf", "sourceName": "contracts/modules/core/RewardsManagerModule.sol", "contractName": "RewardsManagerModule", - "deployedOn": "contract.RewardsManagerModule" + "deployedOn": "contract.RewardsManagerModule", + "gasUsed": 2205823, + "gasCost": "1056889698" }, "USDTokenModule": { - "address": "0x4275B8962ac35736aFd87be74C89f31a70269EAc", + "address": "0x69c9a1017D85F1fa9c1B2b8CDaDE08aa0D0D04c3", "abi": [ "error AlreadyInitialized()", "error InsufficientAllowance(uint256 required, uint256 existing)", @@ -1021,13 +1964,15 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0x1c30d5319928f8650c95595daff702784fc979836361bece369767f9281996c8", + "deployTxnHash": "0x5b9ec85c0c245f0edaa0e55e700bd1aea8a485f26239cb46ce1150eea122e843", "sourceName": "contracts/modules/usd/USDTokenModule.sol", "contractName": "USDTokenModule", - "deployedOn": "contract.USDTokenModule" + "deployedOn": "contract.USDTokenModule", + "gasUsed": 1110294, + "gasCost": "1035513275" }, "UtilsModule": { - "address": "0xc429dd84c9a9a7c786764c7dcaF31e30bd35BcdF", + "address": "0x3420753f6864118A5ED8c7f175543eB5471cC44f", "abi": [ "error InvalidParameter(string parameter, string reason)", "error OverflowUint256ToUint64()", @@ -1039,26 +1984,30 @@ "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": "0xf37b79e7f24b4765bc71c1db73f9f51be0181cec4aaa900bcd0029b046f35d69", + "deployTxnHash": "0xcbf2fa2f4bab844eeac9a14621ff629ae84f96a91979176472c6f3228b197015", "sourceName": "contracts/modules/core/UtilsModule.sol", "contractName": "UtilsModule", - "deployedOn": "contract.UtilsModule" + "deployedOn": "contract.UtilsModule", + "gasUsed": 759709, + "gasCost": "1013919786" }, "VaultModule": { - "address": "0xaB93E0B04f0c3082bfb808C169A9d326bA466423", + "address": "0x0bA521f79DD2c669342be9A3ea44E97887b99728", "abi": [ "error CapacityLocked(uint256 marketId)", "error CollateralDepositDisabled(address collateralType)", "error EmptyDistribution()", "error FeatureUnavailable(bytes32 which)", "error InsufficentAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)", - "error InsufficientAccountCollateral(uint256 requestedAmount)", + "error InsufficientAccountCollateral(uint256 amount)", "error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)", "error InsufficientDelegation(uint256 minDelegation)", "error InvalidCollateralAmount()", @@ -1084,7 +2033,7 @@ "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, uint256 value)", + "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)", @@ -1093,13 +2042,46 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0x96004dd6a875e8ef93f455d73330770917b708d6f8075cb03fdec528f00122a5", + "deployTxnHash": "0xc6b530c2eea48b0504d95645f837fdf6a174020f285487881453c09f2c71b0c4", "sourceName": "contracts/modules/core/VaultModule.sol", "contractName": "VaultModule", - "deployedOn": "contract.VaultModule" + "deployedOn": "contract.VaultModule", + "gasUsed": 3541151, + "gasCost": "949608803" + }, + "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": "", + "sourceName": "contracts/modules/InitialModuleBundle.sol", + "contractName": "InitialModuleBundle", + "deployedOn": "contract.InitialModuleBundle", + "gasUsed": 0, + "gasCost": "0" }, "InitialCoreProxy": { - "address": "0x76490713314fCEC173f44e99346F54c6e92a8E42", + "address": "0x8715b7eaDC55DF39F0D7bd8D5Ae44BaD4A7a0a8f", "abi": [ "error ImplementationIsSterile(address implementation)", "error NoChange()", @@ -1125,13 +2107,15 @@ "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" ], "linkedLibraries": {}, - "deployTxnHash": "0xa51700708c4e9697f1cbf01ca82d823835fc1397cf5ac58fd09262c815e9a224", + "deployTxnHash": "0xdfe76d836ab7b21d337f3ec8472402e8f6c23f0dc2924093b6452ac4602db8b3", "sourceName": "contracts/Proxy.sol", "contractName": "Proxy", - "deployedOn": "contract.InitialCoreProxy" + "deployedOn": "contract.InitialCoreProxy", + "gasUsed": 185358, + "gasCost": "978908043" }, "AccountRouter": { - "address": "0x38fC5D5A5402Cde8cB384c939d201522F0873229", + "address": "0xe609b0f185b380828737dfa9de675131d616b1e7", "abi": [ "error ImplementationIsSterile(address implementation)", "error NoChange()", @@ -1188,12 +2172,14 @@ "function transferFrom(address from, address to, uint256 tokenId)" ], "deployedOn": "router.AccountRouter", - "deployTxnHash": "0xeabfdc111ee65bfa728d79afd19f5ed927fdc6fe746398bb31c4a6577cd2b89f", + "deployTxnHash": "0xbb7b0b73d3351455c640b7aec2556f49b38f3e6d5d2c4bc8349969029d397d4b", "contractName": "AccountRouter", - "sourceName": "AccountRouter.sol" + "sourceName": "AccountRouter.sol", + "gasUsed": 403592, + "gasCost": "1019880086" }, "CoreRouter": { - "address": "0xF64b4E28F4B5bF83905694016b2496f5E4e7943b", + "address": "0x8b11fc5bb182f7f9fa8bd1ac4455cc3a6db12341", "abi": [ "error ImplementationIsSterile(address implementation)", "error NoChange()", @@ -1324,8 +2310,8 @@ "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)", - "event MarketCollateralWithdrawn(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "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)", @@ -1337,8 +2323,8 @@ "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)", - "event MarketUsdWithdrawn(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market)", + "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)", @@ -1362,12 +2348,6 @@ "function setMarketMinDelegateTime(uint128 marketId, uint32 minDelegateTime)", "function setMinLiquidityRatio(uint128 marketId, uint256 minLiquidityRatio)", "function withdrawMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", - "error DeniedMulticallTarget(address)", - "error RecursiveMulticall(address)", - "function getMessageSender() view returns (address)", - "function multicall(bytes[] data) returns (bytes[] results)", - "function multicallThrough(address[] to, bytes[] data, uint256[] values) payable returns (bytes[] results)", - "function setAllowlistedMulticallTarget(address target, bool allowlisted)", "event PoolApprovedAdded(uint256 poolId)", "event PoolApprovedRemoved(uint256 poolId)", "event PreferredPoolSet(uint256 poolId)", @@ -1388,11 +2368,13 @@ "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)", @@ -1400,6 +2382,7 @@ "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)", @@ -1417,6 +2400,7 @@ "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)", @@ -1427,6 +2411,8 @@ "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)", @@ -1437,7 +2423,7 @@ "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, uint256 value)", + "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)", @@ -1445,12 +2431,14 @@ "function getVaultDebt(uint128 poolId, address collateralType) returns (int256)" ], "deployedOn": "router.CoreRouter", - "deployTxnHash": "0x9b19cc85fae49489424e25be0b117270e4c9eae92e6410e9bad1fc5ffc88dc6a", + "deployTxnHash": "0x0b0ccd205d0cd9aa199a5947f03d9c4b7ad46fc034e8e48eee5fde88444569af", "contractName": "CoreRouter", - "sourceName": "CoreRouter.sol" + "sourceName": "CoreRouter.sol", + "gasUsed": 1290201, + "gasCost": "997515600" }, "USDRouter": { - "address": "0xCE7760d0D9Ea15C7CCC06d2D76f34817e0d6bC1A", + "address": "0xe11195eacbf94327a2acd9e448a4592632e4c958", "abi": [ "error ImplementationIsSterile(address implementation)", "error NoChange()", @@ -1503,12 +2491,14 @@ "function transferFrom(address from, address to, uint256 amount) returns (bool)" ], "deployedOn": "router.USDRouter", - "deployTxnHash": "0x99bf48da8d0f0278ebe6867a1d2e6ea3cb973b87c5fa2d15ae68d0b669b2ab83", + "deployTxnHash": "0x31d8b5d0f5b21757413ea39eba499beb8d89682712fb6a9674853b88683c3922", "contractName": "USDRouter", - "sourceName": "USDRouter.sol" + "sourceName": "USDRouter.sol", + "gasUsed": 395159, + "gasCost": "1100297268" }, "CoreProxy": { - "address": "0x76490713314fCEC173f44e99346F54c6e92a8E42", + "address": "0x8715b7eaDC55DF39F0D7bd8D5Ae44BaD4A7a0a8f", "abi": [ "error ImplementationIsSterile(address implementation)", "error NoChange()", @@ -1639,8 +2629,8 @@ "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)", - "event MarketCollateralWithdrawn(uint128 indexed marketId, address indexed collateralType, uint256 tokenAmount, address indexed sender)", + "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)", @@ -1652,8 +2642,8 @@ "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)", - "event MarketUsdWithdrawn(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market)", + "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)", @@ -1677,12 +2667,6 @@ "function setMarketMinDelegateTime(uint128 marketId, uint32 minDelegateTime)", "function setMinLiquidityRatio(uint128 marketId, uint256 minLiquidityRatio)", "function withdrawMarketUsd(uint128 marketId, address target, uint256 amount) returns (uint256 feeAmount)", - "error DeniedMulticallTarget(address)", - "error RecursiveMulticall(address)", - "function getMessageSender() view returns (address)", - "function multicall(bytes[] data) returns (bytes[] results)", - "function multicallThrough(address[] to, bytes[] data, uint256[] values) payable returns (bytes[] results)", - "function setAllowlistedMulticallTarget(address target, bool allowlisted)", "event PoolApprovedAdded(uint256 poolId)", "event PoolApprovedRemoved(uint256 poolId)", "event PreferredPoolSet(uint256 poolId)", @@ -1703,11 +2687,13 @@ "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)", @@ -1715,6 +2701,7 @@ "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)", @@ -1732,6 +2719,7 @@ "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)", @@ -1742,6 +2730,8 @@ "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)", @@ -1752,7 +2742,7 @@ "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, uint256 value)", + "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)", @@ -1762,10 +2752,13 @@ "deployTxnHash": "", "sourceName": "", "contractName": "", - "deployedOn": "invoke.upgrade_core_proxy" + "deployedOn": "invoke.upgrade_core_proxy", + "gasUsed": 0, + "gasCost": "0", + "highlight": true }, "AccountProxy": { - "address": "0xe487Ad4291019b33e2230F8E2FB1fb6490325260", + "address": "0xCb5D8fE2B4AfbedB1970CCDc2f2e2919a6114240", "abi": [ "error ImplementationIsSterile(address implementation)", "error NoChange()", @@ -1824,10 +2817,13 @@ "deployTxnHash": "", "sourceName": "", "contractName": "", - "deployedOn": "invoke.init_account" + "deployedOn": "invoke.init_account", + "gasUsed": 0, + "gasCost": "0", + "highlight": true }, "USDProxy": { - "address": "0x1b791d05E437C78039424749243F5A79E747525e", + "address": "0xF87E23c41Ce898Ab7640FC3Ce2eb8B11f257e67a", "abi": [ "error ImplementationIsSterile(address implementation)", "error NoChange()", @@ -1882,48 +2878,86 @@ "deployTxnHash": "", "sourceName": "", "contractName": "", - "deployedOn": "invoke.init_usd" + "deployedOn": "invoke.init_usd", + "gasUsed": 0, + "gasCost": "0", + "highlight": true } }, "imports": { - "oracle_manager": { - "url": "ipfs://QmWgKyXt1UWzfeTfF8RR69fHjYaoLYMs1fNoT6MNXCE31k", + "trusted_multicall_forwarder": { + "url": "ipfs://QmZvyrG1A2kxn7qrrgMoyx4S7Xncz3T9Cj7qujx1N74kzZ", "tags": [ "latest" ], + "target": "trusted-multicall-forwarder:latest@with-synthetix", "preset": "with-synthetix", + "settings": { + "salt": "salt" + }, "contracts": { - "CoreModule": { - "address": "0xa9926406647Cc20F9b76644Ea0569E82641B75bB", + "TrustedMulticallForwarder": { + "address": "0xE2C5658cC5C448B48141168f3e475dF8f65A1e3e", "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)" + "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": "0x1d43b65ede7bf7998b3a10a62c2e59700360fd4650856a7e2c2f2d204e1800e3", - "sourceName": "contracts/modules/CoreModule.sol", - "contractName": "CoreModule", - "deployedOn": "contract.CoreModule" - }, + "deployTxnHash": "", + "sourceName": "src/TrustedMulticallForwarder.sol", + "contractName": "TrustedMulticallForwarder", + "deployedOn": "contract.TrustedMulticallForwarder", + "gasUsed": 0, + "gasCost": "0" + } + }, + "extras": { + "salt": "salt" + } + }, + "oracle_manager": { + "url": "ipfs://QmUvYkrmzLT5mKHftsppEbrCc9w8dYVEwssgSseBmknigY", + "tags": [ + "latest" + ], + "target": "oracle-manager:3.3.15@with-synthetix", + "preset": "with-synthetix", + "contracts": { "NodeModule": { - "address": "0x3924FC7aE841c49a9Ad864A81F95C7A9F4B2706f", + "address": "0xA8d7576690489624382BDdB5d7D9d3bD8D4CdD0b", "abi": [ "error DeviationToleranceExceeded(int256 deviation)", "error InvalidInputPrice()", @@ -1931,6 +2965,7 @@ "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()", @@ -1948,13 +2983,46 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0xbd2f9f5290e6851c60c18c53dced16bee87c46dc36c309c274a44c3300d3e732", + "deployTxnHash": "0x5d4b03edeb3dd710a7cbe5e38df09806cf526c746832811dae41582792531414", "sourceName": "contracts/modules/NodeModule.sol", "contractName": "NodeModule", - "deployedOn": "contract.NodeModule" + "deployedOn": "contract.NodeModule", + "gasUsed": 4094153, + "gasCost": "976941814" + }, + "CoreModule": { + "address": "0xf3b78D43A79737bcbF3b7E2b4Ae1CA660cBE7bc2", + "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": "0xa34db8a98d9313f7989457122c8b2f6e9aba9756705449f6d196bf601794ce38", + "sourceName": "contracts/modules/CoreModule.sol", + "contractName": "CoreModule", + "deployedOn": "contract.CoreModule", + "gasUsed": 942585, + "gasCost": "1014969818" }, "InitialProxy": { - "address": "0x12aE0D5CD26f212bFE242DA78139d463019f7a73", + "address": "0xA86DcB6f02a0AFEc5b66Ad7112ACd3bcbbdF98ca", "abi": [ "error ImplementationIsSterile(address implementation)", "error NoChange()", @@ -1976,17 +3044,19 @@ "function upgradeTo(address newImplementation)" ], "constructorArgs": [ - "0xa9926406647Cc20F9b76644Ea0569E82641B75bB", + "0xf3b78D43A79737bcbF3b7E2b4Ae1CA660cBE7bc2", "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" ], "linkedLibraries": {}, - "deployTxnHash": "0x8406ec4a336218c608cb7aad7a70d51912863b90145a4649d97b65f29724e71a", + "deployTxnHash": "0x4afac678da89afc3530f1b5294aea5a0e36f3f207adc8910ff7fffb3301c822b", "sourceName": "contracts/Proxy.sol", "contractName": "Proxy", - "deployedOn": "contract.InitialProxy" + "deployedOn": "contract.InitialProxy", + "gasUsed": 249407, + "gasCost": "986015917" }, "OracleRouter": { - "address": "0x4D657c0d33739D322cDB439D65d2D56E8928d3Ea", + "address": "0x8848a58230ea553d8ddfe00eb3f1cd9a42494e55", "abi": [ "error ImplementationIsSterile(address implementation)", "error NoChange()", @@ -2012,6 +3082,7 @@ "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()", @@ -2028,12 +3099,14 @@ "function registerNode(uint8 nodeType, bytes parameters, bytes32[] parents) returns (bytes32 nodeId)" ], "deployedOn": "router.OracleRouter", - "deployTxnHash": "0x90b48591c8bdda9ad5f4b016eeffd1b64fee2b696a8a1d7930b4c9767a40c4e3", + "deployTxnHash": "0x342fe5d08f174bfc7f020359d9f6cc9974cfcb434b81a97e18e6e6504a42953c", "contractName": "OracleRouter", - "sourceName": "OracleRouter.sol" + "sourceName": "OracleRouter.sol", + "gasUsed": 243132, + "gasCost": "978728328" }, "Proxy": { - "address": "0x12aE0D5CD26f212bFE242DA78139d463019f7a73", + "address": "0xA86DcB6f02a0AFEc5b66Ad7112ACd3bcbbdF98ca", "abi": [ "error ImplementationIsSterile(address implementation)", "error NoChange()", @@ -2059,6 +3132,7 @@ "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()", @@ -2077,32 +3151,117 @@ "deployTxnHash": "", "sourceName": "", "contractName": "", - "deployedOn": "invoke.upgrade_proxy" + "deployedOn": "invoke.upgrade_proxy", + "gasUsed": 0, + "gasCost": "0", + "highlight": true + } + }, + "imports": { + "trusted_multicall_forwarder": { + "url": "ipfs://QmXDirpQp1KtJucQfv8rF5Ubdq3oGUx5Bk5Z5pTGkqRoEk", + "tags": [ + "latest" + ], + "target": "trusted-multicall-forwarder:latest@with-oracle-manager", + "preset": "with-oracle-manager", + "settings": { + "salt": "salt" + }, + "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" + } + }, + "extras": { + "salt": "salt" + } } }, + "settings": { + "owner": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "salt": "oracle-manager-official" + }, "txns": { "upgrade_proxy": { - "hash": "0xe7594ee2204ef13d51c7895264d06b2c8ac31243f233a0f6290c60a8018ff071", + "hash": "0x91e2ebd7572979158e0b951fc6792ee406a1d252cc88f4b1102dc947ef93c568", "events": { "Upgraded": [ { "name": "Upgraded", "args": [ - "0x12aE0D5CD26f212bFE242DA78139d463019f7a73", - "0x4D657c0d33739D322cDB439D65d2D56E8928d3Ea" + "0xA86DcB6f02a0AFEc5b66Ad7112ACd3bcbbdF98ca", + "0x8848A58230eA553d8ddFE00EB3F1cd9A42494e55" ] } ] }, - "deployedOn": "invoke.upgrade_proxy" + "deployedOn": "invoke.upgrade_proxy", + "gasUsed": 51933, + "gasCost": "973839441", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" } }, - "extras": {} + "extras": { + "owner": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "salt": "oracle-manager-official" + } } }, + "settings": { + "bundleSalt": "main", + "oracle_manager_source": "oracle-manager:3.3.15", + "owner": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "salt": "main", + "const_one_oracle_id": "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733" + }, "txns": { "register_const_one_oracle": { - "hash": "0x7f72755a7248a0fbe70a31726901a1c3c2d1e6b37ae163290eb73b579939e6b9", + "hash": "0xd62944ccc94d429dc4fe5628b22cdc7c3dcde1d3c669bfa9b3a90389fbbe4ddd", "events": { "NodeRegistered": [ { @@ -2116,124 +3275,265 @@ } ] }, - "deployedOn": "invoke.register_const_one_oracle" + "deployedOn": "invoke.register_const_one_oracle", + "gasUsed": 108479, + "gasCost": "922529803", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" }, "upgrade_core_proxy": { - "hash": "0x2e61edf7ba784d387d525c2e9beb206ac27917b6d85233ab48c9400c2e200c8c", + "hash": "0x8fe74fef92ca27bd35f53a66aeab338e865bc6aa298c6bbf95e829b50e87f66c", "events": { "Upgraded": [ { "name": "Upgraded", "args": [ - "0x76490713314fCEC173f44e99346F54c6e92a8E42", - "0xF64b4E28F4B5bF83905694016b2496f5E4e7943b" + "0x8715b7eaDC55DF39F0D7bd8D5Ae44BaD4A7a0a8f", + "0x8B11FC5BB182F7f9fa8BD1AC4455Cc3A6DB12341" ] } ] }, - "deployedOn": "invoke.upgrade_core_proxy" + "deployedOn": "invoke.upgrade_core_proxy", + "gasUsed": 47483, + "gasCost": "1116869325", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" }, - "enable_basic_features": { - "hash": "0xb0d5e4f491975a3685bf59425eee5761e195ac6984183146a8ebdcfadb062474", + "enable_feature_burnUsd": { + "hash": "0x003ddab4c759e8dc1a519d8f54410501bf7169ec4098e76aa180ab321fac7fa2", "events": { "FeatureFlagAllowAllSet": [ { "name": "FeatureFlagAllowAllSet", "args": [ - "0x6372656174654163636f756e7400000000000000000000000000000000000000", + "0x6275726e55736400000000000000000000000000000000000000000000000000", true ] - }, + } + ] + }, + "deployedOn": "invoke.enable_feature_burnUsd", + "gasUsed": 56949, + "gasCost": "1117962692", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_claimRewards": { + "hash": "0x0f09fa5c086f87dad5321456133b7f0c2606b6fadcae50cac30b3a8bfb863a8c", + "events": { + "FeatureFlagAllowAllSet": [ { "name": "FeatureFlagAllowAllSet", "args": [ - "0x6465706f73697400000000000000000000000000000000000000000000000000", + "0x636c61696d526577617264730000000000000000000000000000000000000000", true ] - }, + } + ] + }, + "deployedOn": "invoke.enable_feature_claimRewards", + "gasUsed": 57009, + "gasCost": "1081589799", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_createAccount": { + "hash": "0x6f14eb969a65aa396b120ac9f08f61ad7d33ca3657e66ac7fd7b34b0c133f39d", + "events": { + "FeatureFlagAllowAllSet": [ { "name": "FeatureFlagAllowAllSet", "args": [ - "0x7769746864726177000000000000000000000000000000000000000000000000", + "0x6372656174654163636f756e7400000000000000000000000000000000000000", true ] - }, + } + ] + }, + "deployedOn": "invoke.enable_feature_createAccount", + "gasUsed": 57021, + "gasCost": "1189291565", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_delegateCollateral": { + "hash": "0x0ea4abbbbb3b4105265e293591406c26f856dcec1d53727e92dc10184a6c05f1", + "events": { + "FeatureFlagAllowAllSet": [ { "name": "FeatureFlagAllowAllSet", "args": [ - "0x6d696e7455736400000000000000000000000000000000000000000000000000", + "0x64656c6567617465436f6c6c61746572616c0000000000000000000000000000", true ] - }, + } + ] + }, + "deployedOn": "invoke.enable_feature_delegateCollateral", + "gasUsed": 57081, + "gasCost": "1145067438", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_deposit": { + "hash": "0x08f253c06dcf0c639b5e85e550f4dd04fd0048cfdfac2eaf7374670dc1c417e5", + "events": { + "FeatureFlagAllowAllSet": [ { "name": "FeatureFlagAllowAllSet", "args": [ - "0x6275726e55736400000000000000000000000000000000000000000000000000", + "0x6465706f73697400000000000000000000000000000000000000000000000000", true ] - }, + } + ] + }, + "deployedOn": "invoke.enable_feature_deposit", + "gasUsed": 56949, + "gasCost": "1099485069", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_depositMarketCollateral": { + "hash": "0xec84cad5f5012014983200e209710427845aba82697ab02c2dc096454af91eae", + "events": { + "FeatureFlagAllowAllSet": [ { "name": "FeatureFlagAllowAllSet", "args": [ - "0x6c69717569646174650000000000000000000000000000000000000000000000", + "0x6465706f7369744d61726b6574436f6c6c61746572616c000000000000000000", true ] - }, + } + ] + }, + "deployedOn": "invoke.enable_feature_depositMarketCollateral", + "gasUsed": 57141, + "gasCost": "1050556709", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_depositMarketUsd": { + "hash": "0x7583ac467a1407fe715de3fa3aff6cad86054df512b43dbb332f29b2ceb7f342", + "events": { + "FeatureFlagAllowAllSet": [ { "name": "FeatureFlagAllowAllSet", "args": [ - "0x6c69717569646174655661756c74000000000000000000000000000000000000", + "0x6465706f7369744d61726b657455736400000000000000000000000000000000", true ] - }, + } + ] + }, + "deployedOn": "invoke.enable_feature_depositMarketUsd", + "gasUsed": 57057, + "gasCost": "997930950", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_liquidate": { + "hash": "0x1fc453ee93e2ddbc8edbdd81563df11f57ade9a18c65aa907801ccc7134a784b", + "events": { + "FeatureFlagAllowAllSet": [ { "name": "FeatureFlagAllowAllSet", "args": [ - "0x6465706f7369744d61726b6574436f6c6c61746572616c000000000000000000", + "0x6c69717569646174650000000000000000000000000000000000000000000000", true ] - }, + } + ] + }, + "deployedOn": "invoke.enable_feature_liquidate", + "gasUsed": 56973, + "gasCost": "1064136427", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_liquidateVault": { + "hash": "0xc4e850fc6a725150be5c76506408f6334d0cbdf56ae7b31fffa2904605167664", + "events": { + "FeatureFlagAllowAllSet": [ { "name": "FeatureFlagAllowAllSet", "args": [ - "0x77697468647261774d61726b6574436f6c6c61746572616c0000000000000000", + "0x6c69717569646174655661756c74000000000000000000000000000000000000", true ] - }, + } + ] + }, + "deployedOn": "invoke.enable_feature_liquidateVault", + "gasUsed": 57033, + "gasCost": "1013537198", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_mintUsd": { + "hash": "0x266f89530ac6b3b675a7fe51165dc574f640fd54edc531b400898888623840f3", + "events": { + "FeatureFlagAllowAllSet": [ { "name": "FeatureFlagAllowAllSet", "args": [ - "0x6465706f7369744d61726b657455736400000000000000000000000000000000", + "0x6d696e7455736400000000000000000000000000000000000000000000000000", true ] - }, + } + ] + }, + "deployedOn": "invoke.enable_feature_mintUsd", + "gasUsed": 56949, + "gasCost": "977776751", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_withdraw": { + "hash": "0xab1a7424ebbbf36a928f31ddcff86f34f5a65b84e2591a6a07accc05a70e4c2d", + "events": { + "FeatureFlagAllowAllSet": [ { "name": "FeatureFlagAllowAllSet", "args": [ - "0x77697468647261774d61726b6574557364000000000000000000000000000000", + "0x7769746864726177000000000000000000000000000000000000000000000000", true ] - }, + } + ] + }, + "deployedOn": "invoke.enable_feature_withdraw", + "gasUsed": 56961, + "gasCost": "1025829153", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_withdrawMarketCollateral": { + "hash": "0x8b454b4aaff7f2d239acee0bdc9c91599eb7386b9dfefeeaba329933039fb864", + "events": { + "FeatureFlagAllowAllSet": [ { "name": "FeatureFlagAllowAllSet", "args": [ - "0x636c61696d526577617264730000000000000000000000000000000000000000", + "0x77697468647261774d61726b6574436f6c6c61746572616c0000000000000000", true ] - }, + } + ] + }, + "deployedOn": "invoke.enable_feature_withdrawMarketCollateral", + "gasUsed": 57153, + "gasCost": "993756197", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_withdrawMarketUsd": { + "hash": "0xc560108ce9e942bfd2b466717e3b7cbd60fb56aaf29bf0da9b72b9975ae94f01", + "events": { + "FeatureFlagAllowAllSet": [ { "name": "FeatureFlagAllowAllSet", "args": [ - "0x64656c6567617465436f6c6c61746572616c0000000000000000000000000000", + "0x77697468647261774d61726b6574557364000000000000000000000000000000", true ] } ] }, - "deployedOn": "invoke.enable_basic_features" + "deployedOn": "invoke.enable_feature_withdrawMarketUsd", + "gasUsed": 57069, + "gasCost": "960143044", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" }, "init_account": { - "hash": "0xa831f9ded3e26468e9b37471af5fd325a0a9f6218fc21c30d1c5259f0455ea39", + "hash": "0x0a12c8cb3ea6b7a581f341003d35023331bd81498daed3b7e3dd92b794602209", "events": { "AssociatedSystemSet": [ { @@ -2241,212 +3541,252 @@ "args": [ "0x6572633732310000000000000000000000000000000000000000000000000000", "0x6163636f756e744e667400000000000000000000000000000000000000000000", - "0xe487Ad4291019b33e2230F8E2FB1fb6490325260", - "0x38fC5D5A5402Cde8cB384c939d201522F0873229" + "0xCb5D8fE2B4AfbedB1970CCDc2f2e2919a6114240", + "0xE609b0f185B380828737dfA9De675131d616b1E7" ] } ] }, - "deployedOn": "invoke.init_account" + "deployedOn": "invoke.init_account", + "gasUsed": 354887, + "gasCost": "982695521", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" }, "init_usd": { - "hash": "0x93b42e3f8a8a527988ea56a72db40f9904c74997900d25fc094acd2be131328e", + "hash": "0xe35f140b18c1b5ae06f846675667779f785cae11f1ce256a93a3319d0b9be3ff", "events": { - "Upgraded": [ - { - "name": "Upgraded", - "args": [ - "0x1b791d05E437C78039424749243F5A79E747525e", - "0xCE7760d0D9Ea15C7CCC06d2D76f34817e0d6bC1A" - ] - } - ], "AssociatedSystemSet": [ { "name": "AssociatedSystemSet", "args": [ "0x6572633230000000000000000000000000000000000000000000000000000000", "0x555344546f6b656e000000000000000000000000000000000000000000000000", - "0x1b791d05E437C78039424749243F5A79E747525e", - "0xCE7760d0D9Ea15C7CCC06d2D76f34817e0d6bC1A" + "0xF87E23c41Ce898Ab7640FC3Ce2eb8B11f257e67a", + "0xe11195EAcbF94327a2aCd9e448a4592632E4c958" ] } ] }, - "deployedOn": "invoke.init_usd" + "deployedOn": "invoke.init_usd", + "gasUsed": 327328, + "gasCost": "980449151", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" }, "set_oracle_manager": { - "hash": "0xd746d888437a4cb111eb878e2c53607a45058c67cecfd71ed45f3f11b7d5a74b", + "hash": "0x3efc31a65f2fc3d3670e57d8b0ee8bac01f5aca89a84ea10fd168c1aebb4c712", "events": {}, - "deployedOn": "invoke.set_oracle_manager" + "deployedOn": "invoke.set_oracle_manager", + "gasUsed": 54810, + "gasCost": "979601782", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" }, "configure_usd_collateral": { - "hash": "0xd2db461ff554b7c4c5ed014060a55bb9b92dd3560b34435c1bd6d3b0094fca39", + "hash": "0x04a6171d1780f588f946d7d0a9441bb20adf358dfb2b8bdd7bdc6fe82cd18f3b", "events": { "CollateralConfigured": [ { "name": "CollateralConfigured", "args": [ - "0x1b791d05E437C78039424749243F5A79E747525e", - [ - true, - { - "type": "BigNumber", - "hex": "0x8ac7230489e80000" - }, - { - "type": "BigNumber", - "hex": "0x8ac7230489e80000" - }, - { - "type": "BigNumber", - "hex": "0x00" - }, - "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733", - "0x1b791d05E437C78039424749243F5A79E747525e", - { - "type": "BigNumber", - "hex": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - } - ] + "0xF87E23c41Ce898Ab7640FC3Ce2eb8B11f257e67a", + { + "depositingEnabled": true, + "issuanceRatioD18": "10000000000000000000", + "liquidationRatioD18": "10000000000000000000", + "liquidationRewardD18": "0", + "oracleNodeId": "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733", + "tokenAddress": "0xF87E23c41Ce898Ab7640FC3Ce2eb8B11f257e67a", + "minDelegationD18": "115792089237316195423570985008687907853269984665640564039457584007913129639935" + } ] } ] }, - "deployedOn": "invoke.configure_usd_collateral" + "deployedOn": "invoke.configure_usd_collateral", + "gasUsed": 240627, + "gasCost": "1006144889", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" } }, "extras": { + "bundleSalt": "main", + "oracle_manager_source": "oracle-manager:3.3.15", + "owner": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "salt": "main", "const_one_oracle_id": "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733" } } } }, - "hash": "753d7c8dd70082ab4b65b2a04ea190e3", - "version": 6 + "hash": null, + "version": 7 }, - "invoke.registerWethOracleManager": { + "pull.susde": { "artifacts": { - "contracts": {}, - "txns": { - "registerWethOracleManager": { - "hash": "0xdb9da9f065c8b52aa087d789705906b04c5791b6aecd3eaf322730117cda0bc0", - "events": { - "NodeRegistered": [ - { - "name": "NodeRegistered", - "args": [ - "0xa1ad04e5fe674fe144be389adb9340f0b15e73d866da4e70145eec4ef867955b", - 3, - "0x000000000000000000000000694aa1769357215de4fac081bf1f309adc32530600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008", - [] - ] - } - ] - }, - "deployedOn": "invoke.registerWethOracleManager" - } - }, - "extras": { - "weth_oracle_id": "0xa1ad04e5fe674fe144be389adb9340f0b15e73d866da4e70145eec4ef867955b" - } + "imports": { + "susde": { + "url": "ipfs://QmXF2CaadkuYoXJbUGYpmqBrtCwCZZq1Yx3hn8bef5rpWe", + "contracts": { + "Token": { + "address": "0x9458caaca74249abbe9e964b3ce155b98ec88ef2", + "abi": [ + "constructor(address owner, string name, string symbol, uint8 tokenDecimals, uint256 initialSupply) payable", + "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)", + "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)" + ], + "constructorArgs": [ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "Token", + "TKN", + "18", + "0" + ], + "linkedLibraries": {}, + "deployTxnHash": "0x7532dfc16990f45321be00ee08f8eb3ed22e8910738163bb731b9ebdf85d12fd", + "sourceName": "src/EthenaUSD.sol", + "contractName": "EthenaUSD", + "bytecode": "", + "source": { + "solcVersion": "string", + "input": "" + }, + "deployedOn": "deploy.Token", + "highlight": true, + "gasUsed": 774713, + "gasCost": "1000000000" + } + } + } + } }, - "hash": "b4055c72302a57d1415b0f1a6798f7c4", - "version": 5 + "hash": "d478e8dcded82070032d990699323aed", + "version": 7 }, - "invoke.configureWethCollateral": { + "invoke.allowAllRegisterMarket": { "artifacts": { "contracts": {}, "txns": { - "configureWethCollateral": { - "hash": "0x5989984c14c20d10d98910c74c2605bf71de005d7c2f814de6f06ef79587c0e3", + "allowAllRegisterMarket": { + "hash": "0x24327f8f571e0e890ef559ff9dfda8f5aab1884330ffe26ef054c2a7df440879", "events": { - "CollateralConfigured": [ + "FeatureFlagAllowAllSet": [ { - "name": "CollateralConfigured", + "name": "FeatureFlagAllowAllSet", "args": [ - "0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9", - [ - true, - { - "type": "BigNumber", - "hex": "0x29a2241af62c0000" - }, - { - "type": "BigNumber", - "hex": "0x14d1120d7b160000" - }, - { - "type": "BigNumber", - "hex": "0x2386f26fc10000" - }, - "0xa1ad04e5fe674fe144be389adb9340f0b15e73d866da4e70145eec4ef867955b", - "0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9", - { - "type": "BigNumber", - "hex": "0x2386f26fc10000" - } - ] + "0x72656769737465724d61726b6574000000000000000000000000000000000000", + true ] } ] }, - "deployedOn": "invoke.configureWethCollateral" + "deployedOn": "invoke.allowAllRegisterMarket", + "gasUsed": 57033, + "gasCost": "1004537067", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" } }, - "extras": {} + "settings": {} }, - "hash": "7f9fa59670f979ce68c7197db19113eb", - "version": 6 + "hash": "8ba0a46b7fa26fcadcc308952a258f4b", + "version": 7 }, - "invoke.setAccountTimeoutWithdraw": { + "invoke.allowAllTransferCrossChain": { "artifacts": { "contracts": {}, "txns": { - "setAccountTimeoutWithdraw": { - "hash": "0x318dbc8d6abea0dfadda21b471d43557db94d9bac7afd3c25f0cf424a4e6f7c3", - "events": {}, - "deployedOn": "invoke.setAccountTimeoutWithdraw" + "allowAllTransferCrossChain": { + "hash": "0x9b04bc5e7719658cc50949d7f37736e7cc3f64bac4e9e5c903eaba72abb867cd", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x7472616e7366657243726f7373436861696e0000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.allowAllTransferCrossChain", + "gasUsed": 57081, + "gasCost": "996817068", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" } }, - "extras": {} + "settings": {} }, - "hash": "b23920a915b5a9d085f266c27bf44d73", - "version": 6 + "hash": "08124219d1732e8bdcc9c8e8d96c32df", + "version": 7 }, - "invoke.setMinimumLiquidityRatio": { + "invoke.configureChainlinkCrossChain": { "artifacts": { "contracts": {}, "txns": { - "setMinimumLiquidityRatio": { - "hash": "0xd241286950cf109a0c0b4cb8ee376f63f0ef20278db6f9ec844078691f51f7c8", + "configureChainlinkCrossChain": { + "hash": "0x2fa9d360afdd0d442bf008c8d79cdd917c6bbe9d92871cd468c990eb144756b1", "events": { - "SetMinLiquidityRatio": [ + "AssociatedSystemSet": [ { - "name": "SetMinLiquidityRatio", + "name": "AssociatedSystemSet", "args": [ - { - "type": "BigNumber", - "hex": "0x1bc16d674ec80000" - } + "0x756e6d616e616765640000000000000000000000000000000000000000000000", + "0x63636970436861696e6c696e6b53656e64000000000000000000000000000000", + "0xD0daae2231E9CB96b94C8512223533293C3693Bf", + "0xD0daae2231E9CB96b94C8512223533293C3693Bf" + ] + }, + { + "name": "AssociatedSystemSet", + "args": [ + "0x756e6d616e616765640000000000000000000000000000000000000000000000", + "0x63636970436861696e6c696e6b52656376000000000000000000000000000000", + "0xD0daae2231E9CB96b94C8512223533293C3693Bf", + "0xD0daae2231E9CB96b94C8512223533293C3693Bf" + ] + }, + { + "name": "AssociatedSystemSet", + "args": [ + "0x756e6d616e616765640000000000000000000000000000000000000000000000", + "0x63636970436861696e6c696e6b546f6b656e506f6f6c00000000000000000000", + "0x9B65749b38278060C5787Cce0391AC7f1094C8E8", + "0x9B65749b38278060C5787Cce0391AC7f1094C8E8" ] } ] }, - "deployedOn": "invoke.setMinimumLiquidityRatio" + "deployedOn": "invoke.configureChainlinkCrossChain", + "gasUsed": 284351, + "gasCost": "974443702", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" } }, - "extras": {} + "settings": {} }, - "hash": "a26212a0396ea24082e7a6838ed3c850", - "version": 6 + "hash": "a363efba9d5a7c59fca5a62b0fd06796", + "version": 7 }, "invoke.permitCreatePool": { "artifacts": { "contracts": {}, "txns": { "permitCreatePool": { - "hash": "0x1dd4315c9c682be97a780cb44a9942a5b4dbcf09b2ae8928e1b2389a1e55249e", + "hash": "0xa3d7835fb1d35b4e441ebda244a343dcd95d2fa54abea2df829bc2658e9630e2", "events": { "FeatureFlagAllowlistAdded": [ { @@ -2458,752 +3798,344 @@ } ] }, - "deployedOn": "invoke.permitCreatePool" + "deployedOn": "invoke.permitCreatePool", + "gasUsed": 101585, + "gasCost": "975374553", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" } }, - "extras": {} + "settings": {} }, - "hash": "70c840a86b4ed272c76be85b91913856", - "version": 6 + "hash": "fb61fcb323bdb96136c7815f1fe17749", + "version": 7 }, - "invoke.createScPool": { + "invoke.registerLookupSnxOracleNode": { "artifacts": { "contracts": {}, "txns": { - "createScPool": { - "hash": "0x810150b39d99dad793efcfc18475c60ab4e2e40b88ad00b4b79f5d6bfa00a559", + "registerLookupSnxOracleNode": { + "hash": "0x4bae5be58a142479d9fd2516a19c24d48d7c21bd38592580ab440504b5ef36ec", "events": { - "PoolCreated": [ + "NodeRegistered": [ { - "name": "PoolCreated", + "name": "NodeRegistered", "args": [ - { - "type": "BigNumber", - "hex": "0x01" - }, - "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", - "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + "0x6b76b73294b1dc92ada3354faa272b836ee3ce2d5be71c46cbe8b3e07e76ad0c", + 9, + "0x00000000000000000000000083ae08221416e1f5cd848a5911988a184110afd939d020f60982ed892abbcd4a06a276a9f9b7bfbce003204c110b6e488f502da30000000000000000000000000000000000000000000000000000000000000e10", + [] ] } ] }, - "deployedOn": "invoke.createScPool" + "deployedOn": "invoke.registerLookupSnxOracleNode", + "gasUsed": 154751, + "gasCost": "985509567", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" } }, - "extras": {} + "settings": { + "snx_lookup_oracle_id": "0x6b76b73294b1dc92ada3354faa272b836ee3ce2d5be71c46cbe8b3e07e76ad0c" + } }, - "hash": "08142486abd3c8b21a2bdafafa8072f9", - "version": 6 + "hash": "1f9cd63cb80d2e514fe12bd24dcc0d01", + "version": 7 }, - "invoke.setPreferredPool": { + "invoke.registerLookupSusdeOracleNode": { "artifacts": { "contracts": {}, "txns": { - "setPreferredPool": { - "hash": "0x567c892eae7905583f44ded04f924dd87be2829b48c3af323c587382dec4f9a3", + "registerLookupSusdeOracleNode": { + "hash": "0x02893c8ab4c89ad84cb20c06ef98fcf102c42710c76249dfc21d0a972c54a415", "events": { - "PreferredPoolSet": [ + "NodeRegistered": [ { - "name": "PreferredPoolSet", + "name": "NodeRegistered", "args": [ - { - "type": "BigNumber", - "hex": "0x01" - } + "0x0faa5c2008d0a57a0cc8d733733f4c9ec6c74aff68c2b3f4abb5d97f62231259", + 9, + "0x00000000000000000000000083ae08221416e1f5cd848a5911988a184110afd9ca3ba9a619a4b3755c10ac7d5e760275aa95e9823d38a84fedd416856cdba37c0000000000000000000000000000000000000000000000000000000000000e10", + [] ] } ] }, - "deployedOn": "invoke.setPreferredPool" + "deployedOn": "invoke.registerLookupSusdeOracleNode", + "gasUsed": 154751, + "gasCost": "1039581157", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" } }, - "extras": {} + "settings": { + "susde_lookup_oracle_id": "0x0faa5c2008d0a57a0cc8d733733f4c9ec6c74aff68c2b3f4abb5d97f62231259" + } }, - "hash": "480e6beb1993cfe6612decbb89f15bd7", - "version": 6 + "hash": "7747ec2880d896c43aa5c137bfc7c0e6", + "version": 7 }, - "invoke.allowAllCreatePool": { + "invoke.registerLookupWstEthOracleNode": { "artifacts": { "contracts": {}, "txns": { - "allowAllCreatePool": { - "hash": "0xbde34f5f0643836b72ef1ba26e096674969df9cfc2ac4279c0131de90730c321", + "registerLookupWstEthOracleNode": { + "hash": "0xfe0339844c46111a65f1a79990abf60a21627615ff984934f919dc228970cf24", "events": { - "FeatureFlagAllowAllSet": [ + "NodeRegistered": [ { - "name": "FeatureFlagAllowAllSet", + "name": "NodeRegistered", "args": [ - "0x637265617465506f6f6c00000000000000000000000000000000000000000000", - true + "0x4058cedfa4a25f97f611ab45fe6649dd8a71369e13f19ac4bd1bb18f54e3cfc6", + 9, + "0x00000000000000000000000083ae08221416e1f5cd848a5911988a184110afd96df640f3b8963d8f8358f791f352b8364513f6ab1cca5ed3f1f7b5448980e7840000000000000000000000000000000000000000000000000000000000000e10", + [] ] } ] }, - "deployedOn": "invoke.allowAllCreatePool" + "deployedOn": "invoke.registerLookupWstEthOracleNode", + "gasUsed": 154751, + "gasCost": "995789168", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" } }, - "extras": {} + "settings": { + "wsteth_lookup_oracle_id": "0x4058cedfa4a25f97f611ab45fe6649dd8a71369e13f19ac4bd1bb18f54e3cfc6" + } }, - "hash": "77be7e4c2dfbe7c63fecc75470d6cf08", - "version": 6 + "hash": "437c89c9ac1f135e2421cc106fd4b680", + "version": 7 }, - "invoke.allowAllRegisterMarket": { + "invoke.registerPythSnxOracleNode": { "artifacts": { "contracts": {}, "txns": { - "allowAllRegisterMarket": { - "hash": "0x91c4754f917bb051e82ba79588ee397029715b98c1c772e7e4eaf19a2b381047", + "registerPythSnxOracleNode": { + "hash": "0x661eeb54a2bb6567166de7226dffc3e1b5883a9f5ff3faf44b58fa501a751f6d", "events": { - "FeatureFlagAllowAllSet": [ + "NodeRegistered": [ { - "name": "FeatureFlagAllowAllSet", + "name": "NodeRegistered", "args": [ - "0x72656769737465724d61726b6574000000000000000000000000000000000000", - true + "0x5db8d5ecf48e99cf2e7d22ac46e623efe1bfe140b78f75ee4b243e738a52822b", + 5, + "0x000000000000000000000000dd24f84d36bf92c65f92307595335bdfab5bbd2139d020f60982ed892abbcd4a06a276a9f9b7bfbce003204c110b6e488f502da30000000000000000000000000000000000000000000000000000000000000000", + [] ] } ] }, - "deployedOn": "invoke.allowAllRegisterMarket" + "deployedOn": "invoke.registerPythSnxOracleNode", + "gasUsed": 146106, + "gasCost": "985202081", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" } }, - "extras": {} + "settings": { + "snx_pyth_oracle_id": "0x5db8d5ecf48e99cf2e7d22ac46e623efe1bfe140b78f75ee4b243e738a52822b" + } }, - "hash": "b2dcf760f92a51f5e3b54ed100ad8cbf", - "version": 6 + "hash": "2907db3c564538404dc11cdb0b449ba0", + "version": 7 }, - "invoke.registerEthOracleManager": { + "invoke.registerPythSusdeOracleNode": { "artifacts": { "contracts": {}, "txns": { - "registerEthOracleManager": { - "hash": "0x5afb29c1c93662fbf3d0184476c5a68cc058e875a5e8159d9d80a7dd45aabb53", + "registerPythSusdeOracleNode": { + "hash": "0x32f14d2e54457fb25c42d4ee105338aed9964ec30270c9856f08d73493306489", "events": { "NodeRegistered": [ { "name": "NodeRegistered", "args": [ - "0x9b9959dfd5ba62b3332fcc78c554714e336dea93322ee9f03eef2755b7849cd2", - 3, - "0x000000000000000000000000694aa1769357215de4fac081bf1f309adc32530600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000008", + "0xdf6310120694b92b54df223540e2050c7a1bad93ae217d5be1d2d32b0cf9e36c", + 5, + "0x000000000000000000000000dd24f84d36bf92c65f92307595335bdfab5bbd21ca3ba9a619a4b3755c10ac7d5e760275aa95e9823d38a84fedd416856cdba37c0000000000000000000000000000000000000000000000000000000000000000", [] ] } ] }, - "deployedOn": "invoke.registerEthOracleManager" + "deployedOn": "invoke.registerPythSusdeOracleNode", + "gasUsed": 146106, + "gasCost": "1107885076", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" } }, - "extras": { - "eth_oracle_id": "0x9b9959dfd5ba62b3332fcc78c554714e336dea93322ee9f03eef2755b7849cd2" + "settings": { + "susde_pyth_oracle_id": "0xdf6310120694b92b54df223540e2050c7a1bad93ae217d5be1d2d32b0cf9e36c" } }, - "hash": "a4ef991fe5d4edd91e60e9c7f7802660", - "version": 5 + "hash": "8e1c2141964a5911b4f5f3018f867ac8", + "version": 7 }, - "invoke.setScPoolName": { + "invoke.registerPythWstEthOracleNode": { "artifacts": { "contracts": {}, "txns": { - "setScPoolName": { - "hash": "0xe58ebce28a9081be9fe41747ec66d0c00b12018ded42b35f79012b6319460407", + "registerPythWstEthOracleNode": { + "hash": "0x5f4a24493c4a8b53d354a350327bbc366170f8a71ed9dbe30856ffa6295bd1ef", "events": { - "PoolNameUpdated": [ + "NodeRegistered": [ { - "name": "PoolNameUpdated", + "name": "NodeRegistered", "args": [ - { - "type": "BigNumber", - "hex": "0x01" - }, - "Spartan Council Pool", - "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + "0xd78e6d53200dc24c0c99ff0ee1455699b07fd68228c903f1123dcf529f81db49", + 5, + "0x000000000000000000000000dd24f84d36bf92c65f92307595335bdfab5bbd216df640f3b8963d8f8358f791f352b8364513f6ab1cca5ed3f1f7b5448980e7840000000000000000000000000000000000000000000000000000000000000000", + [] ] } ] }, - "deployedOn": "invoke.setScPoolName" + "deployedOn": "invoke.registerPythWstEthOracleNode", + "gasUsed": 146106, + "gasCost": "1059031403", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" } }, - "extras": {} + "settings": { + "wsteth_pyth_oracle_id": "0xd78e6d53200dc24c0c99ff0ee1455699b07fd68228c903f1123dcf529f81db49" + } }, - "hash": "865e58ccf82574cd9b7679d764446754", - "version": 6 + "hash": "d8210dd7cef09b7c8bb22774e65fd05e", + "version": 7 }, - "invoke.registerEthOracleNode": { + "invoke.register_usde_oracle_node": { "artifacts": { "contracts": {}, "txns": { - "registerEthOracleNode": { - "hash": "0x7b4a48e8c58d960193268e12d585a86ae085365b812225848c01bcb6d5fcecac", + "register_usde_oracle_node": { + "hash": "0xe202040bc1ecd06004319e9c98c1a86179c5b861bb20c445a5fcc14ec5ee51c8", "events": { "NodeRegistered": [ { "name": "NodeRegistered", "args": [ - "0xa1ad04e5fe674fe144be389adb9340f0b15e73d866da4e70145eec4ef867955b", + "0x6ae877954415ceaedd606bf8e6a37b812e5ce49c195785255be2934391b2d2ea", 3, - "0x000000000000000000000000694aa1769357215de4fac081bf1f309adc32530600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008", [] ] } ] }, - "deployedOn": "invoke.registerEthOracleNode" + "deployedOn": "invoke.register_usde_oracle_node", + "gasUsed": 155145, + "gasCost": "1087613125", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" } }, - "extras": { - "eth_oracle_id": "0xa1ad04e5fe674fe144be389adb9340f0b15e73d866da4e70145eec4ef867955b" + "settings": { + "usde_oracle_id": "0x6ae877954415ceaedd606bf8e6a37b812e5ce49c195785255be2934391b2d2ea" } }, - "hash": "a3005d4c9fc0225f9cabc1120aaad055", - "version": 6 + "hash": "06b1a54caeea01460fb1ceb1aa1d4194", + "version": 7 }, - "invoke.configureChainlinkCrossChain": { + "invoke.setAccountTimeoutWithdraw": { "artifacts": { "contracts": {}, "txns": { - "configureChainlinkCrossChain": { - "hash": "0xf4bfcc9b6f09c6e8f40ea105d01f7596a1206ea7c1ecc97bc0379e6ce4f1df8b", - "events": { - "AssociatedSystemSet": [ - { - "name": "AssociatedSystemSet", - "args": [ - "0x756e6d616e616765640000000000000000000000000000000000000000000000", - "0x63636970436861696e6c696e6b53656e64000000000000000000000000000000", - "0xD0daae2231E9CB96b94C8512223533293C3693Bf", - "0xD0daae2231E9CB96b94C8512223533293C3693Bf" - ] - }, - { - "name": "AssociatedSystemSet", - "args": [ - "0x756e6d616e616765640000000000000000000000000000000000000000000000", - "0x63636970436861696e6c696e6b52656376000000000000000000000000000000", - "0xD0daae2231E9CB96b94C8512223533293C3693Bf", - "0xD0daae2231E9CB96b94C8512223533293C3693Bf" - ] - }, - { - "name": "AssociatedSystemSet", - "args": [ - "0x756e6d616e616765640000000000000000000000000000000000000000000000", - "0x63636970436861696e6c696e6b546f6b656e506f6f6c00000000000000000000", - "0x9B65749b38278060C5787Cce0391AC7f1094C8E8", - "0x9B65749b38278060C5787Cce0391AC7f1094C8E8" - ] - } - ] - }, - "deployedOn": "invoke.configureChainlinkCrossChain" + "setAccountTimeoutWithdraw": { + "hash": "0x5c87296f60a01d619f844d64cd528a2514ad638df51943944dc2a25242c8d084", + "events": {}, + "deployedOn": "invoke.setAccountTimeoutWithdraw", + "gasUsed": 54931, + "gasCost": "1001774517", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" } }, - "extras": {} + "settings": {} }, - "hash": "805486600a421a0c42dffbefbc1699ca", - "version": 6 + "hash": "ec2a88288450968a396c4c25ec74a979", + "version": 7 }, - "invoke.setSupportedCrossChainNetworks": { + "invoke.setMinimumLiquidityRatio": { "artifacts": { "contracts": {}, "txns": { - "setSupportedCrossChainNetworks_ambassador_council.CoreProxy": { - "hash": "0xfec94a69c5c54d292877258b07d20f7caf0398574e8ee247b65bfde5f1684eb3", + "setMinimumLiquidityRatio": { + "hash": "0x59d09ac4a9787212c5d7574b748565e9e466f30295322ef99b4421f52586a415", "events": { - "NewSupportedCrossChainNetwork": [ - { - "name": "NewSupportedCrossChainNetwork", - "args": [ - { - "type": "BigNumber", - "hex": "0xaa36a7" - } - ] - }, - { - "name": "NewSupportedCrossChainNetwork", - "args": [ - { - "type": "BigNumber", - "hex": "0x013881" - } - ] - }, + "SetMinLiquidityRatio": [ { - "name": "NewSupportedCrossChainNetwork", + "name": "SetMinLiquidityRatio", "args": [ - { - "type": "BigNumber", - "hex": "0x014a33" - } + "2000000000000000000" ] } ] }, - "deployedOn": "invoke.setSupportedCrossChainNetworks", - "gasUsed": 331437, - "gasCost": "5565495429", + "deployedOn": "invoke.setMinimumLiquidityRatio", + "gasUsed": 55724, + "gasCost": "1085263877", "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" - }, - "setSupportedCrossChainNetworks_grants_council.CoreProxy": { - "hash": "0xb76595ca394774c7a5045c515b3df9182177f3bbb79a690a302b7ba24a9f4d07", + } + }, + "settings": {} + }, + "hash": "bcbc0b901e4e2fa6e140b2c69d2c4e19", + "version": 7 + }, + "invoke.setSupportedCrossChainNetworks": { + "artifacts": { + "contracts": {}, + "txns": { + "setSupportedCrossChainNetworks": { + "hash": "0xafabe60745442a07c8b4476f9f4f3221f14f506c14ec560a836d4eb3e2b22cb7", "events": { "NewSupportedCrossChainNetwork": [ { "name": "NewSupportedCrossChainNetwork", "args": [ - { - "type": "BigNumber", - "hex": "0xaa36a7" - } - ] - }, - { - "name": "NewSupportedCrossChainNetwork", - "args": [ - { - "type": "BigNumber", - "hex": "0x013881" - } + "420" ] }, { "name": "NewSupportedCrossChainNetwork", "args": [ - { - "type": "BigNumber", - "hex": "0x014a33" - } - ] - } - ] - }, - "deployedOn": "invoke.setSupportedCrossChainNetworks", - "gasUsed": 331437, - "gasCost": "5239273133", - "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" - }, - "setSupportedCrossChainNetworks_spartan_council.CoreProxy": { - "hash": "0x7566ac4d92e4ee27ef72a6a2018975ac35a25271e89d28a00fdd440c2a7a10c0", - "events": { - "NewSupportedCrossChainNetwork": [ - { - "name": "NewSupportedCrossChainNetwork", - "args": [ - { - "type": "BigNumber", - "hex": "0xaa36a7" - } + "421613" ] }, { "name": "NewSupportedCrossChainNetwork", "args": [ - { - "type": "BigNumber", - "hex": "0x013881" - } + "80001" ] }, { "name": "NewSupportedCrossChainNetwork", "args": [ - { - "type": "BigNumber", - "hex": "0x014a33" - } + "84531" ] } ] }, "deployedOn": "invoke.setSupportedCrossChainNetworks", - "gasUsed": 331437, - "gasCost": "5593670856", + "gasUsed": 426007, + "gasCost": "1074932038", "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" - }, - "setSupportedCrossChainNetworks_treasury_council.CoreProxy": { - "hash": "0x0924b8e4dc3644b31c38a0c1f33d0d85fd59af6f94c4b41fb481aa2ec65ca305", - "events": { - "NewSupportedCrossChainNetwork": [ - { - "name": "NewSupportedCrossChainNetwork", - "args": [ - { - "type": "BigNumber", - "hex": "0xaa36a7" - } - ] - }, - { - "name": "NewSupportedCrossChainNetwork", - "args": [ - { - "type": "BigNumber", - "hex": "0x013881" - } - ] - }, - { - "name": "NewSupportedCrossChainNetwork", - "args": [ - { - "type": "BigNumber", - "hex": "0x014a33" - } - ] - } - ] - }, - "deployedOn": "invoke.setSupportedCrossChainNetworks", - "gasUsed": 331437, - "gasCost": "5380723238", - "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" - } - }, - "extras": {} - }, - "hash": "c1e6017dc59c3e240b9e2e4d3977e0ea", - "version": 6 - }, - "invoke.allowAllTransferCrossChain": { - "artifacts": { - "contracts": {}, - "txns": { - "allowAllTransferCrossChain": { - "hash": "0xff6d814717101ab5fa9610456bc035fea59fb0617b1b25e9da3777a2cc6f0a41", - "events": { - "FeatureFlagAllowAllSet": [ - { - "name": "FeatureFlagAllowAllSet", - "args": [ - "0x7472616e7366657243726f7373436861696e0000000000000000000000000000", - true - ] - } - ] - }, - "deployedOn": "invoke.allowAllTransferCrossChain" - } - }, - "extras": {} - }, - "hash": "c511466719bfeaab1dcd85a746cfd559", - "version": 6 - }, - "invoke.create_snx_pool": { - "artifacts": { - "contracts": {}, - "txns": { - "create_snx_pool": { - "hash": "0x7ed297bfc11e651633027596d808ba565e76442979687bb3f8c774fa0fe4adeb", - "events": { - "PoolCreated": [ - { - "name": "PoolCreated", - "args": [ - { - "type": "BigNumber", - "hex": "0x02" - }, - "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", - "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" - ] - } - ] - }, - "deployedOn": "invoke.create_snx_pool" - } - }, - "extras": {} - }, - "hash": "8d35c04416940cdc117b8b513602f41f", - "version": 6 - }, - "invoke.approve_snx_pool": { - "artifacts": { - "contracts": {}, - "txns": { - "approve_snx_pool": { - "hash": "0x6c4a18c98a4a918865deb1a06cace56364a4326c4c5bcf78f38e6f082bfc5603", - "events": { - "PoolApprovedAdded": [ - { - "name": "PoolApprovedAdded", - "args": [ - { - "type": "BigNumber", - "hex": "0x02" - } - ] - } - ] - }, - "deployedOn": "invoke.approve_snx_pool" - } - }, - "extras": {} - }, - "hash": "11394d965dc5a1067034e2a73b3c5400", - "version": 6 - }, - "invoke.set_snx_pool_name": { - "artifacts": { - "contracts": {}, - "txns": { - "set_snx_pool_name": { - "hash": "0x3c25514041ba41a37db0b647596634b5d1b3a0e598837f58bb6db853fe6f2836", - "events": { - "PoolNameUpdated": [ - { - "name": "PoolNameUpdated", - "args": [ - { - "type": "BigNumber", - "hex": "0x02" - }, - "Passive SNX Pool", - "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" - ] - } - ] - }, - "deployedOn": "invoke.set_snx_pool_name" } }, - "extras": {} + "settings": {} }, - "hash": "1e37409846a57ac9fc8631278bf6e276", - "version": 6 + "hash": "4e4be73a1f0b19397c6ab0d71dcc3a46", + "version": 7 }, - "provision.ambassador_council": { + "provision.legacyMarket": { "artifacts": { "imports": { - "ambassador_council": { - "url": "ipfs://QmdN6ZCgMD6rbDEuwruDqzF8Amf9WLsPVfAapadZFLh4m9", + "legacyMarket": { + "url": "ipfs://QmPPYzHKgM3dCpgDTtieWFakbSdHC5gxuhS5DzATYDDVnE", "tags": [ "latest" ], - "preset": "with-synthetix-omnibus", + "target": "synthetix-legacy-market:3.3.4@main", + "preset": "main", "contracts": { - "AssociatedSystemsModule": { - "address": "0x2D0E0c70d3711E36fD3e3d97f3018f0961CF7431", - "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": "0xc1037c1da14870fb7af771a4deda67c75ca3daaf91f5bef3eb93435be63c408e", - "sourceName": "contracts/modules/core/AssociatedSystemsModule.sol", - "contractName": "AssociatedSystemsModule", - "deployedOn": "contract.AssociatedSystemsModule", - "gasUsed": 877177, - "gasCost": "5384177997" - }, - "CcipReceiverModule": { - "address": "0xD3Df4aa5246d16646f2aC13255A263E93F139506", - "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": "0xab8181dfce4daef1fa7f8fbf0ee299496675d8f01fb0ae90e3992a9417595e51", - "sourceName": "contracts/modules/core/CcipReceiverModule.sol", - "contractName": "CcipReceiverModule", - "deployedOn": "contract.CcipReceiverModule", - "gasUsed": 494281, - "gasCost": "5279886099" - }, - "CouncilTokenModule": { - "address": "0xc068D7E918a95de3864BcC4Ca17457971F1240bB", - "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 NotImplemented()", - "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": "0x9e105a645586096eda04db2b8fa1ff00ecd0ddafaa3873fced35532df5c0e40c", - "sourceName": "contracts/modules/council-nft/CouncilTokenModule.sol", - "contractName": "CouncilTokenModule", - "deployedOn": "contract.CouncilTokenModule", - "gasUsed": 1669255, - "gasCost": "5242099897" - }, - "CrossChainModule": { - "address": "0x0a82fEC380F683c3b86e4776f6cD5F6B20596b0d", - "abi": [ - "error InvalidParameter(string parameter, string reason)", - "error OverflowUint256ToUint64()", - "error Unauthorized(address addr)", - "error ValueAlreadyInSet()", - "event NewSupportedCrossChainNetwork(uint64 newChainId)", - "function configureChainlinkCrossChain(address ccipRouter)", - "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)" - ], - "constructorArgs": [], - "linkedLibraries": {}, - "deployTxnHash": "0x674b89027576f25dd53a25a538ec7ca68ff0af3ae665d6322bd1ee6284e02507", - "sourceName": "contracts/modules/core/CrossChainModule.sol", - "contractName": "CrossChainModule", - "deployedOn": "contract.CrossChainModule", - "gasUsed": 433366, - "gasCost": "5184015169" - }, - "ElectionInspectorModule": { - "address": "0x76D6aEc5eFe9BE390E7F461F024fF2385269Caac", - "abi": [ - "function getCandidateVotesInEpoch(address candidate, uint256 epochIndex) view returns (uint256)", - "function getElectionWinnersInEpoch(uint256 epochIndex) view returns (address[])", - "function getEpochEndDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getEpochStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNominationPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNomineesAtEpoch(uint256 epochIndex) view returns (address[])", - "function getVotingPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function hasVotedInEpoch(address user, uint256 chainId, uint256 epochIndex) view returns (bool)", - "function wasNominated(address candidate, uint256 epochIndex) view returns (bool)" - ], - "constructorArgs": [], - "linkedLibraries": {}, - "deployTxnHash": "0x5a3bc3b154af5c4f189e8f0ef2b4b9b0a725709e7397373459ee22b32a43400c", - "sourceName": "contracts/modules/core/ElectionInspectorModule.sol", - "contractName": "ElectionInspectorModule", - "deployedOn": "contract.ElectionInspectorModule", - "gasUsed": 348680, - "gasCost": "5609845706" - }, - "ElectionModule": { - "address": "0x841c1C6C453e9D1F5f439DD8E60E33ee96164b2A", - "abi": [ - "error AlreadyACouncilMember()", - "error AlreadyNominated()", - "error ChangesCurrentPeriod()", - "error DuplicateCandidates(address duplicatedCandidate)", - "error ElectionAlreadyEvaluated()", - "error ElectionNotEvaluated()", - "error EmptyArray()", - "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", - "error InvalidBallot()", - "error InvalidElectionSettings()", - "error InvalidEpochConfiguration(uint256 code, uint64 v1, uint64 v2)", - "error InvalidParameter(string parameter, string reason)", - "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", - "error NoCandidates()", - "error NoVotingPower(address sender, uint256 currentEpoch)", - "error NotACouncilMember()", - "error NotCallableInCurrentPeriod()", - "error NotImplemented()", - "error NotNominated()", - "error OverflowUint256ToUint64()", - "error PositionOutOfBounds()", - "error TooManyMembers()", - "error Unauthorized(address addr)", - "error ValueAlreadyInSet()", - "error ValueNotInSet()", - "event CandidateNominated(address indexed candidate, uint256 indexed epochId)", - "event CouncilMemberAdded(address indexed member, uint256 indexed epochIndex)", - "event CouncilMemberRemoved(address indexed member, uint256 indexed epochIndex)", - "event CouncilMembersDismissed(address[] dismissedMembers, uint256 epochId)", - "event ElectionBatchEvaluated(uint256 indexed epochId, uint256 numEvaluatedBallots, uint256 totalBallots)", - "event ElectionEvaluated(uint256 indexed epochId, uint256 ballotCount)", - "event ElectionModuleInitialized()", - "event EmergencyElectionStarted(uint256 indexed epochId)", - "event EpochScheduleUpdated(uint64 indexed epochId, uint64 startDate, uint64 endDate)", - "event EpochStarted(uint256 indexed epochId)", - "event NominationWithdrawn(address indexed candidate, uint256 indexed epochId)", - "event VoteRecorded(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, uint256 votingPower, address[] candidates)", - "event VoteWithdrawn(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, address[] candidates)", - "function _recvCast(uint256 epochIndex, address voter, uint256 votingPower, uint256 chainId, address[] candidates, uint256[] amounts)", - "function _recvDismissMembers(address[] membersToDismiss, uint256 epochIndex)", - "function _recvResolve(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function _recvTweakEpochSchedule(uint256 epochIndex, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate)", - "function _recvWithdrawVote(uint256 epochIndex, address voter, uint256 chainId, address[] candidates)", - "function cast(address[] candidates, uint256[] amounts) payable", - "function dismissMembers(address[] membersToDismiss) payable", - "function evaluate(uint256 numBallots)", - "function getBallot(address voter, uint256 chainId, uint256 electionId) pure returns (tuple(uint256 votingPower, address[] votedCandidates, uint256[] amounts))", - "function getBallotCandidates(address voter, uint256 chainId, uint256 electionId) view returns (address[])", - "function getCandidateVotes(address candidate) view returns (uint256)", - "function getCouncilMembers() view returns (address[])", - "function getCouncilToken() view returns (address)", - "function getCurrentPeriod() view returns (uint256)", - "function getElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getElectionWinners() view returns (address[])", - "function getEpochIndex() view returns (uint256)", - "function getEpochSchedule() view returns (tuple(uint64 startDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 endDate) epoch)", - "function getNextElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getNominees() view returns (address[])", - "function getVotePower(address user, uint256 chainId, uint256 electionId) view returns (uint256)", - "function hasVoted(address user, uint256 chainId) view returns (bool)", - "function initElectionModuleSatellite(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function initElectionModuleSatellite() payable", - "function initOrUpdateElectionSettings(address[] initialCouncil, uint8 minimumActiveMembers, uint64 initialNominationPeriodStartDate, uint64 administrationPeriodDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration)", - "function isElectionEvaluated() view returns (bool)", - "function isElectionModuleInitialized() view returns (bool)", - "function isNominated(address candidate) view returns (bool)", - "function nominate()", - "function resolve() payable", - "function setNextElectionSettings(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance)", - "function tweakEpochSchedule(uint64 newNominationPeriodStartDate, uint64 newVotingPeriodStartDate, uint64 newEpochEndDate)", - "function withdrawNomination()", - "function withdrawVote(address[] candidates) payable" - ], - "constructorArgs": [], - "linkedLibraries": {}, - "deployTxnHash": "0x3c63afe18c3b843096b154b1b1177d07af38d860762e0524056ab2b46fc83ec5", - "sourceName": "contracts/modules/core/ElectionModule.sol", - "contractName": "ElectionModule", - "deployedOn": "contract.ElectionModule", - "gasUsed": 3998177, - "gasCost": "1717510069" - }, "InitialModuleBundle": { - "address": "0x8a0221CabE12b3C8BA33ab13397dDC575DA1CcC1", + "address": "0xC58723Db315E0abdA2811cE37b25488483e25f7C", "abi": [ "error ImplementationIsSterile(address implementation)", "error NoChange()", @@ -3226,41 +4158,15 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "", - "sourceName": "contracts/modules/core/InitialModuleBundle.sol", + "deployTxnHash": "0x975284f0877d84edd9d5336dedd476cc4ef3b083f4ec044bf81a20206b5350b2", + "sourceName": "contracts/InitialModuleBundle.sol", "contractName": "InitialModuleBundle", "deployedOn": "contract.InitialModuleBundle", - "gasUsed": 0, - "gasCost": "0" - }, - "SnapshotVotePowerModule": { - "address": "0xb615e9F26a23e96bDE1CDA45cA3fEBC609418ef2", - "abi": [ - "error BallotAlreadyPrepared(address voter, uint256 electionId)", - "error InvalidSnapshotContract()", - "error NoPower(uint256, address)", - "error NotCallableInCurrentPeriod()", - "error OverflowUint256ToUint128()", - "error OverflowUint256ToUint64()", - "error SnapshotAlreadyTaken(uint128 snapshotId)", - "error SnapshotNotTaken(address snapshotContract, uint128 electionId)", - "error Unauthorized(address addr)", - "function getVotePowerSnapshotId(address snapshotContract, uint128 electionId) view returns (uint128)", - "function prepareBallotWithSnapshot(address snapshotContract, address voter) returns (uint256 power)", - "function setSnapshotContract(address snapshotContract, bool enabled)", - "function takeVotePowerSnapshot(address snapshotContract) returns (uint128 snapshotId)" - ], - "constructorArgs": [], - "linkedLibraries": {}, - "deployTxnHash": "0x0ee7d67d1db37024aeeb90ef6405da73f28953e5630bc4c186dc9eb2320e3358", - "sourceName": "contracts/modules/core/SnapshotVotePowerModule.sol", - "contractName": "SnapshotVotePowerModule", - "deployedOn": "contract.SnapshotVotePowerModule", - "gasUsed": 654596, - "gasCost": "6542681869" + "gasUsed": 496162, + "gasCost": "1069461708" }, "InitialProxy": { - "address": "0x9abCc1d560C1af4Cf8a84D80AE5E35a24C1f38FA", + "address": "0x94c53500d38f95dEea37Bada599d54D8DabEF776", "abi": [ "error ImplementationIsSterile(address implementation)", "error NoChange()", @@ -3282,2564 +4188,5394 @@ "function upgradeTo(address newImplementation)" ], "constructorArgs": [ - "0x8a0221CabE12b3C8BA33ab13397dDC575DA1CcC1", + "0xC58723Db315E0abdA2811cE37b25488483e25f7C", "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" ], "linkedLibraries": {}, - "deployTxnHash": "0x0903b8022ca1ab52a25c45dc78f45e19dd4f7c72d241d4abcec25c50511ea5a3", + "deployTxnHash": "0xdc58e13445f6345571a1daf51f9e15f4b0c6fe6969ee2511404ccc1bf1c0ddb8", "sourceName": "contracts/Proxy.sol", "contractName": "Proxy", "deployedOn": "contract.InitialProxy", - "gasUsed": 185358, - "gasCost": "6706057890" + "gasUsed": 248149, + "gasCost": "1045222101" }, - "CoreRouter": { - "address": "0x89CB5446B63f4A7807928Ef504ED501A6b18Ec3d", + "Market": { + "address": "0xD95bC33655D4367a474aeFD2F42afeaC214309Dd", "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)", - "error InvalidParameter(string parameter, string reason)", - "error OverflowUint256ToUint64()", - "error ValueAlreadyInSet()", - "event NewSupportedCrossChainNetwork(uint64 newChainId)", - "function configureChainlinkCrossChain(address ccipRouter)", - "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)", - "function getCandidateVotesInEpoch(address candidate, uint256 epochIndex) view returns (uint256)", - "function getElectionWinnersInEpoch(uint256 epochIndex) view returns (address[])", - "function getEpochEndDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getEpochStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNominationPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNomineesAtEpoch(uint256 epochIndex) view returns (address[])", - "function getVotingPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function hasVotedInEpoch(address user, uint256 chainId, uint256 epochIndex) view returns (bool)", - "function wasNominated(address candidate, uint256 epochIndex) view returns (bool)", - "error AlreadyACouncilMember()", - "error AlreadyNominated()", - "error ChangesCurrentPeriod()", - "error DuplicateCandidates(address duplicatedCandidate)", - "error ElectionAlreadyEvaluated()", - "error ElectionNotEvaluated()", - "error EmptyArray()", - "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", - "error InvalidBallot()", - "error InvalidElectionSettings()", - "error InvalidEpochConfiguration(uint256 code, uint64 v1, uint64 v2)", - "error NoCandidates()", - "error NoVotingPower(address sender, uint256 currentEpoch)", - "error NotACouncilMember()", - "error NotCallableInCurrentPeriod()", - "error NotImplemented()", - "error NotNominated()", - "error PositionOutOfBounds()", - "error TooManyMembers()", - "error ValueNotInSet()", - "event CandidateNominated(address indexed candidate, uint256 indexed epochId)", - "event CouncilMemberAdded(address indexed member, uint256 indexed epochIndex)", - "event CouncilMemberRemoved(address indexed member, uint256 indexed epochIndex)", - "event CouncilMembersDismissed(address[] dismissedMembers, uint256 epochId)", - "event ElectionBatchEvaluated(uint256 indexed epochId, uint256 numEvaluatedBallots, uint256 totalBallots)", - "event ElectionEvaluated(uint256 indexed epochId, uint256 ballotCount)", - "event ElectionModuleInitialized()", - "event EmergencyElectionStarted(uint256 indexed epochId)", - "event EpochScheduleUpdated(uint64 indexed epochId, uint64 startDate, uint64 endDate)", - "event EpochStarted(uint256 indexed epochId)", - "event NominationWithdrawn(address indexed candidate, uint256 indexed epochId)", - "event VoteRecorded(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, uint256 votingPower, address[] candidates)", - "event VoteWithdrawn(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, address[] candidates)", - "function _recvCast(uint256 epochIndex, address voter, uint256 votingPower, uint256 chainId, address[] candidates, uint256[] amounts)", - "function _recvDismissMembers(address[] membersToDismiss, uint256 epochIndex)", - "function _recvResolve(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function _recvTweakEpochSchedule(uint256 epochIndex, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate)", - "function _recvWithdrawVote(uint256 epochIndex, address voter, uint256 chainId, address[] candidates)", - "function cast(address[] candidates, uint256[] amounts) payable", - "function dismissMembers(address[] membersToDismiss) payable", - "function evaluate(uint256 numBallots)", - "function getBallot(address voter, uint256 chainId, uint256 electionId) pure returns (tuple(uint256 votingPower, address[] votedCandidates, uint256[] amounts))", - "function getBallotCandidates(address voter, uint256 chainId, uint256 electionId) view returns (address[])", - "function getCandidateVotes(address candidate) view returns (uint256)", - "function getCouncilMembers() view returns (address[])", - "function getCouncilToken() view returns (address)", - "function getCurrentPeriod() view returns (uint256)", - "function getElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getElectionWinners() view returns (address[])", - "function getEpochIndex() view returns (uint256)", - "function getEpochSchedule() view returns (tuple(uint64 startDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 endDate) epoch)", - "function getNextElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getNominees() view returns (address[])", - "function getVotePower(address user, uint256 chainId, uint256 electionId) view returns (uint256)", - "function hasVoted(address user, uint256 chainId) view returns (bool)", - "function initElectionModuleSatellite(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function initElectionModuleSatellite() payable", - "function initOrUpdateElectionSettings(address[] initialCouncil, uint8 minimumActiveMembers, uint64 initialNominationPeriodStartDate, uint64 administrationPeriodDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration)", - "function isElectionEvaluated() view returns (bool)", - "function isElectionModuleInitialized() view returns (bool)", - "function isNominated(address candidate) view returns (bool)", - "function nominate()", - "function resolve() payable", - "function setNextElectionSettings(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance)", - "function tweakEpochSchedule(uint64 newNominationPeriodStartDate, uint64 newVotingPeriodStartDate, uint64 newEpochEndDate)", - "function withdrawNomination()", - "function withdrawVote(address[] candidates) payable", - "error BallotAlreadyPrepared(address voter, uint256 electionId)", - "error InvalidSnapshotContract()", - "error NoPower(uint256, address)", - "error OverflowUint256ToUint128()", - "error SnapshotAlreadyTaken(uint128 snapshotId)", - "error SnapshotNotTaken(address snapshotContract, uint128 electionId)", - "function getVotePowerSnapshotId(address snapshotContract, uint128 electionId) view returns (uint128)", - "function prepareBallotWithSnapshot(address snapshotContract, address voter) returns (uint256 power)", - "function setSnapshotContract(address snapshotContract, bool enabled)", - "function takeVotePowerSnapshot(address snapshotContract) returns (uint128 snapshotId)", + "constructor()", "error ImplementationIsSterile(address implementation)", + "error InsufficientCollateralMigrated(uint256 amountRequested, uint256 amountAvailable)", + "error InvalidParameter(string parameter, string reason)", + "error MarketAlreadyRegistered(uint256 existingMarketId)", + "error MigrationInProgress()", "error NoChange()", "error NotAContract(address contr)", "error NotNominated(address addr)", + "error NothingToMigrate()", + "error OverflowUint256ToUint128()", + "error Paused()", + "error Unauthorized(address addr)", "error UpgradeSimulationFailed()", "error ZeroAddress()", + "event AccountLiquidatedInMigration(address staker, uint256 collateralAmount, uint256 debtAmount, uint256 cratio)", + "event AccountMigrated(address indexed staker, uint256 indexed accountId, uint256 collateralAmount, uint256 debtAmount)", + "event ConvertedUSD(address indexed account, uint256 amount)", + "event MarketRegistered(address indexed marketAddress, uint128 indexed marketId, address indexed sender)", "event OwnerChanged(address oldOwner, address newOwner)", "event OwnerNominated(address newOwner)", + "event PauseMigrationSet(address indexed sender, bool paused)", + "event PauseStablecoinConversionSet(address indexed sender, bool paused)", "event Upgraded(address indexed self, address implementation)", + "function MIN_DELEGATION_TIME() view returns (uint32)", "function acceptOwnership()", + "function convertUSD(uint256 amount)", "function getImplementation() view returns (address)", + "function marketId() view returns (uint128)", + "function migrate(uint128 accountId)", + "function migrateOnBehalf(address staker, uint128 accountId)", + "function minimumCredit(uint128) pure returns (uint256 lockedAmount)", + "function name(uint128) pure returns (string)", "function nominateNewOwner(address newNominatedOwner)", "function nominatedOwner() view returns (address)", + "function onERC721Received(address operator, address, uint256, bytes) view returns (bytes4)", "function owner() view returns (address)", + "function pauseMigration() view returns (bool)", + "function pauseStablecoinConversion() view returns (bool)", + "function registerMarket() returns (uint128 newMarketId)", "function renounceNomination()", + "function reportedDebt(uint128 requestedMarketId) view returns (uint256 debt)", + "function rewardsDistributor() view returns (address)", + "function setPauseMigration(bool paused)", + "function setPauseStablecoinConversion(bool paused)", + "function setSystemAddresses(address v2xResolverAddress, address v3SystemAddress, address snxDistributor) returns (bool didInitialize)", "function simulateUpgradeTo(address newImplementation)", - "function upgradeTo(address newImplementation)", - "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)" + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function upgradeTo(address to)", + "function v2xResolver() view returns (address)", + "function v3System() view returns (address)" ], - "deployedOn": "router.CoreRouter", - "deployTxnHash": "0x836f73c82ea5db18f46d4509d7a6279b9e7a002d6845ef997cd139b901c74b36", - "contractName": "CoreRouter", - "sourceName": "CoreRouter.sol", - "gasUsed": 682369, - "gasCost": "1723826903" + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "0xac6d839297391612744a8bfe18e64c8970a05cc53f88a5e0e6f9b3486956d803", + "sourceName": "contracts/LegacyMarket.sol", + "contractName": "LegacyMarket", + "deployedOn": "contract.Market", + "gasUsed": 2467239, + "gasCost": "1041063393" }, - "CouncilTokenRouter": { - "address": "0x6ae2597A90C94999566031655b7C388cCF8283C5", + "Proxy": { + "address": "0x94c53500d38f95dEea37Bada599d54D8DabEF776", "abi": [ - "error AlreadyInitialized()", - "error CannotSelfApprove(address addr)", - "error IndexOverrun(uint256 requestedIndex, uint256 length)", - "error InvalidOwner(address addr)", + "constructor()", + "error ImplementationIsSterile(address implementation)", + "error InsufficientCollateralMigrated(uint256 amountRequested, uint256 amountAvailable)", "error InvalidParameter(string parameter, string reason)", - "error InvalidTransferRecipient(address addr)", - "error NotImplemented()", - "error TokenAlreadyMinted(uint256 id)", - "error TokenDoesNotExist(uint256 id)", + "error MarketAlreadyRegistered(uint256 existingMarketId)", + "error MigrationInProgress()", + "error NoChange()", + "error NotAContract(address contr)", + "error NotNominated(address addr)", + "error NothingToMigrate()", + "error OverflowUint256ToUint128()", + "error Paused()", "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)", - "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)" - ], - "deployedOn": "router.CouncilTokenRouter", - "deployTxnHash": "0x5dd7c6991a6c04b6ccbcf19da661a61a9073690a57f8e5ecee1517bb9d5bfd5d", - "contractName": "CouncilTokenRouter", - "sourceName": "CouncilTokenRouter.sol", - "gasUsed": 403596, - "gasCost": "5879725532" - }, - "CoreProxy": { - "address": "0x9abCc1d560C1af4Cf8a84D80AE5E35a24C1f38FA", - "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)", - "error InvalidParameter(string parameter, string reason)", - "error OverflowUint256ToUint64()", - "error ValueAlreadyInSet()", - "event NewSupportedCrossChainNetwork(uint64 newChainId)", - "function configureChainlinkCrossChain(address ccipRouter)", - "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)", - "function getCandidateVotesInEpoch(address candidate, uint256 epochIndex) view returns (uint256)", - "function getElectionWinnersInEpoch(uint256 epochIndex) view returns (address[])", - "function getEpochEndDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getEpochStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNominationPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNomineesAtEpoch(uint256 epochIndex) view returns (address[])", - "function getVotingPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function hasVotedInEpoch(address user, uint256 chainId, uint256 epochIndex) view returns (bool)", - "function wasNominated(address candidate, uint256 epochIndex) view returns (bool)", - "error AlreadyACouncilMember()", - "error AlreadyNominated()", - "error ChangesCurrentPeriod()", - "error DuplicateCandidates(address duplicatedCandidate)", - "error ElectionAlreadyEvaluated()", - "error ElectionNotEvaluated()", - "error EmptyArray()", - "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", - "error InvalidBallot()", - "error InvalidElectionSettings()", - "error InvalidEpochConfiguration(uint256 code, uint64 v1, uint64 v2)", - "error NoCandidates()", - "error NoVotingPower(address sender, uint256 currentEpoch)", - "error NotACouncilMember()", - "error NotCallableInCurrentPeriod()", - "error NotImplemented()", - "error NotNominated()", - "error PositionOutOfBounds()", - "error TooManyMembers()", - "error ValueNotInSet()", - "event CandidateNominated(address indexed candidate, uint256 indexed epochId)", - "event CouncilMemberAdded(address indexed member, uint256 indexed epochIndex)", - "event CouncilMemberRemoved(address indexed member, uint256 indexed epochIndex)", - "event CouncilMembersDismissed(address[] dismissedMembers, uint256 epochId)", - "event ElectionBatchEvaluated(uint256 indexed epochId, uint256 numEvaluatedBallots, uint256 totalBallots)", - "event ElectionEvaluated(uint256 indexed epochId, uint256 ballotCount)", - "event ElectionModuleInitialized()", - "event EmergencyElectionStarted(uint256 indexed epochId)", - "event EpochScheduleUpdated(uint64 indexed epochId, uint64 startDate, uint64 endDate)", - "event EpochStarted(uint256 indexed epochId)", - "event NominationWithdrawn(address indexed candidate, uint256 indexed epochId)", - "event VoteRecorded(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, uint256 votingPower, address[] candidates)", - "event VoteWithdrawn(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, address[] candidates)", - "function _recvCast(uint256 epochIndex, address voter, uint256 votingPower, uint256 chainId, address[] candidates, uint256[] amounts)", - "function _recvDismissMembers(address[] membersToDismiss, uint256 epochIndex)", - "function _recvResolve(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function _recvTweakEpochSchedule(uint256 epochIndex, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate)", - "function _recvWithdrawVote(uint256 epochIndex, address voter, uint256 chainId, address[] candidates)", - "function cast(address[] candidates, uint256[] amounts) payable", - "function dismissMembers(address[] membersToDismiss) payable", - "function evaluate(uint256 numBallots)", - "function getBallot(address voter, uint256 chainId, uint256 electionId) pure returns (tuple(uint256 votingPower, address[] votedCandidates, uint256[] amounts))", - "function getBallotCandidates(address voter, uint256 chainId, uint256 electionId) view returns (address[])", - "function getCandidateVotes(address candidate) view returns (uint256)", - "function getCouncilMembers() view returns (address[])", - "function getCouncilToken() view returns (address)", - "function getCurrentPeriod() view returns (uint256)", - "function getElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getElectionWinners() view returns (address[])", - "function getEpochIndex() view returns (uint256)", - "function getEpochSchedule() view returns (tuple(uint64 startDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 endDate) epoch)", - "function getNextElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getNominees() view returns (address[])", - "function getVotePower(address user, uint256 chainId, uint256 electionId) view returns (uint256)", - "function hasVoted(address user, uint256 chainId) view returns (bool)", - "function initElectionModuleSatellite(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function initElectionModuleSatellite() payable", - "function initOrUpdateElectionSettings(address[] initialCouncil, uint8 minimumActiveMembers, uint64 initialNominationPeriodStartDate, uint64 administrationPeriodDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration)", - "function isElectionEvaluated() view returns (bool)", - "function isElectionModuleInitialized() view returns (bool)", - "function isNominated(address candidate) view returns (bool)", - "function nominate()", - "function resolve() payable", - "function setNextElectionSettings(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance)", - "function tweakEpochSchedule(uint64 newNominationPeriodStartDate, uint64 newVotingPeriodStartDate, uint64 newEpochEndDate)", - "function withdrawNomination()", - "function withdrawVote(address[] candidates) payable", - "error BallotAlreadyPrepared(address voter, uint256 electionId)", - "error InvalidSnapshotContract()", - "error NoPower(uint256, address)", - "error OverflowUint256ToUint128()", - "error SnapshotAlreadyTaken(uint128 snapshotId)", - "error SnapshotNotTaken(address snapshotContract, uint128 electionId)", - "function getVotePowerSnapshotId(address snapshotContract, uint128 electionId) view returns (uint128)", - "function prepareBallotWithSnapshot(address snapshotContract, address voter) returns (uint256 power)", - "function setSnapshotContract(address snapshotContract, bool enabled)", - "function takeVotePowerSnapshot(address snapshotContract) returns (uint128 snapshotId)", - "error ImplementationIsSterile(address implementation)", - "error NoChange()", - "error NotAContract(address contr)", - "error NotNominated(address addr)", "error UpgradeSimulationFailed()", "error ZeroAddress()", + "event AccountLiquidatedInMigration(address staker, uint256 collateralAmount, uint256 debtAmount, uint256 cratio)", + "event AccountMigrated(address indexed staker, uint256 indexed accountId, uint256 collateralAmount, uint256 debtAmount)", + "event ConvertedUSD(address indexed account, uint256 amount)", + "event MarketRegistered(address indexed marketAddress, uint128 indexed marketId, address indexed sender)", "event OwnerChanged(address oldOwner, address newOwner)", "event OwnerNominated(address newOwner)", + "event PauseMigrationSet(address indexed sender, bool paused)", + "event PauseStablecoinConversionSet(address indexed sender, bool paused)", "event Upgraded(address indexed self, address implementation)", + "function MIN_DELEGATION_TIME() view returns (uint32)", "function acceptOwnership()", + "function convertUSD(uint256 amount)", "function getImplementation() view returns (address)", + "function marketId() view returns (uint128)", + "function migrate(uint128 accountId)", + "function migrateOnBehalf(address staker, uint128 accountId)", + "function minimumCredit(uint128) pure returns (uint256 lockedAmount)", + "function name(uint128) pure returns (string)", "function nominateNewOwner(address newNominatedOwner)", "function nominatedOwner() view returns (address)", + "function onERC721Received(address operator, address, uint256, bytes) view returns (bytes4)", "function owner() view returns (address)", + "function pauseMigration() view returns (bool)", + "function pauseStablecoinConversion() view returns (bool)", + "function registerMarket() returns (uint128 newMarketId)", "function renounceNomination()", + "function reportedDebt(uint128 requestedMarketId) view returns (uint256 debt)", + "function rewardsDistributor() view returns (address)", + "function setPauseMigration(bool paused)", + "function setPauseStablecoinConversion(bool paused)", + "function setSystemAddresses(address v2xResolverAddress, address v3SystemAddress, address snxDistributor) returns (bool didInitialize)", "function simulateUpgradeTo(address newImplementation)", - "function upgradeTo(address newImplementation)", - "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)" + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function upgradeTo(address to)", + "function v2xResolver() view returns (address)", + "function v3System() view returns (address)" ], "deployTxnHash": "", "sourceName": "", "contractName": "", - "deployedOn": "invoke.upgrade_core_proxy", + "deployedOn": "invoke.upgradeProxy", "gasUsed": 0, "gasCost": "0", "highlight": true }, - "CouncilToken": { - "address": "0x2E1cC766D5C8193fF719Eb6199066578543AAF8c", + "SNXDistributor": { + "address": "0x25AA941da42898c0C444EaB83c0FCAC364666720", "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 NotImplemented()", - "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)", - "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)" + "constructor(address lm)", + "error Unauthorized(address)", + "function legacyMarket() view returns (address)", + "function name() pure returns (string)", + "function notifyRewardAmount(uint256 reward)", + "function onPositionUpdated(uint128 accountId, uint128 poolId, address collateralType, uint256 newShares)", + "function payout(uint128, uint128, address, address sender, uint256 amount) returns (bool)", + "function supportsInterface(bytes4 interfaceID) pure returns (bool)", + "function token() view returns (address)" ], - "deployTxnHash": "", - "sourceName": "", - "contractName": "", - "deployedOn": "invoke.init_council_token", - "gasUsed": 0, - "gasCost": "0" + "constructorArgs": [ + "0x94c53500d38f95dEea37Bada599d54D8DabEF776" + ], + "linkedLibraries": {}, + "deployTxnHash": "0x045eeb178c669f04ebcc124151bcc403fb3804c619969361438cdc201882049e", + "sourceName": "contracts/SNXDistributor.sol", + "contractName": "SNXDistributor", + "deployedOn": "contract.SNXDistributor", + "gasUsed": 621152, + "gasCost": "1102032324" } }, + "settings": { + "market_id": "1", + "owner": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "pool_owner": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "sc_pool_id": "1", + "v2x_package": "synthetix:2.100.0", + "v3_package": "synthetix:3.3.15", + "marketId": "1" + }, "imports": { - "trusted_multicall_forwarder": { - "url": "ipfs://Qmcc4bRWfcLuY2WyDgYSo5WRBtW4y118ju54uTdDi8r6W9", - "tags": [ - "latest" - ], - "preset": "with-synthetix-governance", + "v2x": { + "url": "ipfs://QmcurVEpKX6JRCuXDurRAhSqzfggU3gqTZfhGhKJRLySLc", + "settings": { + "network": "sepolia" + }, "contracts": { - "TrustedMulticallForwarder": { - "address": "0xE2C5658cC5C448B48141168f3e475dF8f65A1e3e", + "SafeDecimalMath": { + "address": "0x9D6D846D4546614a7e668e66886624c0AE21D786", + "sourceName": "contracts/SafeDecimalMath.sol", + "contractName": "SafeDecimalMath", "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)" + "function PRECISE_UNIT() view returns (uint256)", + "function UNIT() view returns (uint256)", + "function decimals() view returns (uint8)", + "function highPrecisionDecimals() view returns (uint8)", + "function preciseUnit() pure returns (uint256)", + "function unit() pure returns (uint256)" ], - "constructorArgs": [], - "linkedLibraries": {}, - "deployTxnHash": "0xe7757d76f199446897eb84d239675e310db7bd1785d3d28369d44dc46c550877", - "sourceName": "src/TrustedMulticallForwarder.sol", - "contractName": "TrustedMulticallForwarder", - "deployedOn": "contract.TrustedMulticallForwarder", - "gasUsed": 2033737, - "gasCost": "6286047662" - } - } - } - }, - "txns": { - "upgrade_core_proxy": { - "hash": "0xa52dfd5e8833ab5ace08b4621866e8be87b4b0651685372e7e8291c56830ae3c", - "events": { - "Upgraded": [ - { - "name": "Upgraded", - "args": [ - "0x9abCc1d560C1af4Cf8a84D80AE5E35a24C1f38FA", - "0x89CB5446B63f4A7807928Ef504ED501A6b18Ec3d" - ] - } - ] - }, - "deployedOn": "invoke.upgrade_core_proxy", - "gasUsed": 51150, - "gasCost": "1729041631", - "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" - }, - "init_council_token": { - "hash": "0xa9270bb18054be53dc004bf54803399705b21bfd9c6d2970e250988518abcf2a", - "events": { - "AssociatedSystemSet": [ - { - "name": "AssociatedSystemSet", - "args": [ - "0x6572633732310000000000000000000000000000000000000000000000000000", - "0x636f756e63696c546f6b656e0000000000000000000000000000000000000000", - "0x2E1cC766D5C8193fF719Eb6199066578543AAF8c", - "0x6ae2597A90C94999566031655b7C388cCF8283C5" - ] - } - ] - }, - "deployedOn": "invoke.init_council_token", - "gasUsed": 399807, - "gasCost": "6036429199", - "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" - }, - "init_election_module": { - "hash": "0x56844503f73bfb34439b415118708145732806834ebdf7695e6f36e7a3a3f6d0", - "events": { - "Transfer": [ - { - "name": "Transfer", - "args": [ - "0x0000000000000000000000000000000000000000", - "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", - { - "type": "BigNumber", - "hex": "0x48914229dedd5a9922f44441ffccfc2cb7856ee9" - } - ] - } - ], - "CouncilMemberAdded": [ - { - "name": "CouncilMemberAdded", - "args": [ - "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", - { - "type": "BigNumber", - "hex": "0x00" - } - ] - } - ], - "ElectionModuleInitialized": [ - { - "name": "ElectionModuleInitialized", - "args": [] - } - ], - "EpochStarted": [ - { - "name": "EpochStarted", - "args": [ - { - "type": "BigNumber", - "hex": "0x00" - } - ] - } - ] - }, - "deployedOn": "invoke.init_election_module", - "gasUsed": 393066, - "gasCost": "5653853704", - "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" - } - }, - "extras": {} - } - } - }, - "hash": "ca75faa7e3be90d91ef7b4ce0259ef22", - "version": 6 - }, - "provision.grants_council": { - "artifacts": { - "imports": { - "grants_council": { - "url": "ipfs://QmczyYvP7c2VGHj4xKEdiD7NCrdL9KnHuD3ettnGUywnDS", - "tags": [ - "latest" - ], - "preset": "with-synthetix-omnibus", - "contracts": { - "AssociatedSystemsModule": { - "address": "0x73d7fC96547eECCb3121dA7c0661554BE3e49236", - "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": "0x8f9434ba48295f5eae8e07b6a8558327340ee295298f57c189b8d6846f70f2fd", - "sourceName": "contracts/modules/core/AssociatedSystemsModule.sol", - "contractName": "AssociatedSystemsModule", - "deployedOn": "contract.AssociatedSystemsModule", - "gasUsed": 877177, - "gasCost": "6182009736" - }, - "CcipReceiverModule": { - "address": "0xA584bCE07004E17C246a7082aB680616853f3890", - "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": "0xf84d950c6335120ce20f391464ca29179bb8b042b10d341ccd0a8f3e3ce0a3f2", - "sourceName": "contracts/modules/core/CcipReceiverModule.sol", - "contractName": "CcipReceiverModule", - "deployedOn": "contract.CcipReceiverModule", - "gasUsed": 494281, - "gasCost": "5816605310" - }, - "CouncilTokenModule": { - "address": "0x5e06cFd50Ace8DC98B66dB6FD39061C96425B8C6", - "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 NotImplemented()", - "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": "0x0b0d4531c8c02f366bb3d3ff241a05092895e102983b98e29840fe2d4081b118", - "sourceName": "contracts/modules/council-nft/CouncilTokenModule.sol", - "contractName": "CouncilTokenModule", - "deployedOn": "contract.CouncilTokenModule", - "gasUsed": 1669255, - "gasCost": "6105159735" - }, - "CrossChainModule": { - "address": "0xfb82B564F84c4e050c4D0B4E889731736b564e4E", - "abi": [ - "error InvalidParameter(string parameter, string reason)", - "error OverflowUint256ToUint64()", - "error Unauthorized(address addr)", - "error ValueAlreadyInSet()", - "event NewSupportedCrossChainNetwork(uint64 newChainId)", - "function configureChainlinkCrossChain(address ccipRouter)", - "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)" - ], - "constructorArgs": [], - "linkedLibraries": {}, - "deployTxnHash": "0x306e2457e3d5ba915eefb1526e97c6691a55766bba9c24e696779fa89f239a1f", - "sourceName": "contracts/modules/core/CrossChainModule.sol", - "contractName": "CrossChainModule", - "deployedOn": "contract.CrossChainModule", - "gasUsed": 433366, - "gasCost": "6487091959" - }, - "ElectionInspectorModule": { - "address": "0x187f886F762382E65abA3d67fd1f15E7F1288991", - "abi": [ - "function getCandidateVotesInEpoch(address candidate, uint256 epochIndex) view returns (uint256)", - "function getElectionWinnersInEpoch(uint256 epochIndex) view returns (address[])", - "function getEpochEndDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getEpochStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNominationPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNomineesAtEpoch(uint256 epochIndex) view returns (address[])", - "function getVotingPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function hasVotedInEpoch(address user, uint256 chainId, uint256 epochIndex) view returns (bool)", - "function wasNominated(address candidate, uint256 epochIndex) view returns (bool)" - ], - "constructorArgs": [], - "linkedLibraries": {}, - "deployTxnHash": "0x0459d7521c99add51d2267943d458fbd92ac6cdfddf83b95cfdb6b079e2c4f31", - "sourceName": "contracts/modules/core/ElectionInspectorModule.sol", - "contractName": "ElectionInspectorModule", - "deployedOn": "contract.ElectionInspectorModule", - "gasUsed": 348680, - "gasCost": "6681566569" - }, - "ElectionModule": { - "address": "0x1D4A9D394A1F2C49E44E7bCB3A38d70374A53d01", - "abi": [ - "error AlreadyACouncilMember()", - "error AlreadyNominated()", - "error ChangesCurrentPeriod()", - "error DuplicateCandidates(address duplicatedCandidate)", - "error ElectionAlreadyEvaluated()", - "error ElectionNotEvaluated()", - "error EmptyArray()", - "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", - "error InvalidBallot()", - "error InvalidElectionSettings()", - "error InvalidEpochConfiguration(uint256 code, uint64 v1, uint64 v2)", - "error InvalidParameter(string parameter, string reason)", - "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", - "error NoCandidates()", - "error NoVotingPower(address sender, uint256 currentEpoch)", - "error NotACouncilMember()", - "error NotCallableInCurrentPeriod()", - "error NotImplemented()", - "error NotNominated()", - "error OverflowUint256ToUint64()", - "error PositionOutOfBounds()", - "error TooManyMembers()", - "error Unauthorized(address addr)", - "error ValueAlreadyInSet()", - "error ValueNotInSet()", - "event CandidateNominated(address indexed candidate, uint256 indexed epochId)", - "event CouncilMemberAdded(address indexed member, uint256 indexed epochIndex)", - "event CouncilMemberRemoved(address indexed member, uint256 indexed epochIndex)", - "event CouncilMembersDismissed(address[] dismissedMembers, uint256 epochId)", - "event ElectionBatchEvaluated(uint256 indexed epochId, uint256 numEvaluatedBallots, uint256 totalBallots)", - "event ElectionEvaluated(uint256 indexed epochId, uint256 ballotCount)", - "event ElectionModuleInitialized()", - "event EmergencyElectionStarted(uint256 indexed epochId)", - "event EpochScheduleUpdated(uint64 indexed epochId, uint64 startDate, uint64 endDate)", - "event EpochStarted(uint256 indexed epochId)", - "event NominationWithdrawn(address indexed candidate, uint256 indexed epochId)", - "event VoteRecorded(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, uint256 votingPower, address[] candidates)", - "event VoteWithdrawn(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, address[] candidates)", - "function _recvCast(uint256 epochIndex, address voter, uint256 votingPower, uint256 chainId, address[] candidates, uint256[] amounts)", - "function _recvDismissMembers(address[] membersToDismiss, uint256 epochIndex)", - "function _recvResolve(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function _recvTweakEpochSchedule(uint256 epochIndex, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate)", - "function _recvWithdrawVote(uint256 epochIndex, address voter, uint256 chainId, address[] candidates)", - "function cast(address[] candidates, uint256[] amounts) payable", - "function dismissMembers(address[] membersToDismiss) payable", - "function evaluate(uint256 numBallots)", - "function getBallot(address voter, uint256 chainId, uint256 electionId) pure returns (tuple(uint256 votingPower, address[] votedCandidates, uint256[] amounts))", - "function getBallotCandidates(address voter, uint256 chainId, uint256 electionId) view returns (address[])", - "function getCandidateVotes(address candidate) view returns (uint256)", - "function getCouncilMembers() view returns (address[])", - "function getCouncilToken() view returns (address)", - "function getCurrentPeriod() view returns (uint256)", - "function getElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getElectionWinners() view returns (address[])", - "function getEpochIndex() view returns (uint256)", - "function getEpochSchedule() view returns (tuple(uint64 startDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 endDate) epoch)", - "function getNextElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getNominees() view returns (address[])", - "function getVotePower(address user, uint256 chainId, uint256 electionId) view returns (uint256)", - "function hasVoted(address user, uint256 chainId) view returns (bool)", - "function initElectionModuleSatellite(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function initElectionModuleSatellite() payable", - "function initOrUpdateElectionSettings(address[] initialCouncil, uint8 minimumActiveMembers, uint64 initialNominationPeriodStartDate, uint64 administrationPeriodDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration)", - "function isElectionEvaluated() view returns (bool)", - "function isElectionModuleInitialized() view returns (bool)", - "function isNominated(address candidate) view returns (bool)", - "function nominate()", - "function resolve() payable", - "function setNextElectionSettings(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance)", - "function tweakEpochSchedule(uint64 newNominationPeriodStartDate, uint64 newVotingPeriodStartDate, uint64 newEpochEndDate)", - "function withdrawNomination()", - "function withdrawVote(address[] candidates) payable" - ], - "constructorArgs": [], - "linkedLibraries": {}, - "deployTxnHash": "0xbdbc53ed1903ff246d3509096f60e2803f8c0de59a4f3c67c7e3d6b0999972af", - "sourceName": "contracts/modules/core/ElectionModule.sol", - "contractName": "ElectionModule", - "deployedOn": "contract.ElectionModule", - "gasUsed": 3998177, - "gasCost": "1741704018" - }, - "InitialModuleBundle": { - "address": "0x8a0221CabE12b3C8BA33ab13397dDC575DA1CcC1", - "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": "", - "sourceName": "contracts/modules/core/InitialModuleBundle.sol", - "contractName": "InitialModuleBundle", - "deployedOn": "contract.InitialModuleBundle", - "gasUsed": 0, - "gasCost": "0" - }, - "SnapshotVotePowerModule": { - "address": "0x938C16e55e1f24AAbCA2217A4C7F1c772B8993E4", - "abi": [ - "error BallotAlreadyPrepared(address voter, uint256 electionId)", - "error InvalidSnapshotContract()", - "error NoPower(uint256, address)", - "error NotCallableInCurrentPeriod()", - "error OverflowUint256ToUint128()", - "error OverflowUint256ToUint64()", - "error SnapshotAlreadyTaken(uint128 snapshotId)", - "error SnapshotNotTaken(address snapshotContract, uint128 electionId)", - "error Unauthorized(address addr)", - "function getVotePowerSnapshotId(address snapshotContract, uint128 electionId) view returns (uint128)", - "function prepareBallotWithSnapshot(address snapshotContract, address voter) returns (uint256 power)", - "function setSnapshotContract(address snapshotContract, bool enabled)", - "function takeVotePowerSnapshot(address snapshotContract) returns (uint128 snapshotId)" - ], - "constructorArgs": [], - "linkedLibraries": {}, - "deployTxnHash": "0xcceb58248735d4c7551a90412fc885c3f8823058d5ed41e5300d6f59cfda3aab", - "sourceName": "contracts/modules/core/SnapshotVotePowerModule.sol", - "contractName": "SnapshotVotePowerModule", - "deployedOn": "contract.SnapshotVotePowerModule", - "gasUsed": 654596, - "gasCost": "6199710767" - }, - "InitialProxy": { - "address": "0x8A3bA910172c4b77BF4c52d04bA1a59b963700ec", - "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": [ - "0x8a0221CabE12b3C8BA33ab13397dDC575DA1CcC1", - "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" - ], - "linkedLibraries": {}, - "deployTxnHash": "0x62a5b0176e66e61cfea52f93fac03a2844472ba950d2fecc87be7d0bcef7ae43", - "sourceName": "contracts/Proxy.sol", - "contractName": "Proxy", - "deployedOn": "contract.InitialProxy", - "gasUsed": 185358, - "gasCost": "5997056821" - }, - "CoreRouter": { - "address": "0xb4B97E3Fe080F00c042CF331aa899a9595240Fbc", - "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)", - "error InvalidParameter(string parameter, string reason)", - "error OverflowUint256ToUint64()", - "error ValueAlreadyInSet()", - "event NewSupportedCrossChainNetwork(uint64 newChainId)", - "function configureChainlinkCrossChain(address ccipRouter)", - "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)", - "function getCandidateVotesInEpoch(address candidate, uint256 epochIndex) view returns (uint256)", - "function getElectionWinnersInEpoch(uint256 epochIndex) view returns (address[])", - "function getEpochEndDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getEpochStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNominationPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNomineesAtEpoch(uint256 epochIndex) view returns (address[])", - "function getVotingPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function hasVotedInEpoch(address user, uint256 chainId, uint256 epochIndex) view returns (bool)", - "function wasNominated(address candidate, uint256 epochIndex) view returns (bool)", - "error AlreadyACouncilMember()", - "error AlreadyNominated()", - "error ChangesCurrentPeriod()", - "error DuplicateCandidates(address duplicatedCandidate)", - "error ElectionAlreadyEvaluated()", - "error ElectionNotEvaluated()", - "error EmptyArray()", - "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", - "error InvalidBallot()", - "error InvalidElectionSettings()", - "error InvalidEpochConfiguration(uint256 code, uint64 v1, uint64 v2)", - "error NoCandidates()", - "error NoVotingPower(address sender, uint256 currentEpoch)", - "error NotACouncilMember()", - "error NotCallableInCurrentPeriod()", - "error NotImplemented()", - "error NotNominated()", - "error PositionOutOfBounds()", - "error TooManyMembers()", - "error ValueNotInSet()", - "event CandidateNominated(address indexed candidate, uint256 indexed epochId)", - "event CouncilMemberAdded(address indexed member, uint256 indexed epochIndex)", - "event CouncilMemberRemoved(address indexed member, uint256 indexed epochIndex)", - "event CouncilMembersDismissed(address[] dismissedMembers, uint256 epochId)", - "event ElectionBatchEvaluated(uint256 indexed epochId, uint256 numEvaluatedBallots, uint256 totalBallots)", - "event ElectionEvaluated(uint256 indexed epochId, uint256 ballotCount)", - "event ElectionModuleInitialized()", - "event EmergencyElectionStarted(uint256 indexed epochId)", - "event EpochScheduleUpdated(uint64 indexed epochId, uint64 startDate, uint64 endDate)", - "event EpochStarted(uint256 indexed epochId)", - "event NominationWithdrawn(address indexed candidate, uint256 indexed epochId)", - "event VoteRecorded(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, uint256 votingPower, address[] candidates)", - "event VoteWithdrawn(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, address[] candidates)", - "function _recvCast(uint256 epochIndex, address voter, uint256 votingPower, uint256 chainId, address[] candidates, uint256[] amounts)", - "function _recvDismissMembers(address[] membersToDismiss, uint256 epochIndex)", - "function _recvResolve(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function _recvTweakEpochSchedule(uint256 epochIndex, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate)", - "function _recvWithdrawVote(uint256 epochIndex, address voter, uint256 chainId, address[] candidates)", - "function cast(address[] candidates, uint256[] amounts) payable", - "function dismissMembers(address[] membersToDismiss) payable", - "function evaluate(uint256 numBallots)", - "function getBallot(address voter, uint256 chainId, uint256 electionId) pure returns (tuple(uint256 votingPower, address[] votedCandidates, uint256[] amounts))", - "function getBallotCandidates(address voter, uint256 chainId, uint256 electionId) view returns (address[])", - "function getCandidateVotes(address candidate) view returns (uint256)", - "function getCouncilMembers() view returns (address[])", - "function getCouncilToken() view returns (address)", - "function getCurrentPeriod() view returns (uint256)", - "function getElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getElectionWinners() view returns (address[])", - "function getEpochIndex() view returns (uint256)", - "function getEpochSchedule() view returns (tuple(uint64 startDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 endDate) epoch)", - "function getNextElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getNominees() view returns (address[])", - "function getVotePower(address user, uint256 chainId, uint256 electionId) view returns (uint256)", - "function hasVoted(address user, uint256 chainId) view returns (bool)", - "function initElectionModuleSatellite(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function initElectionModuleSatellite() payable", - "function initOrUpdateElectionSettings(address[] initialCouncil, uint8 minimumActiveMembers, uint64 initialNominationPeriodStartDate, uint64 administrationPeriodDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration)", - "function isElectionEvaluated() view returns (bool)", - "function isElectionModuleInitialized() view returns (bool)", - "function isNominated(address candidate) view returns (bool)", - "function nominate()", - "function resolve() payable", - "function setNextElectionSettings(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance)", - "function tweakEpochSchedule(uint64 newNominationPeriodStartDate, uint64 newVotingPeriodStartDate, uint64 newEpochEndDate)", - "function withdrawNomination()", - "function withdrawVote(address[] candidates) payable", - "error BallotAlreadyPrepared(address voter, uint256 electionId)", - "error InvalidSnapshotContract()", - "error NoPower(uint256, address)", - "error OverflowUint256ToUint128()", - "error SnapshotAlreadyTaken(uint128 snapshotId)", - "error SnapshotNotTaken(address snapshotContract, uint128 electionId)", - "function getVotePowerSnapshotId(address snapshotContract, uint128 electionId) view returns (uint128)", - "function prepareBallotWithSnapshot(address snapshotContract, address voter) returns (uint256 power)", - "function setSnapshotContract(address snapshotContract, bool enabled)", - "function takeVotePowerSnapshot(address snapshotContract) returns (uint128 snapshotId)", - "error ImplementationIsSterile(address implementation)", - "error NoChange()", - "error NotAContract(address contr)", - "error NotNominated(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 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)" - ], - "deployedOn": "router.CoreRouter", - "deployTxnHash": "0x5ed200a2dba924df25d4af5188973ff29fe3362af128a4c923a3c19c9c3c81c2", - "contractName": "CoreRouter", - "sourceName": "CoreRouter.sol", - "gasUsed": 682357, - "gasCost": "1747353374" - }, - "CouncilTokenRouter": { - "address": "0x5f06a14BC2d2B895F4cD4820BFd034f90a711755", - "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 NotImplemented()", - "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)", - "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)" - ], - "deployedOn": "router.CouncilTokenRouter", - "deployTxnHash": "0x3655c037ccd7848f916854064f33728732c031643a72a7ca36f4cecc4077d85a", - "contractName": "CouncilTokenRouter", - "sourceName": "CouncilTokenRouter.sol", - "gasUsed": 403596, - "gasCost": "5467168879" - }, - "CoreProxy": { - "address": "0x8A3bA910172c4b77BF4c52d04bA1a59b963700ec", - "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)", - "error InvalidParameter(string parameter, string reason)", - "error OverflowUint256ToUint64()", - "error ValueAlreadyInSet()", - "event NewSupportedCrossChainNetwork(uint64 newChainId)", - "function configureChainlinkCrossChain(address ccipRouter)", - "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)", - "function getCandidateVotesInEpoch(address candidate, uint256 epochIndex) view returns (uint256)", - "function getElectionWinnersInEpoch(uint256 epochIndex) view returns (address[])", - "function getEpochEndDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getEpochStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNominationPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNomineesAtEpoch(uint256 epochIndex) view returns (address[])", - "function getVotingPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function hasVotedInEpoch(address user, uint256 chainId, uint256 epochIndex) view returns (bool)", - "function wasNominated(address candidate, uint256 epochIndex) view returns (bool)", - "error AlreadyACouncilMember()", - "error AlreadyNominated()", - "error ChangesCurrentPeriod()", - "error DuplicateCandidates(address duplicatedCandidate)", - "error ElectionAlreadyEvaluated()", - "error ElectionNotEvaluated()", - "error EmptyArray()", - "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", - "error InvalidBallot()", - "error InvalidElectionSettings()", - "error InvalidEpochConfiguration(uint256 code, uint64 v1, uint64 v2)", - "error NoCandidates()", - "error NoVotingPower(address sender, uint256 currentEpoch)", - "error NotACouncilMember()", - "error NotCallableInCurrentPeriod()", - "error NotImplemented()", - "error NotNominated()", - "error PositionOutOfBounds()", - "error TooManyMembers()", - "error ValueNotInSet()", - "event CandidateNominated(address indexed candidate, uint256 indexed epochId)", - "event CouncilMemberAdded(address indexed member, uint256 indexed epochIndex)", - "event CouncilMemberRemoved(address indexed member, uint256 indexed epochIndex)", - "event CouncilMembersDismissed(address[] dismissedMembers, uint256 epochId)", - "event ElectionBatchEvaluated(uint256 indexed epochId, uint256 numEvaluatedBallots, uint256 totalBallots)", - "event ElectionEvaluated(uint256 indexed epochId, uint256 ballotCount)", - "event ElectionModuleInitialized()", - "event EmergencyElectionStarted(uint256 indexed epochId)", - "event EpochScheduleUpdated(uint64 indexed epochId, uint64 startDate, uint64 endDate)", - "event EpochStarted(uint256 indexed epochId)", - "event NominationWithdrawn(address indexed candidate, uint256 indexed epochId)", - "event VoteRecorded(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, uint256 votingPower, address[] candidates)", - "event VoteWithdrawn(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, address[] candidates)", - "function _recvCast(uint256 epochIndex, address voter, uint256 votingPower, uint256 chainId, address[] candidates, uint256[] amounts)", - "function _recvDismissMembers(address[] membersToDismiss, uint256 epochIndex)", - "function _recvResolve(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function _recvTweakEpochSchedule(uint256 epochIndex, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate)", - "function _recvWithdrawVote(uint256 epochIndex, address voter, uint256 chainId, address[] candidates)", - "function cast(address[] candidates, uint256[] amounts) payable", - "function dismissMembers(address[] membersToDismiss) payable", - "function evaluate(uint256 numBallots)", - "function getBallot(address voter, uint256 chainId, uint256 electionId) pure returns (tuple(uint256 votingPower, address[] votedCandidates, uint256[] amounts))", - "function getBallotCandidates(address voter, uint256 chainId, uint256 electionId) view returns (address[])", - "function getCandidateVotes(address candidate) view returns (uint256)", - "function getCouncilMembers() view returns (address[])", - "function getCouncilToken() view returns (address)", - "function getCurrentPeriod() view returns (uint256)", - "function getElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getElectionWinners() view returns (address[])", - "function getEpochIndex() view returns (uint256)", - "function getEpochSchedule() view returns (tuple(uint64 startDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 endDate) epoch)", - "function getNextElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getNominees() view returns (address[])", - "function getVotePower(address user, uint256 chainId, uint256 electionId) view returns (uint256)", - "function hasVoted(address user, uint256 chainId) view returns (bool)", - "function initElectionModuleSatellite(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function initElectionModuleSatellite() payable", - "function initOrUpdateElectionSettings(address[] initialCouncil, uint8 minimumActiveMembers, uint64 initialNominationPeriodStartDate, uint64 administrationPeriodDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration)", - "function isElectionEvaluated() view returns (bool)", - "function isElectionModuleInitialized() view returns (bool)", - "function isNominated(address candidate) view returns (bool)", - "function nominate()", - "function resolve() payable", - "function setNextElectionSettings(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance)", - "function tweakEpochSchedule(uint64 newNominationPeriodStartDate, uint64 newVotingPeriodStartDate, uint64 newEpochEndDate)", - "function withdrawNomination()", - "function withdrawVote(address[] candidates) payable", - "error BallotAlreadyPrepared(address voter, uint256 electionId)", - "error InvalidSnapshotContract()", - "error NoPower(uint256, address)", - "error OverflowUint256ToUint128()", - "error SnapshotAlreadyTaken(uint128 snapshotId)", - "error SnapshotNotTaken(address snapshotContract, uint128 electionId)", - "function getVotePowerSnapshotId(address snapshotContract, uint128 electionId) view returns (uint128)", - "function prepareBallotWithSnapshot(address snapshotContract, address voter) returns (uint256 power)", - "function setSnapshotContract(address snapshotContract, bool enabled)", - "function takeVotePowerSnapshot(address snapshotContract) returns (uint128 snapshotId)", - "error ImplementationIsSterile(address implementation)", - "error NoChange()", - "error NotAContract(address contr)", - "error NotNominated(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 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)" - ], - "deployTxnHash": "", - "sourceName": "", - "contractName": "", - "deployedOn": "invoke.upgrade_core_proxy", - "gasUsed": 0, - "gasCost": "0", - "highlight": true - }, - "CouncilToken": { - "address": "0x3ad4862332808a3a71D8d5E536108255D699ce42", - "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 NotImplemented()", - "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)", - "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)" - ], - "deployTxnHash": "", - "sourceName": "", - "contractName": "", - "deployedOn": "invoke.init_council_token", - "gasUsed": 0, - "gasCost": "0" - } - }, - "imports": { - "trusted_multicall_forwarder": { - "url": "ipfs://QmfELRiwi5Ap12uLd72f6yJXJAGQxkjhFyDr77EWz9kgAp", - "tags": [ - "latest" - ], - "preset": "with-synthetix-governance", - "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": { - "upgrade_core_proxy": { - "hash": "0x133fd81af36773030a333b096e38b3a2201db6769d6587865825cedd4f6f1ec1", - "events": { - "Upgraded": [ - { - "name": "Upgraded", - "args": [ - "0x8A3bA910172c4b77BF4c52d04bA1a59b963700ec", - "0xb4B97E3Fe080F00c042CF331aa899a9595240Fbc" - ] - } - ] - }, - "deployedOn": "invoke.upgrade_core_proxy", - "gasUsed": 51150, - "gasCost": "1743808172", - "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" - }, - "init_council_token": { - "hash": "0x24f8ab3522a9f856ba29d46b883db52dfac67b2a3e5217a5cab2a68a3560a0e4", - "events": { - "AssociatedSystemSet": [ - { - "name": "AssociatedSystemSet", - "args": [ - "0x6572633732310000000000000000000000000000000000000000000000000000", - "0x636f756e63696c546f6b656e0000000000000000000000000000000000000000", - "0x3ad4862332808a3a71D8d5E536108255D699ce42", - "0x5f06a14BC2d2B895F4cD4820BFd034f90a711755" - ] - } - ] - }, - "deployedOn": "invoke.init_council_token", - "gasUsed": 355133, - "gasCost": "5297271662", - "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" - }, - "init_election_module": { - "hash": "0x5ea37340b300538c57f6cb767f15ca072f393c390014ccdabdd6db4744e8d783", - "events": { - "Transfer": [ - { - "name": "Transfer", - "args": [ - "0x0000000000000000000000000000000000000000", - "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", - { - "type": "BigNumber", - "hex": "0x48914229dedd5a9922f44441ffccfc2cb7856ee9" - } - ] - } - ], - "CouncilMemberAdded": [ - { - "name": "CouncilMemberAdded", - "args": [ - "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", - { - "type": "BigNumber", - "hex": "0x00" - } - ] - } - ], - "ElectionModuleInitialized": [ - { - "name": "ElectionModuleInitialized", - "args": [] - } - ], - "EpochStarted": [ - { - "name": "EpochStarted", - "args": [ - { - "type": "BigNumber", - "hex": "0x00" - } - ] - } - ] - }, - "deployedOn": "invoke.init_election_module", - "gasUsed": 393066, - "gasCost": "5159410059", - "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" - } - }, - "extras": {} - } - } - }, - "hash": "c0145c4a758c05f25fc4466d698b59d6", - "version": 6 - }, - "provision.snapshot_record_mock": { - "artifacts": { - "imports": { - "snapshot_record_mock": { - "url": "ipfs://QmcZPNntqA1eL8uqmj3ZDAFUDre4xehNAgZubQMaoyjAfa", - "tags": [ - "latest" - ], - "preset": "with-synthetix-omnibus", - "contracts": { - "SnapshotRecordMock": { - "address": "0x854AeE030eFEB8f9C4c778999174A33921613A4F", - "abi": [ - "function balanceOfOnPeriod(address user, uint128 periodId) view returns (uint256)", - "function setBalanceOfOnPeriod(address user, uint256 balance, uint256 periodId)", - "function setTotalSupplyOnPeriod(uint128 snapshotId, uint256 totalSupply)", - "function takeSnapshot(uint128 snapshotId)", - "function totalSupplyOnPeriod(uint128) pure returns (uint256)" - ], - "constructorArgs": [], - "linkedLibraries": {}, - "deployTxnHash": "0xb36d31d3686c4490c8552b0ff497179b8fa0888284f80db0cb34e1c7e6e07481", - "sourceName": "contracts/mocks/SnapshotRecordMock.sol", - "contractName": "SnapshotRecordMock", - "deployedOn": "contract.SnapshotRecordMock", - "gasUsed": 182566, - "gasCost": "5610486301" - } - } - } - } - }, - "hash": "ce88aa2955d1aacbd8d5217c64499519", - "version": 6 - }, - "provision.spartan_council": { - "artifacts": { - "imports": { - "spartan_council": { - "url": "ipfs://QmVAR8KuedCc5cS8kJGVfryRLskYvto6FPCKYL1b5kDRr1", - "tags": [ - "latest" - ], - "preset": "with-synthetix-omnibus", - "contracts": { - "AssociatedSystemsModule": { - "address": "0xC80c36e9437c188a326B65627d4FA70C42c11784", - "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": "0x4778b4c15949cbe5aa0c76687e660535a769ea397d876cb85777ae508e9dcfc0", - "sourceName": "contracts/modules/core/AssociatedSystemsModule.sol", - "contractName": "AssociatedSystemsModule", - "deployedOn": "contract.AssociatedSystemsModule", - "gasUsed": 877177, - "gasCost": "5590460217" - }, - "CcipReceiverModule": { - "address": "0x1881c0536909593484719E60aDcB9A1D26aeF8c4", - "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": "0xbee60b520be965190285d383241d1e6ece6354c3baa18ac08841d1a0c07e4c6d", - "sourceName": "contracts/modules/core/CcipReceiverModule.sol", - "contractName": "CcipReceiverModule", - "deployedOn": "contract.CcipReceiverModule", - "gasUsed": 494281, - "gasCost": "5881507070" - }, - "CouncilTokenModule": { - "address": "0xa5C000df297D98c034eCDFe3C6A7D4572CF8178f", - "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 NotImplemented()", - "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": "0xe5432fc2ad5e220596ef4fd3f0166bc534875f4b4efba7382f6d51d963d2d52e", - "sourceName": "contracts/modules/council-nft/CouncilTokenModule.sol", - "contractName": "CouncilTokenModule", - "deployedOn": "contract.CouncilTokenModule", - "gasUsed": 1669255, - "gasCost": "5318053530" - }, - "CrossChainModule": { - "address": "0xB0c464D4f18CfbCc1F81394d6AD73Afe99883F42", - "abi": [ - "error InvalidParameter(string parameter, string reason)", - "error OverflowUint256ToUint64()", - "error Unauthorized(address addr)", - "error ValueAlreadyInSet()", - "event NewSupportedCrossChainNetwork(uint64 newChainId)", - "function configureChainlinkCrossChain(address ccipRouter)", - "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)" - ], - "constructorArgs": [], - "linkedLibraries": {}, - "deployTxnHash": "0xbe68ee30400991690f36153bec3047a93be280472a032fcff1e7c37e7d2982e6", - "sourceName": "contracts/modules/core/CrossChainModule.sol", - "contractName": "CrossChainModule", - "deployedOn": "contract.CrossChainModule", - "gasUsed": 433366, - "gasCost": "5641141846" - }, - "ElectionInspectorModule": { - "address": "0x2807Fe73D4C8D668407da04B9443a86b9883a10a", - "abi": [ - "function getCandidateVotesInEpoch(address candidate, uint256 epochIndex) view returns (uint256)", - "function getElectionWinnersInEpoch(uint256 epochIndex) view returns (address[])", - "function getEpochEndDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getEpochStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNominationPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNomineesAtEpoch(uint256 epochIndex) view returns (address[])", - "function getVotingPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function hasVotedInEpoch(address user, uint256 chainId, uint256 epochIndex) view returns (bool)", - "function wasNominated(address candidate, uint256 epochIndex) view returns (bool)" - ], - "constructorArgs": [], - "linkedLibraries": {}, - "deployTxnHash": "0xd51402f59323eea5a18b1275da232c7d2b01d41d9c28936eb199775ae945f585", - "sourceName": "contracts/modules/core/ElectionInspectorModule.sol", - "contractName": "ElectionInspectorModule", - "deployedOn": "contract.ElectionInspectorModule", - "gasUsed": 348680, - "gasCost": "5321465784" - }, - "ElectionModule": { - "address": "0xD6f533DED7045D90954Bb92D6F888bb7d0e1f585", - "abi": [ - "error AlreadyACouncilMember()", - "error AlreadyNominated()", - "error ChangesCurrentPeriod()", - "error DuplicateCandidates(address duplicatedCandidate)", - "error ElectionAlreadyEvaluated()", - "error ElectionNotEvaluated()", - "error EmptyArray()", - "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", - "error InvalidBallot()", - "error InvalidElectionSettings()", - "error InvalidEpochConfiguration(uint256 code, uint64 v1, uint64 v2)", - "error InvalidParameter(string parameter, string reason)", - "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", - "error NoCandidates()", - "error NoVotingPower(address sender, uint256 currentEpoch)", - "error NotACouncilMember()", - "error NotCallableInCurrentPeriod()", - "error NotImplemented()", - "error NotNominated()", - "error OverflowUint256ToUint64()", - "error PositionOutOfBounds()", - "error TooManyMembers()", - "error Unauthorized(address addr)", - "error ValueAlreadyInSet()", - "error ValueNotInSet()", - "event CandidateNominated(address indexed candidate, uint256 indexed epochId)", - "event CouncilMemberAdded(address indexed member, uint256 indexed epochIndex)", - "event CouncilMemberRemoved(address indexed member, uint256 indexed epochIndex)", - "event CouncilMembersDismissed(address[] dismissedMembers, uint256 epochId)", - "event ElectionBatchEvaluated(uint256 indexed epochId, uint256 numEvaluatedBallots, uint256 totalBallots)", - "event ElectionEvaluated(uint256 indexed epochId, uint256 ballotCount)", - "event ElectionModuleInitialized()", - "event EmergencyElectionStarted(uint256 indexed epochId)", - "event EpochScheduleUpdated(uint64 indexed epochId, uint64 startDate, uint64 endDate)", - "event EpochStarted(uint256 indexed epochId)", - "event NominationWithdrawn(address indexed candidate, uint256 indexed epochId)", - "event VoteRecorded(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, uint256 votingPower, address[] candidates)", - "event VoteWithdrawn(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, address[] candidates)", - "function _recvCast(uint256 epochIndex, address voter, uint256 votingPower, uint256 chainId, address[] candidates, uint256[] amounts)", - "function _recvDismissMembers(address[] membersToDismiss, uint256 epochIndex)", - "function _recvResolve(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function _recvTweakEpochSchedule(uint256 epochIndex, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate)", - "function _recvWithdrawVote(uint256 epochIndex, address voter, uint256 chainId, address[] candidates)", - "function cast(address[] candidates, uint256[] amounts) payable", - "function dismissMembers(address[] membersToDismiss) payable", - "function evaluate(uint256 numBallots)", - "function getBallot(address voter, uint256 chainId, uint256 electionId) pure returns (tuple(uint256 votingPower, address[] votedCandidates, uint256[] amounts))", - "function getBallotCandidates(address voter, uint256 chainId, uint256 electionId) view returns (address[])", - "function getCandidateVotes(address candidate) view returns (uint256)", - "function getCouncilMembers() view returns (address[])", - "function getCouncilToken() view returns (address)", - "function getCurrentPeriod() view returns (uint256)", - "function getElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getElectionWinners() view returns (address[])", - "function getEpochIndex() view returns (uint256)", - "function getEpochSchedule() view returns (tuple(uint64 startDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 endDate) epoch)", - "function getNextElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getNominees() view returns (address[])", - "function getVotePower(address user, uint256 chainId, uint256 electionId) view returns (uint256)", - "function hasVoted(address user, uint256 chainId) view returns (bool)", - "function initElectionModuleSatellite(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function initElectionModuleSatellite() payable", - "function initOrUpdateElectionSettings(address[] initialCouncil, uint8 minimumActiveMembers, uint64 initialNominationPeriodStartDate, uint64 administrationPeriodDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration)", - "function isElectionEvaluated() view returns (bool)", - "function isElectionModuleInitialized() view returns (bool)", - "function isNominated(address candidate) view returns (bool)", - "function nominate()", - "function resolve() payable", - "function setNextElectionSettings(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance)", - "function tweakEpochSchedule(uint64 newNominationPeriodStartDate, uint64 newVotingPeriodStartDate, uint64 newEpochEndDate)", - "function withdrawNomination()", - "function withdrawVote(address[] candidates) payable" - ], - "constructorArgs": [], - "linkedLibraries": {}, - "deployTxnHash": "0x5218ebe5ace3a67a2569b74c2495fe7967d4ef1386aed2f132e2f6de8adbf773", - "sourceName": "contracts/modules/core/ElectionModule.sol", - "contractName": "ElectionModule", - "deployedOn": "contract.ElectionModule", - "gasUsed": 3998177, - "gasCost": "1741092300" - }, - "InitialModuleBundle": { - "address": "0x8a0221CabE12b3C8BA33ab13397dDC575DA1CcC1", - "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": "", - "sourceName": "contracts/modules/core/InitialModuleBundle.sol", - "contractName": "InitialModuleBundle", - "deployedOn": "contract.InitialModuleBundle", - "gasUsed": 0, - "gasCost": "0" - }, - "SnapshotVotePowerModule": { - "address": "0x065a3BfB470D63d4D806D39670caB4Fe2DE2DcEb", - "abi": [ - "error BallotAlreadyPrepared(address voter, uint256 electionId)", - "error InvalidSnapshotContract()", - "error NoPower(uint256, address)", - "error NotCallableInCurrentPeriod()", - "error OverflowUint256ToUint128()", - "error OverflowUint256ToUint64()", - "error SnapshotAlreadyTaken(uint128 snapshotId)", - "error SnapshotNotTaken(address snapshotContract, uint128 electionId)", - "error Unauthorized(address addr)", - "function getVotePowerSnapshotId(address snapshotContract, uint128 electionId) view returns (uint128)", - "function prepareBallotWithSnapshot(address snapshotContract, address voter) returns (uint256 power)", - "function setSnapshotContract(address snapshotContract, bool enabled)", - "function takeVotePowerSnapshot(address snapshotContract) returns (uint128 snapshotId)" - ], - "constructorArgs": [], - "linkedLibraries": {}, - "deployTxnHash": "0xd495b9065d5683f5927820168cf499cd2afa0f292a7eceec77c728e3123d9c3e", - "sourceName": "contracts/modules/core/SnapshotVotePowerModule.sol", - "contractName": "SnapshotVotePowerModule", - "deployedOn": "contract.SnapshotVotePowerModule", - "gasUsed": 654596, - "gasCost": "5280977627" - }, - "InitialProxy": { - "address": "0xDAA5A8bFDEBcA03cCAF0d5285265A7d7Fbb42e15", - "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": [ - "0x8a0221CabE12b3C8BA33ab13397dDC575DA1CcC1", - "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" - ], - "linkedLibraries": {}, - "deployTxnHash": "0x0ee8f49f0e359aac403917048cfe95c3856c7a302430517e6f394c42fe014414", - "sourceName": "contracts/Proxy.sol", - "contractName": "Proxy", - "deployedOn": "contract.InitialProxy", - "gasUsed": 185358, - "gasCost": "5121260164" - }, - "CoreRouter": { - "address": "0x0f9A59c985B28fb98f63380566e4e07800246689", - "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)", - "error InvalidParameter(string parameter, string reason)", - "error OverflowUint256ToUint64()", - "error ValueAlreadyInSet()", - "event NewSupportedCrossChainNetwork(uint64 newChainId)", - "function configureChainlinkCrossChain(address ccipRouter)", - "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)", - "function getCandidateVotesInEpoch(address candidate, uint256 epochIndex) view returns (uint256)", - "function getElectionWinnersInEpoch(uint256 epochIndex) view returns (address[])", - "function getEpochEndDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getEpochStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNominationPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNomineesAtEpoch(uint256 epochIndex) view returns (address[])", - "function getVotingPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function hasVotedInEpoch(address user, uint256 chainId, uint256 epochIndex) view returns (bool)", - "function wasNominated(address candidate, uint256 epochIndex) view returns (bool)", - "error AlreadyACouncilMember()", - "error AlreadyNominated()", - "error ChangesCurrentPeriod()", - "error DuplicateCandidates(address duplicatedCandidate)", - "error ElectionAlreadyEvaluated()", - "error ElectionNotEvaluated()", - "error EmptyArray()", - "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", - "error InvalidBallot()", - "error InvalidElectionSettings()", - "error InvalidEpochConfiguration(uint256 code, uint64 v1, uint64 v2)", - "error NoCandidates()", - "error NoVotingPower(address sender, uint256 currentEpoch)", - "error NotACouncilMember()", - "error NotCallableInCurrentPeriod()", - "error NotImplemented()", - "error NotNominated()", - "error PositionOutOfBounds()", - "error TooManyMembers()", - "error ValueNotInSet()", - "event CandidateNominated(address indexed candidate, uint256 indexed epochId)", - "event CouncilMemberAdded(address indexed member, uint256 indexed epochIndex)", - "event CouncilMemberRemoved(address indexed member, uint256 indexed epochIndex)", - "event CouncilMembersDismissed(address[] dismissedMembers, uint256 epochId)", - "event ElectionBatchEvaluated(uint256 indexed epochId, uint256 numEvaluatedBallots, uint256 totalBallots)", - "event ElectionEvaluated(uint256 indexed epochId, uint256 ballotCount)", - "event ElectionModuleInitialized()", - "event EmergencyElectionStarted(uint256 indexed epochId)", - "event EpochScheduleUpdated(uint64 indexed epochId, uint64 startDate, uint64 endDate)", - "event EpochStarted(uint256 indexed epochId)", - "event NominationWithdrawn(address indexed candidate, uint256 indexed epochId)", - "event VoteRecorded(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, uint256 votingPower, address[] candidates)", - "event VoteWithdrawn(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, address[] candidates)", - "function _recvCast(uint256 epochIndex, address voter, uint256 votingPower, uint256 chainId, address[] candidates, uint256[] amounts)", - "function _recvDismissMembers(address[] membersToDismiss, uint256 epochIndex)", - "function _recvResolve(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function _recvTweakEpochSchedule(uint256 epochIndex, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate)", - "function _recvWithdrawVote(uint256 epochIndex, address voter, uint256 chainId, address[] candidates)", - "function cast(address[] candidates, uint256[] amounts) payable", - "function dismissMembers(address[] membersToDismiss) payable", - "function evaluate(uint256 numBallots)", - "function getBallot(address voter, uint256 chainId, uint256 electionId) pure returns (tuple(uint256 votingPower, address[] votedCandidates, uint256[] amounts))", - "function getBallotCandidates(address voter, uint256 chainId, uint256 electionId) view returns (address[])", - "function getCandidateVotes(address candidate) view returns (uint256)", - "function getCouncilMembers() view returns (address[])", - "function getCouncilToken() view returns (address)", - "function getCurrentPeriod() view returns (uint256)", - "function getElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getElectionWinners() view returns (address[])", - "function getEpochIndex() view returns (uint256)", - "function getEpochSchedule() view returns (tuple(uint64 startDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 endDate) epoch)", - "function getNextElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getNominees() view returns (address[])", - "function getVotePower(address user, uint256 chainId, uint256 electionId) view returns (uint256)", - "function hasVoted(address user, uint256 chainId) view returns (bool)", - "function initElectionModuleSatellite(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function initElectionModuleSatellite() payable", - "function initOrUpdateElectionSettings(address[] initialCouncil, uint8 minimumActiveMembers, uint64 initialNominationPeriodStartDate, uint64 administrationPeriodDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration)", - "function isElectionEvaluated() view returns (bool)", - "function isElectionModuleInitialized() view returns (bool)", - "function isNominated(address candidate) view returns (bool)", - "function nominate()", - "function resolve() payable", - "function setNextElectionSettings(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance)", - "function tweakEpochSchedule(uint64 newNominationPeriodStartDate, uint64 newVotingPeriodStartDate, uint64 newEpochEndDate)", - "function withdrawNomination()", - "function withdrawVote(address[] candidates) payable", - "error BallotAlreadyPrepared(address voter, uint256 electionId)", - "error InvalidSnapshotContract()", - "error NoPower(uint256, address)", - "error OverflowUint256ToUint128()", - "error SnapshotAlreadyTaken(uint128 snapshotId)", - "error SnapshotNotTaken(address snapshotContract, uint128 electionId)", - "function getVotePowerSnapshotId(address snapshotContract, uint128 electionId) view returns (uint128)", - "function prepareBallotWithSnapshot(address snapshotContract, address voter) returns (uint256 power)", - "function setSnapshotContract(address snapshotContract, bool enabled)", - "function takeVotePowerSnapshot(address snapshotContract) returns (uint128 snapshotId)", - "error ImplementationIsSterile(address implementation)", - "error NoChange()", - "error NotAContract(address contr)", - "error NotNominated(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 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)" - ], - "deployedOn": "router.CoreRouter", - "deployTxnHash": "0x185e45a6ebcc3727b3afe232a55f5ab989071b24d7e9a311cc36ea643f22ec8f", - "contractName": "CoreRouter", - "sourceName": "CoreRouter.sol", - "gasUsed": 682369, - "gasCost": "1739995238" - }, - "CouncilTokenRouter": { - "address": "0xBc55541e23c5458Bfc625dd331EBa6C756e30290", - "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 NotImplemented()", - "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)", - "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)" - ], - "deployedOn": "router.CouncilTokenRouter", - "deployTxnHash": "0x59e81c72396591e326fb9c7339f76397cf0ff0a9b0ecce6da1d52959b3f0131a", - "contractName": "CouncilTokenRouter", - "sourceName": "CouncilTokenRouter.sol", - "gasUsed": 403320, - "gasCost": "5241557384" - }, - "CoreProxy": { - "address": "0xDAA5A8bFDEBcA03cCAF0d5285265A7d7Fbb42e15", - "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)", - "error InvalidParameter(string parameter, string reason)", - "error OverflowUint256ToUint64()", - "error ValueAlreadyInSet()", - "event NewSupportedCrossChainNetwork(uint64 newChainId)", - "function configureChainlinkCrossChain(address ccipRouter)", - "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)", - "function getCandidateVotesInEpoch(address candidate, uint256 epochIndex) view returns (uint256)", - "function getElectionWinnersInEpoch(uint256 epochIndex) view returns (address[])", - "function getEpochEndDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getEpochStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNominationPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNomineesAtEpoch(uint256 epochIndex) view returns (address[])", - "function getVotingPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function hasVotedInEpoch(address user, uint256 chainId, uint256 epochIndex) view returns (bool)", - "function wasNominated(address candidate, uint256 epochIndex) view returns (bool)", - "error AlreadyACouncilMember()", - "error AlreadyNominated()", - "error ChangesCurrentPeriod()", - "error DuplicateCandidates(address duplicatedCandidate)", - "error ElectionAlreadyEvaluated()", - "error ElectionNotEvaluated()", - "error EmptyArray()", - "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", - "error InvalidBallot()", - "error InvalidElectionSettings()", - "error InvalidEpochConfiguration(uint256 code, uint64 v1, uint64 v2)", - "error NoCandidates()", - "error NoVotingPower(address sender, uint256 currentEpoch)", - "error NotACouncilMember()", - "error NotCallableInCurrentPeriod()", - "error NotImplemented()", - "error NotNominated()", - "error PositionOutOfBounds()", - "error TooManyMembers()", - "error ValueNotInSet()", - "event CandidateNominated(address indexed candidate, uint256 indexed epochId)", - "event CouncilMemberAdded(address indexed member, uint256 indexed epochIndex)", - "event CouncilMemberRemoved(address indexed member, uint256 indexed epochIndex)", - "event CouncilMembersDismissed(address[] dismissedMembers, uint256 epochId)", - "event ElectionBatchEvaluated(uint256 indexed epochId, uint256 numEvaluatedBallots, uint256 totalBallots)", - "event ElectionEvaluated(uint256 indexed epochId, uint256 ballotCount)", - "event ElectionModuleInitialized()", - "event EmergencyElectionStarted(uint256 indexed epochId)", - "event EpochScheduleUpdated(uint64 indexed epochId, uint64 startDate, uint64 endDate)", - "event EpochStarted(uint256 indexed epochId)", - "event NominationWithdrawn(address indexed candidate, uint256 indexed epochId)", - "event VoteRecorded(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, uint256 votingPower, address[] candidates)", - "event VoteWithdrawn(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, address[] candidates)", - "function _recvCast(uint256 epochIndex, address voter, uint256 votingPower, uint256 chainId, address[] candidates, uint256[] amounts)", - "function _recvDismissMembers(address[] membersToDismiss, uint256 epochIndex)", - "function _recvResolve(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function _recvTweakEpochSchedule(uint256 epochIndex, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate)", - "function _recvWithdrawVote(uint256 epochIndex, address voter, uint256 chainId, address[] candidates)", - "function cast(address[] candidates, uint256[] amounts) payable", - "function dismissMembers(address[] membersToDismiss) payable", - "function evaluate(uint256 numBallots)", - "function getBallot(address voter, uint256 chainId, uint256 electionId) pure returns (tuple(uint256 votingPower, address[] votedCandidates, uint256[] amounts))", - "function getBallotCandidates(address voter, uint256 chainId, uint256 electionId) view returns (address[])", - "function getCandidateVotes(address candidate) view returns (uint256)", - "function getCouncilMembers() view returns (address[])", - "function getCouncilToken() view returns (address)", - "function getCurrentPeriod() view returns (uint256)", - "function getElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getElectionWinners() view returns (address[])", - "function getEpochIndex() view returns (uint256)", - "function getEpochSchedule() view returns (tuple(uint64 startDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 endDate) epoch)", - "function getNextElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getNominees() view returns (address[])", - "function getVotePower(address user, uint256 chainId, uint256 electionId) view returns (uint256)", - "function hasVoted(address user, uint256 chainId) view returns (bool)", - "function initElectionModuleSatellite(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function initElectionModuleSatellite() payable", - "function initOrUpdateElectionSettings(address[] initialCouncil, uint8 minimumActiveMembers, uint64 initialNominationPeriodStartDate, uint64 administrationPeriodDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration)", - "function isElectionEvaluated() view returns (bool)", - "function isElectionModuleInitialized() view returns (bool)", - "function isNominated(address candidate) view returns (bool)", - "function nominate()", - "function resolve() payable", - "function setNextElectionSettings(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance)", - "function tweakEpochSchedule(uint64 newNominationPeriodStartDate, uint64 newVotingPeriodStartDate, uint64 newEpochEndDate)", - "function withdrawNomination()", - "function withdrawVote(address[] candidates) payable", - "error BallotAlreadyPrepared(address voter, uint256 electionId)", - "error InvalidSnapshotContract()", - "error NoPower(uint256, address)", - "error OverflowUint256ToUint128()", - "error SnapshotAlreadyTaken(uint128 snapshotId)", - "error SnapshotNotTaken(address snapshotContract, uint128 electionId)", - "function getVotePowerSnapshotId(address snapshotContract, uint128 electionId) view returns (uint128)", - "function prepareBallotWithSnapshot(address snapshotContract, address voter) returns (uint256 power)", - "function setSnapshotContract(address snapshotContract, bool enabled)", - "function takeVotePowerSnapshot(address snapshotContract) returns (uint128 snapshotId)", - "error ImplementationIsSterile(address implementation)", - "error NoChange()", - "error NotAContract(address contr)", - "error NotNominated(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 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)" - ], - "deployTxnHash": "", - "sourceName": "", - "contractName": "", - "deployedOn": "invoke.upgrade_core_proxy", - "gasUsed": 0, - "gasCost": "0", - "highlight": true + "deployTxn": "https://sepolia.etherscan.io/tx/0x18c40ba98bbd439f0ac6f9e28c7ea71611d24e702fc57740a24ec8e923762173", + "deployedOn": "run.synthetix" + }, + "Math": { + "address": "0xe5BBE61dC29670Fa52E3a3bCdb7278d926Db1A2A", + "sourceName": "contracts/Math.sol", + "contractName": "Math", + "abi": [], + "deployTxn": "https://sepolia.etherscan.io/tx/0x495178a84773952a2d4013276787b6ccb8783506ae3a81d58b7b009e51945a9d", + "deployedOn": "run.synthetix" + }, + "SystemSettingsLib": { + "address": "0xDeB9b7a8e380202986B597462aFec64Ac394B2B1", + "sourceName": "contracts/SystemSettingsLib.sol", + "contractName": "SystemSettingsLib", + "abi": [ + "function MAX_ATOMIC_TWAP_WINDOW() view returns (uint256)", + "function MAX_ATOMIC_VOLATILITY_CONSIDERATION_WINDOW() view returns (uint256)", + "function MAX_ATOMIC_VOLUME_PER_BLOCK() view returns (uint256)", + "function MAX_CROSS_DOMAIN_GAS_LIMIT() view returns (uint256)", + "function MAX_EXCHANGE_FEE_RATE() view returns (uint256)", + "function MAX_FEE_PERIOD_DURATION() view returns (uint256)", + "function MAX_ISSUANCE_RATIO() view returns (uint256)", + "function MAX_LIQUIDATION_DELAY() view returns (uint256)", + "function MAX_LIQUIDATION_PENALTY() view returns (uint256)", + "function MAX_LIQUIDATION_RATIO() view returns (uint256)", + "function MAX_MINIMUM_STAKE_TIME() view returns (uint256)", + "function MAX_TARGET_THRESHOLD() view returns (uint256)", + "function MAX_WRAPPER_BURN_FEE_RATE() view returns (int256)", + "function MAX_WRAPPER_MINT_FEE_RATE() view returns (int256)", + "function MIN_ATOMIC_TWAP_WINDOW() view returns (uint256)", + "function MIN_ATOMIC_VOLATILITY_CONSIDERATION_WINDOW() view returns (uint256)", + "function MIN_CROSS_DOMAIN_GAS_LIMIT() view returns (uint256)", + "function MIN_FEE_PERIOD_DURATION() view returns (uint256)", + "function MIN_LIQUIDATION_DELAY() view returns (uint256)", + "function RATIO_FROM_TARGET_BUFFER() view returns (uint256)", + "function SETTINGS_CONTRACT_NAME() view returns (bytes32)", + "function contractName() view returns (bytes32)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x1ddb36f695d3ccc816a99c0eedfaa1db47e36880628507f91fa72859c1914af4", + "deployedOn": "run.synthetix" + }, + "SignedSafeDecimalMath": { + "address": "0x2060e6041F7C1BF9A90FA0c060E40C402d81D6CE", + "sourceName": "contracts/SignedSafeDecimalMath.sol", + "contractName": "SignedSafeDecimalMath", + "abi": [ + "function PRECISE_UNIT() view returns (int256)", + "function UNIT() view returns (int256)", + "function decimals() view returns (uint8)", + "function highPrecisionDecimals() view returns (uint8)", + "function preciseUnit() pure returns (int256)", + "function unit() pure returns (int256)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0xa3a5cd32496edb6f1e2b06e18dc6c71b352c9c919c83dda27a06e94397c223c1", + "deployedOn": "run.synthetix" + }, + "ExchangeSettlementLib": { + "address": "0x6f40ACC62F15eA50a67dd5183cC3Cd7Aa4257830", + "sourceName": "contracts/ExchangeSettlementLib.sol", + "contractName": "ExchangeSettlementLib", + "abi": [ + "event ExchangeEntryAppended(address indexed account, bytes32 src, uint256 amount, bytes32 dest, uint256 amountReceived, uint256 exchangeFeeRate, uint256 roundIdForSrc, uint256 roundIdForDest)", + "event ExchangeEntrySettled(address indexed from, bytes32 src, uint256 amount, bytes32 dest, uint256 reclaim, uint256 rebate, uint256 srcRoundIdAtPeriodEnd, uint256 destRoundIdAtPeriodEnd, uint256 exchangeTimestamp)", + "function hasWaitingPeriodOrSettlementOwing(tuple(IExchangeState exchangeState, IExchangeRates exchangeRates, ICircuitBreaker circuitBreaker, IExchangerInternalDebtCache debtCache, IIssuer issuer, ISynthetix synthetix) resolvedAddresses, address account, bytes32 currencyKey, uint256 waitingPeriod) view returns (bool)", + "function maxSecsLeftInWaitingPeriod(IExchangeState exchangeState, address account, bytes32 currencyKey, uint256 waitingPeriod) view returns (uint256)", + "function settlementOwing(tuple(IExchangeState exchangeState, IExchangeRates exchangeRates, ICircuitBreaker circuitBreaker, IExchangerInternalDebtCache debtCache, IIssuer issuer, ISynthetix synthetix) resolvedAddresses, address account, bytes32 currencyKey, uint256 waitingPeriod) view returns (uint256 reclaimAmount, uint256 rebateAmount, uint256 numEntries, tuple(bytes32 src, uint256 amount, bytes32 dest, uint256 reclaim, uint256 rebate, uint256 srcRoundIdAtPeriodEnd, uint256 destRoundIdAtPeriodEnd, uint256 timestamp)[])" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0xa357325eb444a8b1e17712ca35c6f44b2c4c1036c6245b15c26d6911b13bde81", + "deployedOn": "run.synthetix" + }, + "AddressResolver": { + "address": "0xc956685E0c0E639490e543bb77309864028Ae608", + "sourceName": "contracts/AddressResolver.sol", + "contractName": "AddressResolver", + "abi": [ + "constructor(address _owner)", + "event AddressImported(bytes32 name, address destination)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function acceptOwnership()", + "function areAddressesImported(bytes32[] names, address[] destinations) view returns (bool)", + "function getAddress(bytes32 name) view returns (address)", + "function getSynth(bytes32 key) view returns (address)", + "function importAddresses(bytes32[] names, address[] destinations)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function rebuildCaches(address[] destinations)", + "function repository(bytes32) view returns (address)", + "function requireAndGetAddress(bytes32 name, string reason) view returns (address)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x5bcdeef9221043702670448efc1228a73872c3ab97de1d0f03ecdb17bf452283", + "deployedOn": "run.synthetix" + }, + "ReadProxyAddressResolver": { + "address": "0xb61a6aF69e992e1bed69b0aE0CBa5143CA25D4D1", + "sourceName": "contracts/ReadProxy.sol", + "contractName": "ReadProxy", + "abi": [ + "constructor(address _owner)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event TargetUpdated(address newTarget)", + "function acceptOwnership()", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function setTarget(address _target)", + "function target() view returns (address)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0xecb95340d74e383ba04497b9adfb97e3a2812f37b4bef6d8ce0da6256822d04c", + "deployedOn": "run.synthetix" + }, + "OneNetAggregatorIssuedSynths": { + "address": "0x98735877F4164464CA06f741F44252aF5Aa2A483", + "sourceName": "contracts/OneNetAggregatorIssuedSynths.sol", + "contractName": "OneNetAggregatorIssuedSynths", + "abi": [ + "constructor(address _resolver)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event SetOverrideTimestamp(uint256 timestamp)", + "function CONTRACT_NAME() view returns (bytes32)", + "function acceptOwnership()", + "function decimals() view returns (uint8)", + "function getAnswer(uint256 _roundId) view returns (int256 answer)", + "function getRoundData(uint80) view returns (uint80, int256, uint256, uint256, uint80)", + "function getTimestamp(uint256 _roundId) view returns (uint256 timestamp)", + "function latestRound() view returns (uint256)", + "function latestRoundData() view returns (uint80, int256, uint256, uint256, uint80)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function overrideTimestamp() view returns (uint256)", + "function owner() view returns (address)", + "function resolver() view returns (address)", + "function setOverrideTimestamp(uint256 timestamp)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0xe25714d8b6b9e9b839ad2ac8741652f6ec5f3854f3d1965db96a14ae277f42f8", + "deployedOn": "run.synthetix" + }, + "OneNetAggregatorDebtRatio": { + "address": "0x75f0A65Bb72B73e91169D6Bd7bcDf80111706e9E", + "sourceName": "contracts/OneNetAggregatorDebtRatio.sol", + "contractName": "OneNetAggregatorDebtRatio", + "abi": [ + "constructor(address _resolver)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event SetOverrideTimestamp(uint256 timestamp)", + "function CONTRACT_NAME() view returns (bytes32)", + "function acceptOwnership()", + "function decimals() view returns (uint8)", + "function getAnswer(uint256 _roundId) view returns (int256 answer)", + "function getRoundData(uint80) view returns (uint80, int256, uint256, uint256, uint80)", + "function getTimestamp(uint256 _roundId) view returns (uint256 timestamp)", + "function latestRound() view returns (uint256)", + "function latestRoundData() view returns (uint80, int256, uint256, uint256, uint80)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function overrideTimestamp() view returns (uint256)", + "function owner() view returns (address)", + "function resolver() view returns (address)", + "function setOverrideTimestamp(uint256 timestamp)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0xf029fd15c623083c87c4f437ba4302c546527b8d8c9367605918afab92afe1bd", + "deployedOn": "run.synthetix" + }, + "FlexibleStorage": { + "address": "0x8e76B16CeaB8A52A6F4dDe7a28d24Cac35d3DFE3", + "sourceName": "contracts/FlexibleStorage.sol", + "contractName": "FlexibleStorage", + "abi": [ + "constructor(address _resolver)", + "event KeyMigrated(bytes32 fromContractName, bytes32 toContractName, bool removeAccessFromPreviousContract)", + "event ValueDeletedAddress(bytes32 contractName, bytes32 record, address value)", + "event ValueDeletedBool(bytes32 contractName, bytes32 record, bool value)", + "event ValueDeletedBytes32(bytes32 contractName, bytes32 record, bytes32 value)", + "event ValueDeletedInt(bytes32 contractName, bytes32 record, int256 value)", + "event ValueDeletedUInt(bytes32 contractName, bytes32 record, uint256 value)", + "event ValueSetAddress(bytes32 contractName, bytes32 record, address value)", + "event ValueSetBool(bytes32 contractName, bytes32 record, bool value)", + "event ValueSetBytes32(bytes32 contractName, bytes32 record, bytes32 value)", + "event ValueSetInt(bytes32 contractName, bytes32 record, int256 value)", + "event ValueSetUInt(bytes32 contractName, bytes32 record, uint256 value)", + "function deleteAddressValue(bytes32 contractName, bytes32 record)", + "function deleteBoolValue(bytes32 contractName, bytes32 record)", + "function deleteBytes32Value(bytes32 contractName, bytes32 record)", + "function deleteIntValue(bytes32 contractName, bytes32 record)", + "function deleteUIntValue(bytes32 contractName, bytes32 record)", + "function getAddressValue(bytes32 contractName, bytes32 record) view returns (address)", + "function getAddressValues(bytes32 contractName, bytes32[] records) view returns (address[])", + "function getBoolValue(bytes32 contractName, bytes32 record) view returns (bool)", + "function getBoolValues(bytes32 contractName, bytes32[] records) view returns (bool[])", + "function getBytes32Value(bytes32 contractName, bytes32 record) view returns (bytes32)", + "function getBytes32Values(bytes32 contractName, bytes32[] records) view returns (bytes32[])", + "function getIntValue(bytes32 contractName, bytes32 record) view returns (int256)", + "function getIntValues(bytes32 contractName, bytes32[] records) view returns (int256[])", + "function getUIntValue(bytes32 contractName, bytes32 record) view returns (uint256)", + "function getUIntValues(bytes32 contractName, bytes32[] records) view returns (uint256[])", + "function hashes(bytes32) view returns (bytes32)", + "function migrateContractKey(bytes32 fromContractName, bytes32 toContractName, bool removeAccessFromPreviousContract)", + "function resolverProxy() view returns (address)", + "function setAddressValue(bytes32 contractName, bytes32 record, address value)", + "function setAddressValues(bytes32 contractName, bytes32[] records, address[] values)", + "function setBoolValue(bytes32 contractName, bytes32 record, bool value)", + "function setBoolValues(bytes32 contractName, bytes32[] records, bool[] values)", + "function setBytes32Value(bytes32 contractName, bytes32 record, bytes32 value)", + "function setBytes32Values(bytes32 contractName, bytes32[] records, bytes32[] values)", + "function setIntValue(bytes32 contractName, bytes32 record, int256 value)", + "function setIntValues(bytes32 contractName, bytes32[] records, int256[] values)", + "function setUIntValue(bytes32 contractName, bytes32 record, uint256 value)", + "function setUIntValues(bytes32 contractName, bytes32[] records, uint256[] values)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x0dd196d05edc596db75b383408f2589f8f349db1e33119ece7144ac8273b6ded", + "deployedOn": "run.synthetix" + }, + "SystemSettings": { + "address": "0x6b72ba3aa550d0403F59f4714c82581658136aF8", + "sourceName": "contracts/SystemSettings.sol", + "contractName": "SystemSettings", + "abi": [ + "constructor(address _owner, address _resolver)", + "event AggregatorWarningFlagsUpdated(address flags)", + "event AtomicEquivalentForDexPricingUpdated(bytes32 synthKey, address equivalent)", + "event AtomicExchangeFeeUpdated(bytes32 synthKey, uint256 newExchangeFeeRate)", + "event AtomicMaxVolumePerBlockUpdated(uint256 newMaxVolume)", + "event AtomicTwapWindowUpdated(uint256 newWindow)", + "event AtomicVolatilityConsiderationWindowUpdated(bytes32 synthKey, uint256 newVolatilityConsiderationWindow)", + "event AtomicVolatilityUpdateThresholdUpdated(bytes32 synthKey, uint256 newVolatilityUpdateThreshold)", + "event CacheUpdated(bytes32 name, address destination)", + "event CollapseFeeRateUpdated(uint256 collapseFeeRate)", + "event CrossChainSynthTransferEnabledUpdated(bytes32 synthKey, uint256 value)", + "event CrossDomainMessageGasLimitChanged(uint8 gasLimitType, uint256 newLimit)", + "event DebtSnapshotStaleTimeUpdated(uint256 debtSnapshotStaleTime)", + "event EtherWrapperBurnFeeRateUpdated(uint256 rate)", + "event EtherWrapperMaxETHUpdated(uint256 maxETH)", + "event EtherWrapperMintFeeRateUpdated(uint256 rate)", + "event ExchangeDynamicFeeRoundsUpdated(uint256 dynamicFeeRounds)", + "event ExchangeDynamicFeeThresholdUpdated(uint256 dynamicFeeThreshold)", + "event ExchangeDynamicFeeWeightDecayUpdated(uint256 dynamicFeeWeightDecay)", + "event ExchangeFeeUpdated(bytes32 synthKey, uint256 newExchangeFeeRate)", + "event ExchangeMaxDynamicFeeUpdated(uint256 maxDynamicFee)", + "event FeePeriodDurationUpdated(uint256 newFeePeriodDuration)", + "event FlagRewardUpdated(uint256 newReward)", + "event InteractionDelayUpdated(uint256 interactionDelay)", + "event IssuanceRatioUpdated(uint256 newRatio)", + "event LiquidateRewardUpdated(uint256 newReward)", + "event LiquidationDelayUpdated(uint256 newDelay)", + "event LiquidationEscrowDurationUpdated(uint256 newDuration)", + "event LiquidationPenaltyUpdated(uint256 newPenalty)", + "event LiquidationRatioUpdated(uint256 newRatio)", + "event MinimumStakeTimeUpdated(uint256 minimumStakeTime)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event PriceDeviationThresholdUpdated(uint256 threshold)", + "event PureChainlinkPriceForAtomicSwapsEnabledUpdated(bytes32 synthKey, bool enabled)", + "event RateStalePeriodUpdated(uint256 rateStalePeriod)", + "event SelfLiquidationPenaltyUpdated(uint256 newPenalty)", + "event SnxLiquidationPenaltyUpdated(uint256 newPenalty)", + "event TargetThresholdUpdated(uint256 newTargetThreshold)", + "event TradingRewardsEnabled(bool enabled)", + "event WaitingPeriodSecsUpdated(uint256 waitingPeriodSecs)", + "event WrapperBurnFeeRateUpdated(address wrapper, int256 rate)", + "event WrapperMaxTokenAmountUpdated(address wrapper, uint256 maxTokenAmount)", + "event WrapperMintFeeRateUpdated(address wrapper, int256 rate)", + "function CONTRACT_NAME() view returns (bytes32)", + "function acceptOwnership()", + "function aggregatorWarningFlags() view returns (address)", + "function atomicEquivalentForDexPricing(bytes32 currencyKey) view returns (address)", + "function atomicExchangeFeeRate(bytes32 currencyKey) view returns (uint256)", + "function atomicMaxVolumePerBlock() view returns (uint256)", + "function atomicTwapWindow() view returns (uint256)", + "function atomicVolatilityConsiderationWindow(bytes32 currencyKey) view returns (uint256)", + "function atomicVolatilityUpdateThreshold(bytes32 currencyKey) view returns (uint256)", + "function collapseFeeRate(address collateral) view returns (uint256)", + "function crossChainSynthTransferEnabled(bytes32 currencyKey) view returns (uint256)", + "function crossDomainMessageGasLimit(uint8 gasLimitType) view returns (uint256)", + "function debtSnapshotStaleTime() view returns (uint256)", + "function etherWrapperBurnFeeRate() view returns (uint256)", + "function etherWrapperMaxETH() view returns (uint256)", + "function etherWrapperMintFeeRate() view returns (uint256)", + "function exchangeDynamicFeeRounds() view returns (uint256)", + "function exchangeDynamicFeeThreshold() view returns (uint256)", + "function exchangeDynamicFeeWeightDecay() view returns (uint256)", + "function exchangeFeeRate(bytes32 currencyKey) view returns (uint256)", + "function exchangeMaxDynamicFee() view returns (uint256)", + "function feePeriodDuration() view returns (uint256)", + "function flagReward() view returns (uint256)", + "function interactionDelay(address collateral) view returns (uint256)", + "function isResolverCached() view returns (bool)", + "function issuanceRatio() view returns (uint256)", + "function liquidateReward() view returns (uint256)", + "function liquidationDelay() view returns (uint256)", + "function liquidationEscrowDuration() view returns (uint256)", + "function liquidationPenalty() view returns (uint256)", + "function liquidationRatio() view returns (uint256)", + "function minimumStakeTime() view returns (uint256)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function priceDeviationThresholdFactor() view returns (uint256)", + "function pureChainlinkPriceForAtomicSwapsEnabled(bytes32 currencyKey) view returns (bool)", + "function rateStalePeriod() view returns (uint256)", + "function rebuildCache()", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function selfLiquidationPenalty() view returns (uint256)", + "function setAggregatorWarningFlags(address _flags)", + "function setAtomicEquivalentForDexPricing(bytes32 _currencyKey, address _equivalent)", + "function setAtomicExchangeFeeRate(bytes32 _currencyKey, uint256 _exchangeFeeRate)", + "function setAtomicMaxVolumePerBlock(uint256 _maxVolume)", + "function setAtomicTwapWindow(uint256 _window)", + "function setAtomicVolatilityConsiderationWindow(bytes32 _currencyKey, uint256 _window)", + "function setAtomicVolatilityUpdateThreshold(bytes32 _currencyKey, uint256 _threshold)", + "function setCollapseFeeRate(address _collateral, uint256 _collapseFeeRate)", + "function setCrossChainSynthTransferEnabled(bytes32 _currencyKey, uint256 _value)", + "function setCrossDomainMessageGasLimit(uint8 _gasLimitType, uint256 _crossDomainMessageGasLimit)", + "function setDebtSnapshotStaleTime(uint256 _seconds)", + "function setEtherWrapperBurnFeeRate(uint256 _rate)", + "function setEtherWrapperMaxETH(uint256 _maxETH)", + "function setEtherWrapperMintFeeRate(uint256 _rate)", + "function setExchangeDynamicFeeRounds(uint256 rounds)", + "function setExchangeDynamicFeeThreshold(uint256 threshold)", + "function setExchangeDynamicFeeWeightDecay(uint256 weightDecay)", + "function setExchangeFeeRateForSynths(bytes32[] synthKeys, uint256[] exchangeFeeRates)", + "function setExchangeMaxDynamicFee(uint256 maxFee)", + "function setFeePeriodDuration(uint256 _feePeriodDuration)", + "function setFlagReward(uint256 reward)", + "function setInteractionDelay(address _collateral, uint256 _interactionDelay)", + "function setIssuanceRatio(uint256 ratio)", + "function setLiquidateReward(uint256 reward)", + "function setLiquidationDelay(uint256 time)", + "function setLiquidationEscrowDuration(uint256 duration)", + "function setLiquidationPenalty(uint256 penalty)", + "function setLiquidationRatio(uint256 _liquidationRatio)", + "function setMinimumStakeTime(uint256 _seconds)", + "function setPriceDeviationThresholdFactor(uint256 _priceDeviationThresholdFactor)", + "function setPureChainlinkPriceForAtomicSwapsEnabled(bytes32 _currencyKey, bool _enabled)", + "function setRateStalePeriod(uint256 period)", + "function setSelfLiquidationPenalty(uint256 penalty)", + "function setSnxLiquidationPenalty(uint256 penalty)", + "function setTargetThreshold(uint256 percent)", + "function setTradingRewardsEnabled(bool _tradingRewardsEnabled)", + "function setWaitingPeriodSecs(uint256 _waitingPeriodSecs)", + "function setWrapperBurnFeeRate(address _wrapper, int256 _rate)", + "function setWrapperMaxTokenAmount(address _wrapper, uint256 _maxTokenAmount)", + "function setWrapperMintFeeRate(address _wrapper, int256 _rate)", + "function snxLiquidationPenalty() view returns (uint256)", + "function targetThreshold() view returns (uint256)", + "function tradingRewardsEnabled() view returns (bool)", + "function waitingPeriodSecs() view returns (uint256)", + "function wrapperBurnFeeRate(address wrapper) view returns (int256)", + "function wrapperMaxTokenAmount(address wrapper) view returns (uint256)", + "function wrapperMintFeeRate(address wrapper) view returns (int256)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x9aef431c2d6751ff8f3b8562f0ad50eb3aad2cbfbb07d55007b08ad9499a8102", + "deployedOn": "run.synthetix" + }, + "SystemStatus": { + "address": "0x2ef042dbd14560074225dF68f16Aa729DCd1382B", + "sourceName": "contracts/SystemStatus.sol", + "contractName": "SystemStatus", + "abi": [ + "constructor(address _owner)", + "event AccessControlUpdated(bytes32 indexed section, address indexed account, bool canSuspend, bool canResume)", + "event ExchangeResumed(uint256 reason)", + "event ExchangeSuspended(uint256 reason)", + "event FuturesMarketResumed(bytes32 marketKey, uint256 reason)", + "event FuturesMarketSuspended(bytes32 marketKey, uint256 reason)", + "event FuturesResumed(uint256 reason)", + "event FuturesSuspended(uint256 reason)", + "event IssuanceResumed(uint256 reason)", + "event IssuanceSuspended(uint256 reason)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event SynthExchangeResumed(bytes32 currencyKey, uint256 reason)", + "event SynthExchangeSuspended(bytes32 currencyKey, uint256 reason)", + "event SynthResumed(bytes32 currencyKey, uint256 reason)", + "event SynthSuspended(bytes32 currencyKey, uint256 reason)", + "event SystemResumed(uint256 reason)", + "event SystemSuspended(uint256 reason)", + "function CONTRACT_NAME() view returns (bytes32)", + "function SECTION_EXCHANGE() view returns (bytes32)", + "function SECTION_FUTURES() view returns (bytes32)", + "function SECTION_ISSUANCE() view returns (bytes32)", + "function SECTION_SYNTH() view returns (bytes32)", + "function SECTION_SYNTH_EXCHANGE() view returns (bytes32)", + "function SECTION_SYSTEM() view returns (bytes32)", + "function SUSPENSION_REASON_UPGRADE() view returns (uint248)", + "function acceptOwnership()", + "function accessControl(bytes32, address) view returns (bool canSuspend, bool canResume)", + "function exchangeSuspension() view returns (bool suspended, uint248 reason)", + "function futuresMarketSuspension(bytes32) view returns (bool suspended, uint248 reason)", + "function futuresSuspension() view returns (bool suspended, uint248 reason)", + "function getFuturesMarketSuspensions(bytes32[] marketKeys) view returns (bool[] suspensions, uint256[] reasons)", + "function getSynthExchangeSuspensions(bytes32[] synths) view returns (bool[] exchangeSuspensions, uint256[] reasons)", + "function getSynthSuspensions(bytes32[] synths) view returns (bool[] suspensions, uint256[] reasons)", + "function isSystemUpgrading() view returns (bool)", + "function issuanceSuspension() view returns (bool suspended, uint248 reason)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function requireExchangeActive() view", + "function requireExchangeBetweenSynthsAllowed(bytes32 sourceCurrencyKey, bytes32 destinationCurrencyKey) view", + "function requireFuturesActive() view", + "function requireFuturesMarketActive(bytes32 marketKey) view", + "function requireIssuanceActive() view", + "function requireSynthActive(bytes32 currencyKey) view", + "function requireSynthExchangeActive(bytes32 currencyKey) view", + "function requireSynthsActive(bytes32 sourceCurrencyKey, bytes32 destinationCurrencyKey) view", + "function requireSystemActive() view", + "function resumeExchange()", + "function resumeFutures()", + "function resumeFuturesMarket(bytes32 marketKey)", + "function resumeFuturesMarkets(bytes32[] marketKeys)", + "function resumeIssuance()", + "function resumeSynth(bytes32 currencyKey)", + "function resumeSynthExchange(bytes32 currencyKey)", + "function resumeSynths(bytes32[] currencyKeys)", + "function resumeSynthsExchange(bytes32[] currencyKeys)", + "function resumeSystem()", + "function suspendExchange(uint256 reason)", + "function suspendFutures(uint256 reason)", + "function suspendFuturesMarket(bytes32 marketKey, uint256 reason)", + "function suspendFuturesMarkets(bytes32[] marketKeys, uint256 reason)", + "function suspendIssuance(uint256 reason)", + "function suspendSynth(bytes32 currencyKey, uint256 reason)", + "function suspendSynthExchange(bytes32 currencyKey, uint256 reason)", + "function suspendSynths(bytes32[] currencyKeys, uint256 reason)", + "function suspendSynthsExchange(bytes32[] currencyKeys, uint256 reason)", + "function suspendSystem(uint256 reason)", + "function synthExchangeSuspension(bytes32) view returns (bool suspended, uint248 reason)", + "function synthSuspended(bytes32 currencyKey) view returns (bool)", + "function synthSuspension(bytes32) view returns (bool suspended, uint248 reason)", + "function systemSuspended() view returns (bool)", + "function systemSuspension() view returns (bool suspended, uint248 reason)", + "function updateAccessControl(bytes32 section, address account, bool canSuspend, bool canResume)", + "function updateAccessControls(bytes32[] sections, address[] accounts, bool[] canSuspends, bool[] canResumes)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x5161eb2622be01080df9fb0cceaadc2596a794d8d4d7ce9d66ca46fe2cda2286", + "deployedOn": "run.synthetix" + }, + "ExchangeRates": { + "address": "0xFf15AF9219D74ABD40a97537Db0EfcC6eE77040b", + "sourceName": "contracts/ExchangeRatesWithDexPricing.sol", + "contractName": "ExchangeRatesWithDexPricing", + "abi": [ + "constructor(address _owner, address _resolver)", + "event AggregatorAdded(bytes32 currencyKey, address aggregator)", + "event AggregatorRemoved(bytes32 currencyKey, address aggregator)", + "event CacheUpdated(bytes32 name, address destination)", + "event DexPriceAggregatorUpdated(address newDexPriceAggregator)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function CONTRACT_NAME() view returns (bytes32)", + "function acceptOwnership()", + "function addAggregator(bytes32 currencyKey, address aggregatorAddress)", + "function aggregatorKeys(uint256) view returns (bytes32)", + "function aggregatorWarningFlags() view returns (address)", + "function aggregators(bytes32) view returns (address)", + "function anyRateIsInvalid(bytes32[] currencyKeys) view returns (bool)", + "function anyRateIsInvalidAtRound(bytes32[] currencyKeys, uint256[] roundIds) view returns (bool)", + "function currenciesUsingAggregator(address aggregator) view returns (bytes32[] currencies)", + "function currencyKeyDecimals(bytes32) view returns (uint8)", + "function dexPriceAggregator() view returns (address)", + "function effectiveAtomicValueAndRates(bytes32 sourceCurrencyKey, uint256 amount, bytes32 destinationCurrencyKey) view returns (uint256 value, uint256 systemValue, uint256 systemSourceRate, uint256 systemDestinationRate)", + "function effectiveAtomicValueAndRates(tuple(bytes32 currencyKey, address dexPriceAggregator, address atomicEquivalentForDexPricing, uint256 atomicExchangeFeeRate, uint256 atomicTwapWindow, uint256 atomicMaxVolumePerBlock, uint256 atomicVolatilityConsiderationWindow, uint256 atomicVolatilityUpdateThreshold, uint256 exchangeFeeRate, uint256 exchangeMaxDynamicFee, uint256 exchangeDynamicFeeRounds, uint256 exchangeDynamicFeeThreshold, uint256 exchangeDynamicFeeWeightDecay) sourceSettings, uint256 sourceAmount, tuple(bytes32 currencyKey, address dexPriceAggregator, address atomicEquivalentForDexPricing, uint256 atomicExchangeFeeRate, uint256 atomicTwapWindow, uint256 atomicMaxVolumePerBlock, uint256 atomicVolatilityConsiderationWindow, uint256 atomicVolatilityUpdateThreshold, uint256 exchangeFeeRate, uint256 exchangeMaxDynamicFee, uint256 exchangeDynamicFeeRounds, uint256 exchangeDynamicFeeThreshold, uint256 exchangeDynamicFeeWeightDecay) destinationSettings, tuple(bytes32 currencyKey, address dexPriceAggregator, address atomicEquivalentForDexPricing, uint256 atomicExchangeFeeRate, uint256 atomicTwapWindow, uint256 atomicMaxVolumePerBlock, uint256 atomicVolatilityConsiderationWindow, uint256 atomicVolatilityUpdateThreshold, uint256 exchangeFeeRate, uint256 exchangeMaxDynamicFee, uint256 exchangeDynamicFeeRounds, uint256 exchangeDynamicFeeThreshold, uint256 exchangeDynamicFeeWeightDecay) usdSettings) view returns (uint256 value, uint256 systemValue, uint256 systemSourceRate, uint256 systemDestinationRate)", + "function effectiveValue(bytes32 sourceCurrencyKey, uint256 sourceAmount, bytes32 destinationCurrencyKey) view returns (uint256 value)", + "function effectiveValueAndRates(bytes32 sourceCurrencyKey, uint256 sourceAmount, bytes32 destinationCurrencyKey) view returns (uint256 value, uint256 sourceRate, uint256 destinationRate)", + "function effectiveValueAndRatesAtRound(bytes32 sourceCurrencyKey, uint256 sourceAmount, bytes32 destinationCurrencyKey, uint256 roundIdForSrc, uint256 roundIdForDest) view returns (uint256 value, uint256 sourceRate, uint256 destinationRate)", + "function getCurrentRoundId(bytes32 currencyKey) view returns (uint256)", + "function getLastRoundIdBeforeElapsedSecs(bytes32 currencyKey, uint256 startingRoundId, uint256 startingTimestamp, uint256 timediff) view returns (uint256)", + "function isResolverCached() view returns (bool)", + "function lastRateUpdateTimes(bytes32 currencyKey) view returns (uint256)", + "function lastRateUpdateTimesForCurrencies(bytes32[] currencyKeys) view returns (uint256[])", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function rateAndInvalid(bytes32 currencyKey) view returns (uint256 rate, bool isInvalid)", + "function rateAndTimestampAtRound(bytes32 currencyKey, uint256 roundId) view returns (uint256 rate, uint256 time)", + "function rateAndUpdatedTime(bytes32 currencyKey) view returns (uint256 rate, uint256 time)", + "function rateForCurrency(bytes32 currencyKey) view returns (uint256)", + "function rateIsFlagged(bytes32 currencyKey) view returns (bool)", + "function rateIsInvalid(bytes32 currencyKey) view returns (bool)", + "function rateIsStale(bytes32 currencyKey) view returns (bool)", + "function rateStalePeriod() view returns (uint256)", + "function rateWithSafetyChecks(bytes32 currencyKey) returns (uint256 rate, bool broken, bool staleOrInvalid)", + "function ratesAndInvalidForCurrencies(bytes32[] currencyKeys) view returns (uint256[] rates, bool anyRateInvalid)", + "function ratesAndUpdatedTimeForCurrencyLastNRounds(bytes32 currencyKey, uint256 numRounds, uint256 roundId) view returns (uint256[] rates, uint256[] times)", + "function ratesForCurrencies(bytes32[] currencyKeys) view returns (uint256[])", + "function rebuildCache()", + "function removeAggregator(bytes32 currencyKey)", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function setDexPriceAggregator(address _dexPriceAggregator)", + "function synthTooVolatileForAtomicExchange(bytes32 currencyKey) view returns (bool)", + "function synthTooVolatileForAtomicExchange(tuple(bytes32 currencyKey, address dexPriceAggregator, address atomicEquivalentForDexPricing, uint256 atomicExchangeFeeRate, uint256 atomicTwapWindow, uint256 atomicMaxVolumePerBlock, uint256 atomicVolatilityConsiderationWindow, uint256 atomicVolatilityUpdateThreshold, uint256 exchangeFeeRate, uint256 exchangeMaxDynamicFee, uint256 exchangeDynamicFeeRounds, uint256 exchangeDynamicFeeThreshold, uint256 exchangeDynamicFeeWeightDecay) settings) view returns (bool)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x4c264fa01a974709b8572e30492d04ea901b82ae8548a7105303bd93ed78bf6b", + "deployedOn": "run.synthetix" + }, + "TokenStateSynthetix": { + "address": "0xfEDB3BeEc7283c93d12C3b56f70C39AbAD776831", + "sourceName": "contracts/legacy/LegacyTokenState.sol", + "contractName": "LegacyTokenState", + "abi": [ + "constructor(address _owner, address _associatedContract)", + "event AssociatedContractUpdated(address _associatedContract)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function acceptOwnership()", + "function allowance(address, address) view returns (uint256)", + "function associatedContract() view returns (address)", + "function balanceOf(address) view returns (uint256)", + "function nominateOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function setAllowance(address tokenOwner, address spender, uint256 value)", + "function setAssociatedContract(address _associatedContract)", + "function setBalanceOf(address account, uint256 value)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x16b9b899e7e8f6c67bc2eaaa1a928a2933ae91678d18c0e3b350b146476f3788", + "deployedOn": "run.synthetix" + }, + "ProxySynthetix": { + "address": "0x079E7E1C0cBFee4B2D2798A9d426009D08b1F9cb", + "sourceName": "contracts/ProxyERC20.sol", + "contractName": "ProxyERC20", + "abi": [ + "constructor(address _owner)", + "event Approval(address indexed owner, address indexed spender, uint256 value)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event TargetUpdated(address newTarget)", + "event Transfer(address indexed from, address indexed to, uint256 value)", + "function _emit(bytes callData, uint256 numTopics, bytes32 topic1, bytes32 topic2, bytes32 topic3, bytes32 topic4)", + "function acceptOwnership()", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 value) returns (bool)", + "function balanceOf(address account) view returns (uint256)", + "function decimals() view returns (uint8)", + "function name() view returns (string)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function setTarget(address _target)", + "function symbol() view returns (string)", + "function target() view returns (address)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 value) returns (bool)", + "function transferFrom(address from, address to, uint256 value) returns (bool)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x86617bcb814f8175321a83f1024dd9ab66e3eb8a97e1ce04803feaf619c33dab", + "deployedOn": "run.synthetix" + }, + "Synthetix": { + "address": "0x29Ba9b0C440CE9e7B0E46138B5Fda83c22467006", + "sourceName": "contracts/Synthetix.sol", + "contractName": "Synthetix", + "abi": [ + "constructor(address _proxy, address _tokenState, address _owner, uint256 _totalSupply, address _resolver)", + "event AccountLiquidated(address indexed account, uint256 snxRedeemed, uint256 amountLiquidated, address liquidator)", + "event Approval(address indexed owner, address indexed spender, uint256 value)", + "event AtomicSynthExchange(address indexed account, bytes32 fromCurrencyKey, uint256 fromAmount, bytes32 toCurrencyKey, uint256 toAmount, address toAddress)", + "event CacheUpdated(bytes32 name, address destination)", + "event ExchangeRebate(address indexed account, bytes32 currencyKey, uint256 amount)", + "event ExchangeReclaim(address indexed account, bytes32 currencyKey, uint256 amount)", + "event ExchangeTracking(bytes32 indexed trackingCode, bytes32 toCurrencyKey, uint256 toAmount, uint256 fee)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event ProxyUpdated(address proxyAddress)", + "event SynthExchange(address indexed account, bytes32 fromCurrencyKey, uint256 fromAmount, bytes32 toCurrencyKey, uint256 toAmount, address toAddress)", + "event TokenStateUpdated(address newTokenState)", + "event Transfer(address indexed from, address indexed to, uint256 value)", + "function CONTRACT_NAME() view returns (bytes32)", + "function DECIMALS() view returns (uint8)", + "function TOKEN_NAME() view returns (string)", + "function TOKEN_SYMBOL() view returns (string)", + "function acceptOwnership()", + "function allowance(address owner, address spender) view returns (uint256)", + "function anySynthOrSNXRateIsInvalid() view returns (bool anyRateInvalid)", + "function approve(address spender, uint256 value) returns (bool)", + "function availableCurrencyKeys() view returns (bytes32[])", + "function availableSynthCount() view returns (uint256)", + "function availableSynths(uint256 index) view returns (address)", + "function balanceOf(address account) view returns (uint256)", + "function burnSecondary(address, uint256)", + "function burnSynths(uint256 amount)", + "function burnSynthsOnBehalf(address burnForAddress, uint256 amount)", + "function burnSynthsToTarget()", + "function burnSynthsToTargetOnBehalf(address burnForAddress)", + "function collateral(address account) view returns (uint256)", + "function collateralisationRatio(address _issuer) view returns (uint256)", + "function debtBalanceOf(address account, bytes32 currencyKey) view returns (uint256)", + "function decimals() view returns (uint8)", + "function emitAtomicSynthExchange(address account, bytes32 fromCurrencyKey, uint256 fromAmount, bytes32 toCurrencyKey, uint256 toAmount, address toAddress)", + "function emitExchangeRebate(address account, bytes32 currencyKey, uint256 amount)", + "function emitExchangeReclaim(address account, bytes32 currencyKey, uint256 amount)", + "function emitExchangeTracking(bytes32 trackingCode, bytes32 toCurrencyKey, uint256 toAmount, uint256 fee)", + "function emitSynthExchange(address account, bytes32 fromCurrencyKey, uint256 fromAmount, bytes32 toCurrencyKey, uint256 toAmount, address toAddress)", + "function exchange(bytes32 sourceCurrencyKey, uint256 sourceAmount, bytes32 destinationCurrencyKey) returns (uint256 amountReceived)", + "function exchangeAtomically(bytes32 sourceCurrencyKey, uint256 sourceAmount, bytes32 destinationCurrencyKey, bytes32 trackingCode, uint256 minAmount) returns (uint256 amountReceived)", + "function exchangeOnBehalf(address exchangeForAddress, bytes32 sourceCurrencyKey, uint256 sourceAmount, bytes32 destinationCurrencyKey) returns (uint256 amountReceived)", + "function exchangeOnBehalfWithTracking(address exchangeForAddress, bytes32 sourceCurrencyKey, uint256 sourceAmount, bytes32 destinationCurrencyKey, address rewardAddress, bytes32 trackingCode) returns (uint256 amountReceived)", + "function exchangeWithTracking(bytes32 sourceCurrencyKey, uint256 sourceAmount, bytes32 destinationCurrencyKey, address rewardAddress, bytes32 trackingCode) returns (uint256 amountReceived)", + "function exchangeWithTrackingForInitiator(bytes32 sourceCurrencyKey, uint256 sourceAmount, bytes32 destinationCurrencyKey, address rewardAddress, bytes32 trackingCode) returns (uint256 amountReceived)", + "function exchangeWithVirtual(bytes32 sourceCurrencyKey, uint256 sourceAmount, bytes32 destinationCurrencyKey, bytes32 trackingCode) returns (uint256 amountReceived, address vSynth)", + "function getFirstNonZeroEscrowIndex(address account) view returns (uint256)", + "function isResolverCached() view returns (bool)", + "function isWaitingPeriod(bytes32 currencyKey) view returns (bool)", + "function issueMaxSynths()", + "function issueMaxSynthsOnBehalf(address issueForAddress)", + "function issueSynths(uint256 amount)", + "function issueSynthsOnBehalf(address issueForAddress, uint256 amount)", + "function liquidateDelinquentAccount(address account) returns (bool)", + "function liquidateDelinquentAccountEscrowIndex(address account, uint256 escrowStartIndex) returns (bool)", + "function liquidateSelf() returns (bool)", + "function maxIssuableSynths(address account) view returns (uint256 maxIssuable)", + "function messageSender() view returns (address)", + "function migrateAccountBalances(address account) returns (uint256 totalEscrowRevoked, uint256 totalLiquidBalance)", + "function migrateEscrowBalanceToRewardEscrowV2()", + "function migrateEscrowContractBalance()", + "function mint() returns (bool)", + "function mintSecondary(address, uint256)", + "function mintSecondaryRewards(uint256)", + "function name() view returns (string)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function proxy() view returns (address)", + "function rebuildCache()", + "function remainingIssuableSynths(address account) view returns (uint256 maxIssuable, uint256 alreadyIssued, uint256 totalSystemDebt)", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function sUSD() view returns (bytes32)", + "function setMessageSender(address sender)", + "function setProxy(address _proxy)", + "function setTokenState(address _tokenState)", + "function settle(bytes32 currencyKey) returns (uint256 reclaimed, uint256 refunded, uint256 numEntriesSettled)", + "function symbol() view returns (string)", + "function synths(bytes32 currencyKey) view returns (address)", + "function synthsByAddress(address synthAddress) view returns (bytes32)", + "function tokenState() view returns (address)", + "function totalIssuedSynths(bytes32 currencyKey) view returns (uint256)", + "function totalIssuedSynthsExcludeOtherCollateral(bytes32 currencyKey) view returns (uint256)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 value) returns (bool)", + "function transferFrom(address from, address to, uint256 value) returns (bool)", + "function transferableSynthetix(address account) view returns (uint256 transferable)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x229b106594e14e6c756730f590fd7566080c90ce314d026e01a427afff7c40fd", + "deployedOn": "run.synthetix" + }, + "RewardEscrow": { + "address": "0x7CA45F1C7DE9395249822d89de10b044eFCe85b9", + "sourceName": "contracts/RewardEscrow.sol", + "contractName": "RewardEscrow", + "abi": [ + "constructor(address _owner, address _synthetix, address _feePool)", + "event FeePoolUpdated(address newFeePool)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event SynthetixUpdated(address newSynthetix)", + "event Vested(address indexed beneficiary, uint256 time, uint256 value)", + "event VestingEntryCreated(address indexed beneficiary, uint256 time, uint256 value)", + "function MAX_VESTING_ENTRIES() view returns (uint256)", + "function acceptOwnership()", + "function appendVestingEntry(address account, uint256 quantity)", + "function balanceOf(address account) view returns (uint256)", + "function checkAccountSchedule(address account) view returns (uint256[520])", + "function feePool() view returns (address)", + "function getNextVestingEntry(address account) view returns (uint256[2])", + "function getNextVestingIndex(address account) view returns (uint256)", + "function getNextVestingQuantity(address account) view returns (uint256)", + "function getNextVestingTime(address account) view returns (uint256)", + "function getVestingQuantity(address account, uint256 index) view returns (uint256)", + "function getVestingScheduleEntry(address account, uint256 index) view returns (uint256[2])", + "function getVestingTime(address account, uint256 index) view returns (uint256)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function numVestingEntries(address account) view returns (uint256)", + "function owner() view returns (address)", + "function setFeePool(address _feePool)", + "function setSynthetix(address _synthetix)", + "function synthetix() view returns (address)", + "function totalEscrowedAccountBalance(address) view returns (uint256)", + "function totalEscrowedBalance() view returns (uint256)", + "function totalVestedAccountBalance(address) view returns (uint256)", + "function vest()", + "function vestingSchedules(address, uint256, uint256) view returns (uint256)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x3e9a6acc69fa2565b6679b5ea90bb4fb74715d54d81cf00c0eaffce9160adf0e", + "deployedOn": "run.synthetix" + }, + "RewardEscrowV2Storage": { + "address": "0xCC8753eBE72ea01AC7c789fb5A869aA2562f56E8", + "sourceName": "contracts/RewardEscrowV2Storage.sol", + "contractName": "RewardEscrowV2Storage", + "abi": [ + "constructor(address _owner, address _associatedContract)", + "event AssociatedContractUpdated(address associatedContract)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function CONTRACT_NAME() view returns (bytes32)", + "function acceptOwnership()", + "function accountVestingEntryIDs(address account, uint256 index) view returns (uint256)", + "function addVestingEntry(address account, tuple(uint64 endTime, uint256 escrowAmount) entry) returns (uint256)", + "function associatedContract() view returns (address)", + "function fallbackRewardEscrow() view returns (address)", + "function firstNonFallbackId() view returns (uint256)", + "function nextEntryId() view returns (uint256)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function numVestingEntries(address account) view returns (uint256)", + "function owner() view returns (address)", + "function setAssociatedContract(address _associatedContract)", + "function setFallbackRewardEscrow(address _fallbackRewardEscrow)", + "function setZeroAmount(address account, uint256 entryId)", + "function setZeroAmountUntilTarget(address account, uint256 startIndex, uint256 targetAmount) returns (uint256 total, uint256 endIndex, uint256 lastEntryTime)", + "function totalEscrowedAccountBalance(address account) view returns (uint256)", + "function totalEscrowedBalance() view returns (uint256)", + "function totalVestedAccountBalance(address account) view returns (uint256)", + "function updateEscrowAccountBalance(address account, int256 delta)", + "function updateTotalEscrowedBalance(int256 delta)", + "function updateVestedAccountBalance(address account, int256 delta)", + "function vestingSchedules(address account, uint256 entryId) view returns (tuple(uint64 endTime, uint256 escrowAmount) entry)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0xc50dca62eac9c41159ea9d820540dbfa04175c0de365b8b404e561fc56bee1dc", + "deployedOn": "run.synthetix" + }, + "RewardEscrowV2": { + "address": "0xF130DEC302611Ea8Dd671cd9270c406870AC56cd", + "sourceName": "contracts/RewardEscrowV2.sol", + "contractName": "RewardEscrowV2", + "abi": [ + "constructor(address _owner, address _resolver)", + "event AccountMerged(address indexed accountToMerge, address destinationAddress, uint256 escrowAmountMerged, uint256[] entryIDs, uint256 time)", + "event AccountMergingDurationUpdated(uint256 newDuration)", + "event AccountMergingStarted(uint256 time, uint256 endTime)", + "event BurnedForMigrationToL2(address indexed account, uint256[] entryIDs, uint256 escrowedAmountMigrated, uint256 time)", + "event CacheUpdated(bytes32 name, address destination)", + "event MaxAccountMergingDurationUpdated(uint256 newDuration)", + "event MaxEscrowDurationUpdated(uint256 newDuration)", + "event NominateAccountToMerge(address indexed account, address destination)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Revoked(address indexed account, address indexed recipient, uint256 targetAmount, uint256 startIndex, uint256 endIndex)", + "event Vested(address indexed beneficiary, uint256 time, uint256 value)", + "event VestingEntryCreated(address indexed beneficiary, uint256 time, uint256 value, uint256 duration, uint256 entryID)", + "function acceptOwnership()", + "function accountMergingDuration() view returns (uint256)", + "function accountMergingIsOpen() view returns (bool)", + "function accountMergingStartTime() view returns (uint256)", + "function accountVestingEntryIDs(address account, uint256 index) view returns (uint256)", + "function appendVestingEntry(address account, uint256 quantity, uint256 duration)", + "function balanceOf(address account) view returns (uint256)", + "function burnForMigration(address account, uint256[] entryIDs) returns (uint256 escrowedAccountBalance, tuple(uint64 endTime, uint256 escrowAmount)[] vestingEntries)", + "function createEscrowEntry(address beneficiary, uint256 deposit, uint256 duration)", + "function getAccountVestingEntryIDs(address account, uint256 index, uint256 pageSize) view returns (uint256[])", + "function getVestingEntry(address account, uint256 entryID) view returns (uint64 endTime, uint256 escrowAmount)", + "function getVestingEntryClaimable(address account, uint256 entryID) view returns (uint256)", + "function getVestingQuantity(address account, uint256[] entryIDs) view returns (uint256 total)", + "function getVestingSchedules(address account, uint256 index, uint256 pageSize) view returns (tuple(uint64 endTime, uint256 escrowAmount, uint256 entryID)[])", + "function importVestingEntries(address, uint256, tuple(uint64 endTime, uint256 escrowAmount)[])", + "function isResolverCached() view returns (bool)", + "function maxAccountMergingDuration() view returns (uint256)", + "function max_duration() view returns (uint256)", + "function mergeAccount(address from, uint256[] entryIDs)", + "function migrateAccountEscrowBalances(address[], uint256[], uint256[])", + "function migrateVestingSchedule(address)", + "function nextEntryId() view returns (uint256)", + "function nominateAccountToMerge(address account)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function nominatedReceiver(address) view returns (address)", + "function numVestingEntries(address account) view returns (uint256)", + "function owner() view returns (address)", + "function permittedEscrowCreators(address) view returns (bool)", + "function rebuildCache()", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function revokeFrom(address account, address recipient, uint256 targetAmount, uint256 startIndex)", + "function setAccountMergingDuration(uint256 duration)", + "function setMaxAccountMergingWindow(uint256 duration)", + "function setMaxEscrowDuration(uint256 duration)", + "function setPermittedEscrowCreator(address creator, bool permitted)", + "function setupExpiryTime() view returns (uint256)", + "function startMergingWindow()", + "function totalEscrowedAccountBalance(address account) view returns (uint256)", + "function totalEscrowedBalance() view returns (uint256)", + "function totalVestedAccountBalance(address account) view returns (uint256)", + "function vest(uint256[] entryIDs)", + "function vestingSchedules(address account, uint256 entryId) view returns (tuple(uint64 endTime, uint256 escrowAmount))" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0xe4d4906c0d2ed46013730c3ae11de1df7d9a9a0f5815df567908f6f3dd2d4466", + "deployedOn": "run.synthetix" + }, + "SynthetixEscrow": { + "address": "0xc2e7B0B527a9A265fb3DD562B6D4e1673b381d10", + "sourceName": "contracts/SynthetixEscrow.sol", + "contractName": "SynthetixEscrow", + "abi": [ + "constructor(address _owner, address _synthetix)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event SynthetixUpdated(address newSynthetix)", + "event Vested(address indexed beneficiary, uint256 time, uint256 value)", + "function MAX_VESTING_ENTRIES() view returns (uint256)", + "function QUANTITY_INDEX() view returns (uint256)", + "function TIME_INDEX() view returns (uint256)", + "function acceptOwnership()", + "function addVestingSchedule(address account, uint256[] times, uint256[] quantities)", + "function appendVestingEntry(address account, uint256 time, uint256 quantity)", + "function balanceOf(address account) view returns (uint256)", + "function getNextVestingEntry(address account) view returns (uint256[2])", + "function getNextVestingIndex(address account) view returns (uint256)", + "function getNextVestingQuantity(address account) view returns (uint256)", + "function getNextVestingTime(address account) view returns (uint256)", + "function getVestingQuantity(address account, uint256 index) view returns (uint256)", + "function getVestingScheduleEntry(address account, uint256 index) view returns (uint256[2])", + "function getVestingTime(address account, uint256 index) view returns (uint256)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function numVestingEntries(address account) view returns (uint256)", + "function owner() view returns (address)", + "function purgeAccount(address account)", + "function setSynthetix(address _synthetix)", + "function setupExpiryTime() view returns (uint256)", + "function synthetix() view returns (address)", + "function totalVestedAccountBalance(address) view returns (uint256)", + "function totalVestedBalance() view returns (uint256)", + "function vest()", + "function vestingSchedules(address, uint256, uint256) view returns (uint256)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0xcdb927b099e78d2b9dbadfa4b8bc3442ea000c0440c204f49d2192233292b559", + "deployedOn": "run.synthetix" + }, + "SynthetixState": { + "address": "0x1CaBb2F18c4D4566d517b74F7C398efbC35Bf966", + "sourceName": "contracts/legacy/SynthetixState.sol", + "contractName": "SynthetixState", + "abi": [ + "constructor(address _owner, address _associatedContract)", + "event AssociatedContractUpdated(address associatedContract)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function acceptOwnership()", + "function appendDebtLedgerValue(uint256 value)", + "function associatedContract() view returns (address)", + "function clearIssuanceData(address account)", + "function debtLedger(uint256) view returns (uint256)", + "function debtLedgerLength() view returns (uint256)", + "function decrementTotalIssuerCount()", + "function hasIssued(address account) view returns (bool)", + "function incrementTotalIssuerCount()", + "function issuanceData(address) view returns (uint256 initialDebtOwnership, uint256 debtEntryIndex)", + "function lastDebtLedgerEntry() view returns (uint256)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function setAssociatedContract(address _associatedContract)", + "function setCurrentIssuanceData(address account, uint256 initialDebtOwnership)", + "function totalIssuerCount() view returns (uint256)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x15d3779db1486ad9a162ffe6356cf1e80e1cbd1731fdea5176442ea7d4b9c320", + "deployedOn": "run.synthetix" + }, + "SynthetixDebtShare": { + "address": "0x4C76acD6Be797642E284c1beF859fBC79C39Df04", + "sourceName": "contracts/SynthetixDebtShare.sol", + "contractName": "SynthetixDebtShare", + "abi": [ + "constructor(address _owner, address _resolver)", + "event Burn(address indexed account, uint256 amount)", + "event CacheUpdated(bytes32 name, address destination)", + "event ChangeAuthorizedBroker(address indexed authorizedBroker, bool authorized)", + "event ChangeAuthorizedToSnapshot(address indexed authorizedToSnapshot, bool authorized)", + "event Mint(address indexed account, uint256 amount)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event Transfer(address indexed from, address indexed to, uint256 value)", + "function CONTRACT_NAME() view returns (bytes32)", + "function acceptOwnership()", + "function addAuthorizedBroker(address target)", + "function addAuthorizedToSnapshot(address target)", + "function allowance(address, address spender) view returns (uint256)", + "function approve(address, uint256) pure returns (bool)", + "function authorizedBrokers(address) view returns (bool)", + "function authorizedToSnapshot(address) view returns (bool)", + "function balanceOf(address account) view returns (uint256)", + "function balanceOfOnPeriod(address account, uint256 periodId) view returns (uint256)", + "function balances(address, uint256) view returns (uint128 amount, uint128 periodId)", + "function burnShare(address account, uint256 amount)", + "function currentPeriodId() view returns (uint128)", + "function decimals() view returns (uint8)", + "function finishSetup()", + "function importAddresses(address[] accounts, uint256[] amounts)", + "function isInitialized() view returns (bool)", + "function isResolverCached() view returns (bool)", + "function mintShare(address account, uint256 amount)", + "function name() view returns (string)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function rebuildCache()", + "function removeAuthorizedBroker(address target)", + "function removeAuthorizedToSnapshot(address target)", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function sharePercent(address account) view returns (uint256)", + "function sharePercentOnPeriod(address account, uint256 periodId) view returns (uint256)", + "function symbol() view returns (string)", + "function takeSnapshot(uint128 id)", + "function totalSupply() view returns (uint256)", + "function totalSupplyOnPeriod(uint256) view returns (uint256)", + "function transfer(address, uint256) pure returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x1022ec79c646191394a14889c2d9bfe0a4212a649a903294371ab0398e8cac52", + "deployedOn": "run.synthetix" + }, + "ProxyFeePool": { + "address": "0x00e793B4ad1eCf68e660BB798c16a2Ea438C0A29", + "sourceName": "contracts/Proxy.sol", + "contractName": "Proxy", + "abi": [ + "constructor(address _owner)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event TargetUpdated(address newTarget)", + "function _emit(bytes callData, uint256 numTopics, bytes32 topic1, bytes32 topic2, bytes32 topic3, bytes32 topic4)", + "function acceptOwnership()", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function setTarget(address _target)", + "function target() view returns (address)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x08602eb85e81956586d8554bdbf02f2fd477ed03d4e63cf69f9095948e7e1a99", + "deployedOn": "run.synthetix" + }, + "DelegateApprovalsEternalStorage": { + "address": "0xD21624ca16F9C57f2ceF3d046eB7D7cAf5f54cB4", + "sourceName": "contracts/EternalStorage.sol", + "contractName": "EternalStorage", + "abi": [ + "constructor(address _owner, address _associatedContract)", + "event AssociatedContractUpdated(address associatedContract)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function acceptOwnership()", + "function associatedContract() view returns (address)", + "function deleteAddressValue(bytes32 record)", + "function deleteBooleanValue(bytes32 record)", + "function deleteBytes32Value(bytes32 record)", + "function deleteBytesValue(bytes32 record)", + "function deleteIntValue(bytes32 record)", + "function deleteStringValue(bytes32 record)", + "function deleteUIntValue(bytes32 record)", + "function getAddressValue(bytes32 record) view returns (address)", + "function getBooleanValue(bytes32 record) view returns (bool)", + "function getBytes32Value(bytes32 record) view returns (bytes32)", + "function getBytesValue(bytes32 record) view returns (bytes)", + "function getIntValue(bytes32 record) view returns (int256)", + "function getStringValue(bytes32 record) view returns (string)", + "function getUIntValue(bytes32 record) view returns (uint256)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function setAddressValue(bytes32 record, address value)", + "function setAssociatedContract(address _associatedContract)", + "function setBooleanValue(bytes32 record, bool value)", + "function setBytes32Value(bytes32 record, bytes32 value)", + "function setBytesValue(bytes32 record, bytes value)", + "function setIntValue(bytes32 record, int256 value)", + "function setStringValue(bytes32 record, string value)", + "function setUIntValue(bytes32 record, uint256 value)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x343f5a0c32a1fa57d2bb04661722d343657b68b70eb018d373ad05982ef2e72a", + "deployedOn": "run.synthetix" + }, + "DelegateApprovals": { + "address": "0x439129f9458ccADbEb3418520E4d7346895692D3", + "sourceName": "contracts/DelegateApprovals.sol", + "contractName": "DelegateApprovals", + "abi": [ + "constructor(address _owner, address _eternalStorage)", + "event Approval(address indexed authoriser, address delegate, bytes32 action)", + "event EternalStorageUpdated(address newEternalStorage)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event WithdrawApproval(address indexed authoriser, address delegate, bytes32 action)", + "function APPROVE_ALL() view returns (bytes32)", + "function BURN_FOR_ADDRESS() view returns (bytes32)", + "function CLAIM_FOR_ADDRESS() view returns (bytes32)", + "function EXCHANGE_FOR_ADDRESS() view returns (bytes32)", + "function ISSUE_FOR_ADDRESS() view returns (bytes32)", + "function acceptOwnership()", + "function approveAllDelegatePowers(address delegate)", + "function approveBurnOnBehalf(address delegate)", + "function approveClaimOnBehalf(address delegate)", + "function approveExchangeOnBehalf(address delegate)", + "function approveIssueOnBehalf(address delegate)", + "function approvedAll(address authoriser, address delegate) view returns (bool)", + "function canBurnFor(address authoriser, address delegate) view returns (bool)", + "function canClaimFor(address authoriser, address delegate) view returns (bool)", + "function canExchangeFor(address authoriser, address delegate) view returns (bool)", + "function canIssueFor(address authoriser, address delegate) view returns (bool)", + "function eternalStorage() view returns (address)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function removeAllDelegatePowers(address delegate)", + "function removeBurnOnBehalf(address delegate)", + "function removeClaimOnBehalf(address delegate)", + "function removeExchangeOnBehalf(address delegate)", + "function removeIssueOnBehalf(address delegate)", + "function setEternalStorage(address _eternalStorage)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x644836e8747474fad7f7ec2c4e8c4c5c7409903b79084cf23e87844e305734ec", + "deployedOn": "run.synthetix" + }, + "Liquidator": { + "address": "0xD59B850F442aECD66cc78663b91D7A7Ee46ef3fD", + "sourceName": "contracts/Liquidator.sol", + "contractName": "Liquidator", + "abi": [ + "constructor(address _owner, address _resolver)", + "event AccountFlaggedForLiquidation(address indexed account, uint256 deadline)", + "event AccountRemovedFromLiquidation(address indexed account, uint256 time)", + "event CacheUpdated(bytes32 name, address destination)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function CONTRACT_NAME() view returns (bytes32)", + "function LIQUIDATION_CALLER() view returns (bytes32)", + "function LIQUIDATION_DEADLINE() view returns (bytes32)", + "function acceptOwnership()", + "function calculateAmountToFixCollateral(uint256 debtBalance, uint256 collateral, uint256 penalty) view returns (uint256)", + "function checkAndRemoveAccountInLiquidation(address account)", + "function flagAccountForLiquidation(address account)", + "function flagReward() view returns (uint256)", + "function getLiquidationCallerForAccount(address account) view returns (address)", + "function getLiquidationDeadlineForAccount(address account) view returns (uint256)", + "function isLiquidationDeadlinePassed(address account) view returns (bool)", + "function isLiquidationOpen(address account, bool isSelfLiquidation) view returns (bool)", + "function isResolverCached() view returns (bool)", + "function issuanceRatio() view returns (uint256)", + "function liquidateReward() view returns (uint256)", + "function liquidationAmounts(address account, bool isSelfLiquidation) view returns (uint256 totalRedeemed, uint256 debtToRemove, uint256 escrowToLiquidate, uint256 initialDebtBalance)", + "function liquidationCollateralRatio() view returns (uint256)", + "function liquidationDelay() view returns (uint256)", + "function liquidationEscrowDuration() view returns (uint256)", + "function liquidationPenalty() view returns (uint256)", + "function liquidationRatio() view returns (uint256)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function rebuildCache()", + "function removeAccountInLiquidation(address account)", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function selfLiquidationPenalty() view returns (uint256)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x63973e7a8e06b350a0b5011a92b025a6f5acff8d1caad41e90228d76abc03fba", + "deployedOn": "run.synthetix" + }, + "LiquidatorRewards": { + "address": "0xF929965a6BcF6F279031AB314D609b54CDa073a1", + "sourceName": "contracts/LiquidatorRewards.sol", + "contractName": "LiquidatorRewards", + "abi": [ + "constructor(address _owner, address _resolver)", + "event CacheUpdated(bytes32 name, address destination)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event RewardPaid(address indexed user, uint256 reward)", + "function CONTRACT_NAME() view returns (bytes32)", + "function acceptOwnership()", + "function accumulatedRewardsPerShare() view returns (uint256)", + "function earned(address account) view returns (uint256)", + "function entries(address) view returns (uint128 claimable, uint128 entryAccumulatedRewards)", + "function getReward(address account)", + "function initiated(address) view returns (bool)", + "function isResolverCached() view returns (bool)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function notifyRewardAmount(uint256 reward)", + "function owner() view returns (address)", + "function rebuildCache()", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function updateEntry(address account)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x0d1c71b3ba9e0256ffa0f8c3f70a88f15a45dd63e1d3cc2ef1680f6b2f04ae26", + "deployedOn": "run.synthetix" + }, + "FeePoolEternalStorage": { + "address": "0xa0Ea9B6C544E4Df1351D1DEe426A70c4154F0D03", + "sourceName": "contracts/FeePoolEternalStorage.sol", + "contractName": "FeePoolEternalStorage", + "abi": [ + "constructor(address _owner, address _feePool)", + "event AssociatedContractUpdated(address associatedContract)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function acceptOwnership()", + "function associatedContract() view returns (address)", + "function deleteAddressValue(bytes32 record)", + "function deleteBooleanValue(bytes32 record)", + "function deleteBytes32Value(bytes32 record)", + "function deleteBytesValue(bytes32 record)", + "function deleteIntValue(bytes32 record)", + "function deleteStringValue(bytes32 record)", + "function deleteUIntValue(bytes32 record)", + "function getAddressValue(bytes32 record) view returns (address)", + "function getBooleanValue(bytes32 record) view returns (bool)", + "function getBytes32Value(bytes32 record) view returns (bytes32)", + "function getBytesValue(bytes32 record) view returns (bytes)", + "function getIntValue(bytes32 record) view returns (int256)", + "function getStringValue(bytes32 record) view returns (string)", + "function getUIntValue(bytes32 record) view returns (uint256)", + "function importFeeWithdrawalData(address[] accounts, uint256[] feePeriodIDs)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function setAddressValue(bytes32 record, address value)", + "function setAssociatedContract(address _associatedContract)", + "function setBooleanValue(bytes32 record, bool value)", + "function setBytes32Value(bytes32 record, bytes32 value)", + "function setBytesValue(bytes32 record, bytes value)", + "function setIntValue(bytes32 record, int256 value)", + "function setStringValue(bytes32 record, string value)", + "function setUIntValue(bytes32 record, uint256 value)", + "function setupExpiryTime() view returns (uint256)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x407912b1d6f86b7ff2a7018fe5dcd8dfec661452730bfd1260a163d679ff07f4", + "deployedOn": "run.synthetix" + }, + "FeePool": { + "address": "0x9F9c27B91fCC32F41787dD4486411D1d5a21839D", + "sourceName": "contracts/FeePool.sol", + "contractName": "FeePool", + "abi": [ + "constructor(address _proxy, address _owner, address _resolver)", + "event CacheUpdated(bytes32 name, address destination)", + "event FeePeriodClosed(uint256 feePeriodId)", + "event FeesClaimed(address account, uint256 sUSDAmount, uint256 snxRewards)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event ProxyUpdated(address proxyAddress)", + "function CONTRACT_NAME() view returns (bytes32)", + "function FEE_ADDRESS() view returns (address)", + "function FEE_PERIOD_LENGTH() view returns (uint8)", + "function acceptOwnership()", + "function allNetworksDebtSharesSupply() view returns (uint256 sharesSupply, uint256 updatedAt)", + "function allNetworksSnxBackedDebt() view returns (uint256 debt, uint256 updatedAt)", + "function claimFees() returns (bool)", + "function claimOnBehalf(address claimingForAddress) returns (bool)", + "function closeCurrentFeePeriod()", + "function closeSecondary(uint256 allNetworksSnxBackedDebt, uint256 allNetworksDebtSharesSupply)", + "function effectiveDebtRatioForPeriod(address account, uint256 period) view returns (uint256)", + "function feePeriodDuration() view returns (uint256)", + "function feesAvailable(address account) view returns (uint256, uint256)", + "function feesBurned(address account) view returns (uint256)", + "function feesByPeriod(address account) view returns (uint256[2][2] results)", + "function feesToBurn(address account) view returns (uint256 feesFromPeriod)", + "function getLastFeeWithdrawal(address _claimingAddress) view returns (uint256)", + "function getPenaltyThresholdRatio() view returns (uint256)", + "function importFeePeriod(uint256 feePeriodIndex, uint256 feePeriodId, uint256 startTime, uint256 feesToDistribute, uint256 feesClaimed, uint256 rewardsToDistribute, uint256 rewardsClaimed)", + "function isFeesClaimable(address account) view returns (bool feesClaimable)", + "function isResolverCached() view returns (bool)", + "function issuanceRatio() view returns (uint256)", + "function messageSender() view returns (address)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function proxy() view returns (address)", + "function rebuildCache()", + "function recentFeePeriods(uint256 index) view returns (uint64 feePeriodId, uint64 unused, uint64 startTime, uint256 feesToDistribute, uint256 feesClaimed, uint256 rewardsToDistribute, uint256 rewardsClaimed)", + "function recordFeePaid(uint256 amount)", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function setMessageSender(address sender)", + "function setProxy(address _proxy)", + "function setRewardsToDistribute(uint256 amount)", + "function setupExpiryTime() view returns (uint256)", + "function targetThreshold() view returns (uint256)", + "function totalFeesAvailable() view returns (uint256)", + "function totalFeesBurned() view returns (uint256)", + "function totalRewardsAvailable() view returns (uint256)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0xdf9c42b431c8dc3492f01bfa63b18fe84e6f532fc812182dcdee4b2a19a5a848", + "deployedOn": "run.synthetix" + }, + "FeePoolState": { + "address": "0xb4C66de59305d01A3c078eD52F5CfA1Cb6e7EA03", + "sourceName": "contracts/legacy/FeePoolState.sol", + "contractName": "FeePoolState", + "abi": [ + "constructor(address _owner, address _feePool)", + "event IssuanceDebtRatioEntry(address indexed account, uint256 debtRatio, uint256 feePeriodCloseIndex)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function FEE_PERIOD_LENGTH() view returns (uint8)", + "function acceptOwnership()", + "function accountIssuanceLedger(address, uint256) view returns (uint256 debtPercentage, uint256 debtEntryIndex)", + "function appendAccountIssuanceRecord(address account, uint256 debtRatio, uint256 debtEntryIndex, uint256 currentPeriodStartDebtIndex)", + "function applicableIssuanceData(address account, uint256 closingDebtIndex) view returns (uint256, uint256)", + "function feePool() view returns (address)", + "function getAccountsDebtEntry(address account, uint256 index) view returns (uint256 debtPercentage, uint256 debtEntryIndex)", + "function importIssuerData(address[] accounts, uint256[] ratios, uint256 periodToInsert, uint256 feePeriodCloseIndex)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function setFeePool(address _feePool)", + "function setupExpiryTime() view returns (uint256)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x750b8385e643e34fe99de23550811a60b18f473873c37b6858d85ad03c0a2c6c", + "deployedOn": "run.synthetix" + }, + "RewardsDistribution": { + "address": "0x2cd4aA2a3b97546B3FC1Bd630f5208a3934bDA10", + "sourceName": "contracts/RewardsDistribution.sol", + "contractName": "RewardsDistribution", + "abi": [ + "constructor(address _owner, address _authority, address _synthetixProxy, address _rewardEscrow, address _feePoolProxy)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event RewardDistributionAdded(uint256 index, address destination, uint256 amount)", + "event RewardsDistributed(uint256 amount)", + "function acceptOwnership()", + "function addRewardDistribution(address destination, uint256 amount) returns (bool)", + "function authority() view returns (address)", + "function distributeRewards(uint256 amount) returns (bool)", + "function distributions(uint256) view returns (address destination, uint256 amount)", + "function distributionsLength() view returns (uint256)", + "function editRewardDistribution(uint256 index, address destination, uint256 amount) returns (bool)", + "function feePoolProxy() view returns (address)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function removeRewardDistribution(uint256 index)", + "function rewardEscrow() view returns (address)", + "function setAuthority(address _authority)", + "function setFeePoolProxy(address _feePoolProxy)", + "function setRewardEscrow(address _rewardEscrow)", + "function setSynthetixProxy(address _synthetixProxy)", + "function synthetixProxy() view returns (address)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x71504d1b4fe70f705d4e3b40b9db9b37e47cd043aee11bcd0e395713540d124b", + "deployedOn": "run.synthetix" + }, + "DebtCache": { + "address": "0xE4E52c1C82B4e7D169Dd97d9CFD8a07F13b333cD", + "sourceName": "contracts/DebtCache.sol", + "contractName": "DebtCache", + "abi": [ + "constructor(address _owner, address _resolver)", + "event CacheUpdated(bytes32 name, address destination)", + "event DebtCacheSnapshotTaken(uint256 timestamp)", + "event DebtCacheUpdated(uint256 cachedDebt)", + "event DebtCacheValidityChanged(bool indexed isInvalid)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function CONTRACT_NAME() view returns (bytes32)", + "function acceptOwnership()", + "function cacheInfo() view returns (uint256 debt, uint256 timestamp, bool isInvalid, bool isStale)", + "function cacheInvalid() view returns (bool)", + "function cacheStale() view returns (bool)", + "function cacheTimestamp() view returns (uint256)", + "function cachedDebt() view returns (uint256)", + "function cachedSynthDebt(bytes32 currencyKey) view returns (uint256)", + "function cachedSynthDebts(bytes32[] currencyKeys) view returns (uint256[] snxIssuedDebts)", + "function currentDebt() view returns (uint256 debt, bool anyRateIsInvalid)", + "function currentSynthDebts(bytes32[] currencyKeys) view returns (uint256[] debtValues, uint256 futuresDebt, uint256 excludedDebt, bool anyRateIsInvalid)", + "function debtSnapshotStaleTime() view returns (uint256)", + "function excludedIssuedDebts(bytes32[] currencyKeys) view returns (uint256[] excludedDebts)", + "function importExcludedIssuedDebts(address prevDebtCache, address prevIssuer)", + "function isInitialized() view returns (bool)", + "function isResolverCached() view returns (bool)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function purgeCachedSynthDebt(bytes32 currencyKey)", + "function rebuildCache()", + "function recordExcludedDebtChange(bytes32 currencyKey, int256 delta)", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function takeDebtSnapshot()", + "function totalNonSnxBackedDebt() view returns (uint256 excludedDebt, bool isInvalid)", + "function updateCachedSynthDebtWithRate(bytes32 currencyKey, uint256 currencyRate)", + "function updateCachedSynthDebts(bytes32[] currencyKeys)", + "function updateCachedSynthDebtsWithRates(bytes32[] currencyKeys, uint256[] currencyRates)", + "function updateCachedsUSDDebt(int256 amount)", + "function updateDebtCacheValidity(bool currentlyInvalid)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x3c36c37101fb1f5622a837d49f46ae86480d55044bb616c3792e30e2bd05fc78", + "deployedOn": "run.synthetix" + }, + "Exchanger": { + "address": "0x55d1dbdD814fEB50b4CdFD554f370cdA954eB4d7", + "sourceName": "contracts/ExchangerWithFeeRecAlternatives.sol", + "contractName": "ExchangerWithFeeRecAlternatives", + "abi": [ + "constructor(address _owner, address _resolver)", + "event CacheUpdated(bytes32 name, address destination)", + "event ExchangeEntryAppended(address indexed account, bytes32 src, uint256 amount, bytes32 dest, uint256 amountReceived, uint256 exchangeFeeRate, uint256 roundIdForSrc, uint256 roundIdForDest)", + "event ExchangeEntrySettled(address indexed from, bytes32 src, uint256 amount, bytes32 dest, uint256 reclaim, uint256 rebate, uint256 srcRoundIdAtPeriodEnd, uint256 destRoundIdAtPeriodEnd, uint256 exchangeTimestamp)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event VirtualSynthCreated(address indexed synth, address indexed recipient, address vSynth, bytes32 currencyKey, uint256 amount)", + "function CONTRACT_NAME() view returns (bytes32)", + "function acceptOwnership()", + "function atomicMaxVolumePerBlock() view returns (uint256)", + "function calculateAmountAfterSettlement(address from, bytes32 currencyKey, uint256 amount, uint256 refunded) view returns (uint256 amountAfterSettlement)", + "function dynamicFeeRateForExchange(bytes32 sourceCurrencyKey, bytes32 destinationCurrencyKey) view returns (uint256 feeRate, bool tooVolatile)", + "function exchange(address exchangeForAddress, address from, bytes32 sourceCurrencyKey, uint256 sourceAmount, bytes32 destinationCurrencyKey, address destinationAddress, bool virtualSynth, address rewardAddress, bytes32 trackingCode) returns (uint256 amountReceived, address vSynth)", + "function exchangeAtomically(address from, bytes32 sourceCurrencyKey, uint256 sourceAmount, bytes32 destinationCurrencyKey, address destinationAddress, bytes32 trackingCode, uint256 minAmount) returns (uint256 amountReceived)", + "function feeRateForAtomicExchange(bytes32 sourceCurrencyKey, bytes32 destinationCurrencyKey) view returns (uint256 exchangeFeeRate)", + "function feeRateForExchange(bytes32 sourceCurrencyKey, bytes32 destinationCurrencyKey) view returns (uint256)", + "function getAmountsForAtomicExchange(uint256 sourceAmount, bytes32 sourceCurrencyKey, bytes32 destinationCurrencyKey) view returns (uint256 amountReceived, uint256 fee, uint256 exchangeFeeRate)", + "function getAmountsForExchange(uint256 sourceAmount, bytes32 sourceCurrencyKey, bytes32 destinationCurrencyKey) view returns (uint256 amountReceived, uint256 fee, uint256 exchangeFeeRate)", + "function hasWaitingPeriodOrSettlementOwing(address account, bytes32 currencyKey) view returns (bool)", + "function isResolverCached() view returns (bool)", + "function isSynthRateInvalid(bytes32 currencyKey) view returns (bool)", + "function lastAtomicVolume() view returns (uint64 time, uint192 volume)", + "function lastExchangeRate(bytes32 currencyKey) view returns (uint256)", + "function maxSecsLeftInWaitingPeriod(address account, bytes32 currencyKey) view returns (uint256)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function priceDeviationThresholdFactor() view returns (uint256)", + "function rebuildCache()", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function settle(address from, bytes32 currencyKey) returns (uint256 reclaimed, uint256 refunded, uint256 numEntriesSettled)", + "function settlementOwing(address account, bytes32 currencyKey) view returns (uint256 reclaimAmount, uint256 rebateAmount, uint256 numEntries)", + "function tradingRewardsEnabled() view returns (bool)", + "function waitingPeriodSecs() view returns (uint256)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x0026fac4b28086ba0974a833c019b6f7d979f368e54c1deb553a30eb3110e105", + "deployedOn": "run.synthetix" + }, + "CircuitBreaker": { + "address": "0x1Dc60137556243EeB8AAE0dAcDc7DcFed0cc0e5b", + "sourceName": "contracts/CircuitBreaker.sol", + "contractName": "CircuitBreaker", + "abi": [ + "constructor(address _owner, address _resolver)", + "event CacheUpdated(bytes32 name, address destination)", + "event CircuitBroken(address indexed oracleAddress, uint256 previousValue, uint256 newValue)", + "event LastValueOverridden(address indexed oracleAddress, uint256 previousValue, uint256 newValue)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function CONTRACT_NAME() view returns (bytes32)", + "function acceptOwnership()", + "function circuitBroken(address oracleAddress) view returns (bool)", + "function isDeviationAboveThreshold(uint256 base, uint256 comparison) view returns (bool)", + "function isInvalid(address oracleAddress, uint256 value) view returns (bool)", + "function isResolverCached() view returns (bool)", + "function lastValue(address oracleAddress) view returns (uint256)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function priceDeviationThresholdFactor() view returns (uint256)", + "function probeCircuitBreaker(address oracleAddress, uint256 value) returns (bool circuitBroken)", + "function rebuildCache()", + "function resetLastValue(address[] oracleAddresses, uint256[] values)", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x66668ae23b268b25187a18a9375ec8439bc7ed373132822185fd878e3ae513de", + "deployedOn": "run.synthetix" + }, + "ExchangeCircuitBreaker": { + "address": "0x3b8a2a1872c4cc8C3EE6c9fa6d3236ce3f10FA20", + "sourceName": "contracts/ExchangeCircuitBreaker.sol", + "contractName": "ExchangeCircuitBreaker", + "abi": [ + "constructor(address _owner, address _resolver)", + "event CacheUpdated(bytes32 name, address destination)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function CIRCUIT_BREAKER_SUSPENSION_REASON() view returns (uint256)", + "function CONTRACT_NAME() view returns (bytes32)", + "function acceptOwnership()", + "function exchangeRates() view returns (address)", + "function isResolverCached() view returns (bool)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function rateWithBreakCircuit(bytes32 currencyKey) returns (uint256 lastValidRate, bool invalid)", + "function rateWithInvalid(bytes32 currencyKey) view returns (uint256 rate, bool invalid)", + "function rebuildCache()", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x4ba2081c3e20f4e96dd01917a685403afa7dff4621aced8bb1e5614bb5c30646", + "deployedOn": "run.synthetix" + }, + "VirtualSynthMastercopy": { + "address": "0x1f6Eba1Ac6a62df62edC54159A05711636b33D4C", + "sourceName": "contracts/VirtualSynthMastercopy.sol", + "contractName": "VirtualSynthMastercopy", + "abi": [ + "constructor()", + "event Approval(address indexed owner, address indexed spender, uint256 value)", + "event Settled(uint256 totalSupply, uint256 amountAfterSettled)", + "event Transfer(address indexed from, address indexed to, uint256 value)", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 value) returns (bool)", + "function balanceOf(address account) view returns (uint256)", + "function balanceOfUnderlying(address account) view returns (uint256)", + "function currencyKey() view returns (bytes32)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function initialSupply() view returns (uint256)", + "function initialize(address _synth, address _resolver, address _recipient, uint256 _amount, bytes32 _currencyKey)", + "function initialized() view returns (bool)", + "function name() view returns (string)", + "function rate() view returns (uint256)", + "function readyToSettle() view returns (bool)", + "function resolver() view returns (address)", + "function secsLeftInWaitingPeriod() view returns (uint256)", + "function settle(address account)", + "function settled() view returns (bool)", + "function settledAmount() view returns (uint256)", + "function symbol() view returns (string)", + "function synth() view returns (address)", + "function totalSupply() view returns (uint256)", + "function transfer(address recipient, uint256 amount) returns (bool)", + "function transferFrom(address sender, address recipient, uint256 amount) returns (bool)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x784ccd6193221615f9a774c86fab608df07265d039eb9bba5141f5877c317589", + "deployedOn": "run.synthetix" + }, + "ExchangeState": { + "address": "0x76BBBEd4AB0e3097c6F5CcEa18334D08EED69f69", + "sourceName": "contracts/ExchangeState.sol", + "contractName": "ExchangeState", + "abi": [ + "constructor(address _owner, address _associatedContract)", + "event AssociatedContractUpdated(address associatedContract)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function acceptOwnership()", + "function appendExchangeEntry(address account, bytes32 src, uint256 amount, bytes32 dest, uint256 amountReceived, uint256 exchangeFeeRate, uint256 timestamp, uint256 roundIdForSrc, uint256 roundIdForDest)", + "function associatedContract() view returns (address)", + "function exchanges(address, bytes32, uint256) view returns (bytes32 src, uint256 amount, bytes32 dest, uint256 amountReceived, uint256 exchangeFeeRate, uint256 timestamp, uint256 roundIdForSrc, uint256 roundIdForDest)", + "function getEntryAt(address account, bytes32 currencyKey, uint256 index) view returns (bytes32 src, uint256 amount, bytes32 dest, uint256 amountReceived, uint256 exchangeFeeRate, uint256 timestamp, uint256 roundIdForSrc, uint256 roundIdForDest)", + "function getLengthOfEntries(address account, bytes32 currencyKey) view returns (uint256)", + "function getMaxTimestamp(address account, bytes32 currencyKey) view returns (uint256)", + "function maxEntriesInQueue() view returns (uint256)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function removeEntries(address account, bytes32 currencyKey)", + "function setAssociatedContract(address _associatedContract)", + "function setMaxEntriesInQueue(uint256 _maxEntriesInQueue)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x61637babbf8831961548b87d9d520db970c204cf8f2f9168d3b52508d732282b", + "deployedOn": "run.synthetix" + }, + "Issuer": { + "address": "0xB70cf272E555091C970Fb3027cF7C4cfAd2D2650", + "sourceName": "contracts/Issuer.sol", + "contractName": "Issuer", + "abi": [ + "constructor(address _owner, address _resolver)", + "event CacheUpdated(bytes32 name, address destination)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event SynthAdded(bytes32 currencyKey, address synth)", + "event SynthRemoved(bytes32 currencyKey, address synth)", + "function CONTRACT_NAME() view returns (bytes32)", + "function acceptOwnership()", + "function addSynth(address synth)", + "function addSynths(address[] synthsToAdd)", + "function allNetworksDebtInfo() view returns (uint256 debt, uint256 sharesSupply, bool isStale)", + "function anySynthOrSNXRateIsInvalid() view returns (bool anyRateInvalid)", + "function availableCurrencyKeys() view returns (bytes32[])", + "function availableSynthCount() view returns (uint256)", + "function availableSynths(uint256) view returns (address)", + "function burnAndIssueSynthsWithoutDebtCache(address account, bytes32 currencyKey, uint256 amountOfSynth, uint256 amountInsUSD)", + "function burnForRedemption(address deprecatedSynthProxy, address account, uint256 balance)", + "function burnSynths(address from, uint256 amount)", + "function burnSynthsOnBehalf(address burnForAddress, address from, uint256 amount)", + "function burnSynthsToTarget(address from)", + "function burnSynthsToTargetOnBehalf(address burnForAddress, address from)", + "function burnSynthsWithoutDebt(bytes32 currencyKey, address from, uint256 amount) returns (bool rateInvalid)", + "function canBurnSynths(address account) view returns (bool)", + "function collateral(address account) view returns (uint256)", + "function collateralisationRatio(address _issuer) view returns (uint256 cratio)", + "function collateralisationRatioAndAnyRatesInvalid(address _issuer) view returns (uint256 cratio, bool anyRateIsInvalid)", + "function debtBalanceOf(address _issuer, bytes32 currencyKey) view returns (uint256 debtBalance)", + "function getSynths(bytes32[] currencyKeys) view returns (address[])", + "function isResolverCached() view returns (bool)", + "function issuanceRatio() view returns (uint256)", + "function issueMaxSynths(address from)", + "function issueMaxSynthsOnBehalf(address issueForAddress, address from)", + "function issueSynths(address from, uint256 amount)", + "function issueSynthsOnBehalf(address issueForAddress, address from, uint256 amount)", + "function issueSynthsWithoutDebt(bytes32 currencyKey, address to, uint256 amount) returns (bool rateInvalid)", + "function lastIssueEvent(address account) view returns (uint256)", + "function liquidateAccount(address account, bool isSelfLiquidation) returns (uint256 totalRedeemed, uint256 debtRemoved, uint256 escrowToLiquidate)", + "function liquidationAmounts(address account, bool isSelfLiquidation) view returns (uint256 totalRedeemed, uint256 debtToRemove, uint256 escrowToLiquidate, uint256 initialDebtBalance)", + "function maxIssuableSynths(address _issuer) view returns (uint256)", + "function minimumStakeTime() view returns (uint256)", + "function modifyDebtSharesForMigration(address account, uint256 amount)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function rebuildCache()", + "function remainingIssuableSynths(address _issuer) view returns (uint256 maxIssuable, uint256 alreadyIssued, uint256 totalSystemDebt)", + "function removeSynth(bytes32 currencyKey)", + "function removeSynths(bytes32[] currencyKeys)", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function setCurrentPeriodId(uint128 periodId)", + "function synths(bytes32) view returns (address)", + "function synthsByAddress(address) view returns (bytes32)", + "function totalIssuedSynths(bytes32 currencyKey, bool excludeOtherCollateral) view returns (uint256 totalIssued)", + "function transferableSynthetixAndAnyRateIsInvalid(address account, uint256 balance) view returns (uint256 transferable, bool anyRateIsInvalid)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0xfda6a692a25069aaac6735b2bffa488318436d56fdc6b93c42f2fdc8bfb7c876", + "deployedOn": "run.synthetix" + }, + "TradingRewards": { + "address": "0x515022fad52B0050323510562c82f63d1FaDE389", + "sourceName": "contracts/TradingRewards.sol", + "contractName": "TradingRewards", + "abi": [ + "constructor(address owner, address periodController, address resolver)", + "event AssignedRewardTokensRecovered(address recoverAddress, uint256 amount, uint256 periodID)", + "event CacheUpdated(bytes32 name, address destination)", + "event ExchangeFeeRecorded(address indexed account, uint256 amount, uint256 periodID)", + "event NewPeriodStarted(uint256 periodID)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event PauseChanged(bool isPaused)", + "event PeriodControllerChanged(address newPeriodController)", + "event PeriodFinalizedWithRewards(uint256 periodID, uint256 rewards)", + "event RewardsClaimed(address indexed account, uint256 amount, uint256 periodID)", + "event TokensRecovered(address tokenAddress, address recoverAddress, uint256 amount)", + "event UnassignedRewardTokensRecovered(address recoverAddress, uint256 amount)", + "function acceptOwnership()", + "function claimRewardsForPeriod(uint256 periodID)", + "function claimRewardsForPeriods(uint256[] periodIDs)", + "function closeCurrentPeriodWithRewards(uint256 rewards)", + "function getAvailableRewards() view returns (uint256)", + "function getAvailableRewardsForAccountForPeriod(address account, uint256 periodID) view returns (uint256)", + "function getAvailableRewardsForAccountForPeriods(address account, uint256[] periodIDs) view returns (uint256 totalRewards)", + "function getCurrentPeriod() view returns (uint256)", + "function getPeriodAvailableRewards(uint256 periodID) view returns (uint256)", + "function getPeriodController() view returns (address)", + "function getPeriodIsClaimable(uint256 periodID) view returns (bool)", + "function getPeriodIsFinalized(uint256 periodID) view returns (bool)", + "function getPeriodRecordedFees(uint256 periodID) view returns (uint256)", + "function getPeriodTotalRewards(uint256 periodID) view returns (uint256)", + "function getRewardsToken() view returns (address)", + "function getUnaccountedFeesForAccountForPeriod(address account, uint256 periodID) view returns (uint256)", + "function getUnassignedRewards() view returns (uint256)", + "function isResolverCached() view returns (bool)", + "function lastPauseTime() view returns (uint256)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function notifyRewardAmount(uint256 reward)", + "function owner() view returns (address)", + "function paused() view returns (bool)", + "function rebuildCache()", + "function recordExchangeFeeForAccount(uint256 usdFeeAmount, address account)", + "function recoverAssignedRewardTokensAndDestroyPeriod(address recoverAddress, uint256 periodID)", + "function recoverTokens(address tokenAddress, address recoverAddress)", + "function recoverUnassignedRewardTokens(address recoverAddress)", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function rewardsDistribution() view returns (address)", + "function setPaused(bool _paused)", + "function setPeriodController(address newPeriodController)", + "function setRewardsDistribution(address _rewardsDistribution)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0xef6a35664de3e7cdcd993ce88faca3407e213f112bc43b81f7f26cc08ec80837", + "deployedOn": "run.synthetix" + }, + "SupplySchedule": { + "address": "0xAda12611B34a992b1c01cB3Bbc9C43Fa5B46a6c7", + "sourceName": "contracts/SupplySchedule.sol", + "contractName": "SupplySchedule", + "abi": [ + "constructor(address _owner, uint256 _lastMintEvent, uint256 _currentWeek)", + "event InflationAmountUpdated(uint256 newInflationAmount)", + "event MaxInflationAmountUpdated(uint256 newInflationAmount)", + "event MinterRewardUpdated(uint256 newRewardAmount)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event SupplyMinted(uint256 supplyMinted, uint256 numberOfWeeksIssued, uint256 lastMintEvent, uint256 timestamp)", + "event SynthetixProxyUpdated(address newAddress)", + "function CONTRACT_NAME() view returns (bytes32)", + "function INFLATION_START_DATE() view returns (uint256)", + "function MAX_MINTER_REWARD() view returns (uint256)", + "function MINT_BUFFER() view returns (uint256)", + "function MINT_PERIOD_DURATION() view returns (uint256)", + "function acceptOwnership()", + "function inflationAmount() view returns (uint256)", + "function isMintable() view returns (bool)", + "function lastMintEvent() view returns (uint256)", + "function maxInflationAmount() view returns (uint256)", + "function mintableSupply() view returns (uint256)", + "function minterReward() view returns (uint256)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function recordMintEvent(uint256 supplyMinted) returns (uint256)", + "function setInflationAmount(uint256 amount)", + "function setMaxInflationAmount(uint256 amount)", + "function setMinterReward(uint256 amount)", + "function setSynthetixProxy(address _synthetixProxy)", + "function synthetixProxy() view returns (address)", + "function weekCounter() view returns (uint256)", + "function weeksSinceLastIssuance() view returns (uint256)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x9283596a6538aa037bcc84364e2cf34de91ab52efcea13f3089846ba688e42bd", + "deployedOn": "run.synthetix" + }, + "EscrowChecker": { + "address": "0x7f9Ecf9cD54cDB7D00927cf32e4029f9a69AF4e5", + "sourceName": "contracts/EscrowChecker.sol", + "contractName": "EscrowChecker", + "abi": [ + "constructor(address _esc)", + "function checkAccountSchedule(address account) view returns (uint256[16])", + "function synthetix_escrow() view returns (address)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x48b2ebde08a49932630cea0fae255654cd62887c6c9daed93a47d2c89dea5e0a", + "deployedOn": "run.synthetix" + }, + "SynthetixBridgeToOptimism": { + "address": "0x4F9bD9865F3184975a2fBaA8b07F1c524276f8ab", + "sourceName": "contracts/SynthetixBridgeToOptimism.sol", + "contractName": "SynthetixBridgeToOptimism", + "abi": [ + "constructor(address _owner, address _resolver)", + "event CacheUpdated(bytes32 name, address destination)", + "event DepositInitiated(address indexed _from, address _to, uint256 _amount)", + "event ExportedVestingEntries(address indexed account, uint256 escrowedAccountBalance, tuple(uint64 endTime, uint256 escrowAmount)[] vestingEntries)", + "event FeePeriodClosed(uint256 snxBackedDebt, uint256 totalDebtShares)", + "event FinalizeSynthTransfer(bytes32 indexed currencyKey, address indexed destination, uint256 amount)", + "event InitiateSynthTransfer(bytes32 indexed currencyKey, address indexed destination, uint256 amount)", + "event InitiationResumed()", + "event InitiationSuspended()", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event RewardDepositInitiated(address indexed account, uint256 amount)", + "event WithdrawalFinalized(address indexed _to, uint256 _amount)", + "function CONTRACT_NAME() pure returns (bytes32)", + "function acceptOwnership()", + "function closeFeePeriod(uint256 snxBackedAmount, uint256 totalDebtShares)", + "function deposit(uint256 amount)", + "function depositAndMigrateEscrow(uint256 depositAmount, uint256[][] entryIDs)", + "function depositReward(uint256 amount)", + "function depositTo(address to, uint256 amount)", + "function finalizeSynthTransfer(bytes32 currencyKey, address destination, uint256 amount)", + "function finalizeWithdrawal(address to, uint256 amount)", + "function forwardTokensToEscrow(address token)", + "function initiateSynthTransfer(bytes32 currencyKey, address destination, uint256 amount)", + "function initiationActive() view returns (bool)", + "function isResolverCached() view returns (bool)", + "function migrateEscrow(uint256[][] entryIDs)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function notifyRewardAmount(uint256 amount)", + "function owner() view returns (address)", + "function rebuildCache()", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function resumeInitiation()", + "function suspendInitiation()", + "function synthTransferReceived() view returns (uint256)", + "function synthTransferSent() view returns (uint256)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x183e7b7dbd352762ddb97dfb2c21ee7c7cc1a415fed98664652c9531620a850d", + "deployedOn": "run.synthetix" + }, + "SynthetixBridgeEscrow": { + "address": "0x0e37B420BE11BCf06CD5309ce67B65d3aC0623CE", + "sourceName": "contracts/SynthetixBridgeEscrow.sol", + "contractName": "SynthetixBridgeEscrow", + "abi": [ + "constructor(address _owner)", + "event BridgeApproval(address _token, address indexed spender, uint256 value)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function acceptOwnership()", + "function approveBridge(address _token, address _bridge, uint256 _amount)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0xf0f6e737efbb376940b38fb330cfbea0617bd300df6f18ee5ad2facfa4fe616d", + "deployedOn": "run.synthetix" + }, + "OwnerRelayOnEthereum": { + "address": "0x8F09aDe8Ec994C3F977E5eA03026E1E2eFA314a7", + "sourceName": "contracts/OwnerRelayOnEthereum.sol", + "contractName": "OwnerRelayOnEthereum", + "abi": [ + "constructor(address _owner, address _resolver)", + "event CacheUpdated(bytes32 name, address destination)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event RelayBatchInitiated(address[] targets, bytes[] payloads)", + "event RelayInitiated(address target, bytes payload)", + "function acceptOwnership()", + "function initiateRelay(address target, bytes payload, uint32 crossDomainGasLimit)", + "function initiateRelayBatch(address[] targets, bytes[] payloads, uint32 crossDomainGasLimit)", + "function isResolverCached() view returns (bool)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function rebuildCache()", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0xb7adcd18e3f1c7fb08cd7dcf3cffc9cf361a71a3f2a4927652486be1241b1c77", + "deployedOn": "run.synthetix" + }, + "DebtMigratorOnEthereum": { + "address": "0x6344FB25202Ce5a0134A3dAb7496443c3f1A95a7", + "sourceName": "contracts/DebtMigratorOnEthereum.sol", + "contractName": "DebtMigratorOnEthereum", + "abi": [ + "constructor(address _owner, address _resolver)", + "event CacheUpdated(bytes32 name, address destination)", + "event InitiationResumed()", + "event InitiationSuspended()", + "event MigrationInitiated(address indexed account, uint256 totalDebtSharesMigrated, uint256 totalEscrowMigrated, uint256 totalLiquidBalanceMigrated)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function CONTRACT_NAME() pure returns (bytes32)", + "function acceptOwnership()", + "function debtTransferReceived() view returns (uint256)", + "function debtTransferSent() view returns (uint256)", + "function initiationActive() view returns (bool)", + "function isResolverCached() view returns (bool)", + "function migrateDebt(address account)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function rebuildCache()", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function resumeInitiation()", + "function suspendInitiation()" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0xcce69fa50f3975efbe53dcaf48ce34e591b2b66f2d80cb8a7c6660476de5093d", + "deployedOn": "run.synthetix" + }, + "SynthRedeemer": { + "address": "0xe0be9AA35c46D4aF31b6183F1253B77EC6156ebb", + "sourceName": "contracts/SynthRedeemer.sol", + "contractName": "SynthRedeemer", + "abi": [ + "constructor(address _resolver)", + "event CacheUpdated(bytes32 name, address destination)", + "event SynthDeprecated(address synth, uint256 rateToRedeem, uint256 totalSynthSupply, uint256 supplyInsUSD)", + "event SynthRedeemed(address synth, address account, uint256 amountOfSynth, uint256 amountInsUSD)", + "function CONTRACT_NAME() view returns (bytes32)", + "function balanceOf(address synthProxy, address account) view returns (uint256 balanceInsUSD)", + "function deprecate(address synthProxy, uint256 rateToRedeem)", + "function isResolverCached() view returns (bool)", + "function rebuildCache()", + "function redeem(address synthProxy)", + "function redeemAll(address[] synthProxies)", + "function redeemPartial(address synthProxy, uint256 amountOfSynth)", + "function redemptions(address) view returns (uint256)", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function totalSupply(address synthProxy) view returns (uint256 supplyInsUSD)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x9681d4d9671a34ef75870a5af759ca81ec226657c372f8d0f487f98b8f579355", + "deployedOn": "run.synthetix" + }, + "WrapperFactory": { + "address": "0x3358873fF691f58b3243B1c4F698350A6603C6b1", + "sourceName": "contracts/WrapperFactory.sol", + "contractName": "WrapperFactory", + "abi": [ + "constructor(address _owner, address _resolver)", + "event CacheUpdated(bytes32 name, address destination)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event WrapperCreated(address indexed token, bytes32 indexed currencyKey, address wrapperAddress)", + "function CONTRACT_NAME() view returns (bytes32)", + "function acceptOwnership()", + "function createWrapper(address token, bytes32 currencyKey, bytes32 synthContractName) returns (address)", + "function distributeFees()", + "function feesEscrowed() view returns (uint256)", + "function isResolverCached() view returns (bool)", + "function isWrapper(address possibleWrapper) view returns (bool)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function rebuildCache()", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x0dc4a00048316575df8973332d523d02d7c827424bb404adf6ace4394f3160ea", + "deployedOn": "run.synthetix" + }, + "DirectIntegrationManager": { + "address": "0xB2E57aC75df91784d76f9Dc0C00AdEFf2eFAe317", + "sourceName": "contracts/DirectIntegrationManager.sol", + "contractName": "DirectIntegrationManager", + "abi": [ + "constructor(address _owner, address _resolver)", + "event CacheUpdated(bytes32 name, address destination)", + "event IntegrationParametersSet(address indexed integration, bytes32 indexed currencyKey, tuple(bytes32 currencyKey, address dexPriceAggregator, address atomicEquivalentForDexPricing, uint256 atomicExchangeFeeRate, uint256 atomicTwapWindow, uint256 atomicMaxVolumePerBlock, uint256 atomicVolatilityConsiderationWindow, uint256 atomicVolatilityUpdateThreshold, uint256 exchangeFeeRate, uint256 exchangeMaxDynamicFee, uint256 exchangeDynamicFeeRounds, uint256 exchangeDynamicFeeThreshold, uint256 exchangeDynamicFeeWeightDecay) overrides)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function acceptOwnership()", + "function getExchangeParameters(address integration, bytes32 currencyKey) view returns (tuple(bytes32 currencyKey, address dexPriceAggregator, address atomicEquivalentForDexPricing, uint256 atomicExchangeFeeRate, uint256 atomicTwapWindow, uint256 atomicMaxVolumePerBlock, uint256 atomicVolatilityConsiderationWindow, uint256 atomicVolatilityUpdateThreshold, uint256 exchangeFeeRate, uint256 exchangeMaxDynamicFee, uint256 exchangeDynamicFeeRounds, uint256 exchangeDynamicFeeThreshold, uint256 exchangeDynamicFeeWeightDecay) overrides)", + "function isResolverCached() view returns (bool)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function rebuildCache()", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function setExchangeParameters(address integration, bytes32[] currencyKeys, tuple(bytes32 currencyKey, address dexPriceAggregator, address atomicEquivalentForDexPricing, uint256 atomicExchangeFeeRate, uint256 atomicTwapWindow, uint256 atomicMaxVolumePerBlock, uint256 atomicVolatilityConsiderationWindow, uint256 atomicVolatilityUpdateThreshold, uint256 exchangeFeeRate, uint256 exchangeMaxDynamicFee, uint256 exchangeDynamicFeeRounds, uint256 exchangeDynamicFeeThreshold, uint256 exchangeDynamicFeeWeightDecay) settings)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x1461442c17e86a4d4d1c26c1ad8636bed4329751fa9188691db43475f61883d6", + "deployedOn": "run.synthetix" + }, + "TokenStatesUSD": { + "address": "0x0731973f1F301aFE098b8FC58af8F29792B30B0F", + "sourceName": "contracts/TokenState.sol", + "contractName": "TokenState", + "abi": [ + "constructor(address _owner, address _associatedContract)", + "event AssociatedContractUpdated(address associatedContract)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function acceptOwnership()", + "function allowance(address, address) view returns (uint256)", + "function associatedContract() view returns (address)", + "function balanceOf(address) view returns (uint256)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function setAllowance(address tokenOwner, address spender, uint256 value)", + "function setAssociatedContract(address _associatedContract)", + "function setBalanceOf(address account, uint256 value)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0xc51d0f65de702a07ad460f71449dc5ce40a9ab76d2477421d83d3fd1aca8bbc8", + "deployedOn": "run.synthetix" + }, + "ProxysUSD": { + "address": "0xa032eEf7d27503Bd44D3882487627001E77829b8", + "sourceName": "contracts/ProxyERC20.sol", + "contractName": "ProxyERC20", + "abi": [ + "constructor(address _owner)", + "event Approval(address indexed owner, address indexed spender, uint256 value)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event TargetUpdated(address newTarget)", + "event Transfer(address indexed from, address indexed to, uint256 value)", + "function _emit(bytes callData, uint256 numTopics, bytes32 topic1, bytes32 topic2, bytes32 topic3, bytes32 topic4)", + "function acceptOwnership()", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 value) returns (bool)", + "function balanceOf(address account) view returns (uint256)", + "function decimals() view returns (uint8)", + "function name() view returns (string)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function setTarget(address _target)", + "function symbol() view returns (string)", + "function target() view returns (address)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 value) returns (bool)", + "function transferFrom(address from, address to, uint256 value) returns (bool)" + ], + "deployTxn": "", + "deployedOn": "run.synthetix" + }, + "SynthsUSD": { + "address": "0x4Ae41c02994a623D55Ea24a8A6bF678C6B192245", + "sourceName": "contracts/MultiCollateralSynth.sol", + "contractName": "MultiCollateralSynth", + "abi": [ + "constructor(address _proxy, address _tokenState, string _tokenName, string _tokenSymbol, address _owner, bytes32 _currencyKey, uint256 _totalSupply, address _resolver)", + "event Approval(address indexed owner, address indexed spender, uint256 value)", + "event Burned(address indexed account, uint256 value)", + "event CacheUpdated(bytes32 name, address destination)", + "event Issued(address indexed account, uint256 value)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event ProxyUpdated(address proxyAddress)", + "event TokenStateUpdated(address newTokenState)", + "event Transfer(address indexed from, address indexed to, uint256 value)", + "function CONTRACT_NAME() view returns (bytes32)", + "function DECIMALS() view returns (uint8)", + "function FEE_ADDRESS() view returns (address)", + "function acceptOwnership()", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 value) returns (bool)", + "function balanceOf(address account) view returns (uint256)", + "function burn(address account, uint256 amount)", + "function currencyKey() view returns (bytes32)", + "function decimals() view returns (uint8)", + "function isResolverCached() view returns (bool)", + "function issue(address account, uint256 amount)", + "function messageSender() view returns (address)", + "function name() view returns (string)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function proxy() view returns (address)", + "function rebuildCache()", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function setMessageSender(address sender)", + "function setProxy(address _proxy)", + "function setTokenState(address _tokenState)", + "function setTotalSupply(uint256 amount)", + "function symbol() view returns (string)", + "function tokenState() view returns (address)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 value) returns (bool)", + "function transferAndSettle(address to, uint256 value) returns (bool)", + "function transferFrom(address from, address to, uint256 value) returns (bool)", + "function transferFromAndSettle(address from, address to, uint256 value) returns (bool)", + "function transferableSynths(address account) view returns (uint256)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0xccb08001de62feff27320e00188cd380aeedf20fbe3c9aa0db7ac2be6d437443", + "deployedOn": "run.synthetix" + }, + "TokenStatesETH": { + "address": "0x6EE70d08D7b330e49E3A8B318010efe0C0acB2F5", + "sourceName": "contracts/TokenState.sol", + "contractName": "TokenState", + "abi": [ + "constructor(address _owner, address _associatedContract)", + "event AssociatedContractUpdated(address associatedContract)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function acceptOwnership()", + "function allowance(address, address) view returns (uint256)", + "function associatedContract() view returns (address)", + "function balanceOf(address) view returns (uint256)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function setAllowance(address tokenOwner, address spender, uint256 value)", + "function setAssociatedContract(address _associatedContract)", + "function setBalanceOf(address account, uint256 value)" + ], + "deployTxn": "", + "deployedOn": "run.synthetix" + }, + "ProxysETH": { + "address": "0x033c10c259fac8fFA7e29c154a7e35877E55cE81", + "sourceName": "contracts/ProxyERC20.sol", + "contractName": "ProxyERC20", + "abi": [ + "constructor(address _owner)", + "event Approval(address indexed owner, address indexed spender, uint256 value)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event TargetUpdated(address newTarget)", + "event Transfer(address indexed from, address indexed to, uint256 value)", + "function _emit(bytes callData, uint256 numTopics, bytes32 topic1, bytes32 topic2, bytes32 topic3, bytes32 topic4)", + "function acceptOwnership()", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 value) returns (bool)", + "function balanceOf(address account) view returns (uint256)", + "function decimals() view returns (uint8)", + "function name() view returns (string)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function setTarget(address _target)", + "function symbol() view returns (string)", + "function target() view returns (address)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 value) returns (bool)", + "function transferFrom(address from, address to, uint256 value) returns (bool)" + ], + "deployTxn": "", + "deployedOn": "run.synthetix" + }, + "SynthsETH": { + "address": "0xc563e5E774f66C55DAd58ceD174506f8949D60Fc", + "sourceName": "contracts/MultiCollateralSynth.sol", + "contractName": "MultiCollateralSynth", + "abi": [ + "constructor(address _proxy, address _tokenState, string _tokenName, string _tokenSymbol, address _owner, bytes32 _currencyKey, uint256 _totalSupply, address _resolver)", + "event Approval(address indexed owner, address indexed spender, uint256 value)", + "event Burned(address indexed account, uint256 value)", + "event CacheUpdated(bytes32 name, address destination)", + "event Issued(address indexed account, uint256 value)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event ProxyUpdated(address proxyAddress)", + "event TokenStateUpdated(address newTokenState)", + "event Transfer(address indexed from, address indexed to, uint256 value)", + "function CONTRACT_NAME() view returns (bytes32)", + "function DECIMALS() view returns (uint8)", + "function FEE_ADDRESS() view returns (address)", + "function acceptOwnership()", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 value) returns (bool)", + "function balanceOf(address account) view returns (uint256)", + "function burn(address account, uint256 amount)", + "function currencyKey() view returns (bytes32)", + "function decimals() view returns (uint8)", + "function isResolverCached() view returns (bool)", + "function issue(address account, uint256 amount)", + "function messageSender() view returns (address)", + "function name() view returns (string)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function proxy() view returns (address)", + "function rebuildCache()", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function setMessageSender(address sender)", + "function setProxy(address _proxy)", + "function setTokenState(address _tokenState)", + "function setTotalSupply(uint256 amount)", + "function symbol() view returns (string)", + "function tokenState() view returns (address)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 value) returns (bool)", + "function transferAndSettle(address to, uint256 value) returns (bool)", + "function transferFrom(address from, address to, uint256 value) returns (bool)", + "function transferFromAndSettle(address from, address to, uint256 value) returns (bool)", + "function transferableSynths(address account) view returns (uint256)" + ], + "deployTxn": "", + "deployedOn": "run.synthetix" + }, + "TokenStatesBTC": { + "address": "0xD569387AE9bC0028AAaf65936897e894941aA3A1", + "sourceName": "contracts/TokenState.sol", + "contractName": "TokenState", + "abi": [ + "constructor(address _owner, address _associatedContract)", + "event AssociatedContractUpdated(address associatedContract)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function acceptOwnership()", + "function allowance(address, address) view returns (uint256)", + "function associatedContract() view returns (address)", + "function balanceOf(address) view returns (uint256)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function setAllowance(address tokenOwner, address spender, uint256 value)", + "function setAssociatedContract(address _associatedContract)", + "function setBalanceOf(address account, uint256 value)" + ], + "deployTxn": "", + "deployedOn": "run.synthetix" + }, + "ProxysBTC": { + "address": "0x993783797Ad658e60A8d28528cBA13450925A1A5", + "sourceName": "contracts/ProxyERC20.sol", + "contractName": "ProxyERC20", + "abi": [ + "constructor(address _owner)", + "event Approval(address indexed owner, address indexed spender, uint256 value)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event TargetUpdated(address newTarget)", + "event Transfer(address indexed from, address indexed to, uint256 value)", + "function _emit(bytes callData, uint256 numTopics, bytes32 topic1, bytes32 topic2, bytes32 topic3, bytes32 topic4)", + "function acceptOwnership()", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 value) returns (bool)", + "function balanceOf(address account) view returns (uint256)", + "function decimals() view returns (uint8)", + "function name() view returns (string)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function setTarget(address _target)", + "function symbol() view returns (string)", + "function target() view returns (address)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 value) returns (bool)", + "function transferFrom(address from, address to, uint256 value) returns (bool)" + ], + "deployTxn": "", + "deployedOn": "run.synthetix" + }, + "SynthsBTC": { + "address": "0x391683f29453E86ABd9FBA3Ab0a883EF77F5ACbC", + "sourceName": "contracts/MultiCollateralSynth.sol", + "contractName": "MultiCollateralSynth", + "abi": [ + "constructor(address _proxy, address _tokenState, string _tokenName, string _tokenSymbol, address _owner, bytes32 _currencyKey, uint256 _totalSupply, address _resolver)", + "event Approval(address indexed owner, address indexed spender, uint256 value)", + "event Burned(address indexed account, uint256 value)", + "event CacheUpdated(bytes32 name, address destination)", + "event Issued(address indexed account, uint256 value)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event ProxyUpdated(address proxyAddress)", + "event TokenStateUpdated(address newTokenState)", + "event Transfer(address indexed from, address indexed to, uint256 value)", + "function CONTRACT_NAME() view returns (bytes32)", + "function DECIMALS() view returns (uint8)", + "function FEE_ADDRESS() view returns (address)", + "function acceptOwnership()", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 value) returns (bool)", + "function balanceOf(address account) view returns (uint256)", + "function burn(address account, uint256 amount)", + "function currencyKey() view returns (bytes32)", + "function decimals() view returns (uint8)", + "function isResolverCached() view returns (bool)", + "function issue(address account, uint256 amount)", + "function messageSender() view returns (address)", + "function name() view returns (string)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function proxy() view returns (address)", + "function rebuildCache()", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function setMessageSender(address sender)", + "function setProxy(address _proxy)", + "function setTokenState(address _tokenState)", + "function setTotalSupply(uint256 amount)", + "function symbol() view returns (string)", + "function tokenState() view returns (address)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 value) returns (bool)", + "function transferAndSettle(address to, uint256 value) returns (bool)", + "function transferFrom(address from, address to, uint256 value) returns (bool)", + "function transferFromAndSettle(address from, address to, uint256 value) returns (bool)", + "function transferableSynths(address account) view returns (uint256)" + ], + "deployTxn": "", + "deployedOn": "run.synthetix" + }, + "Depot": { + "address": "0x91112d49095Febf1616af25be7f32Cf580DBC7A3", + "sourceName": "contracts/Depot.sol", + "contractName": "Depot", + "abi": [ + "constructor(address _owner, address _fundsWallet, address _resolver)", + "event CacheUpdated(bytes32 name, address destination)", + "event ClearedDeposit(address indexed fromAddress, address indexed toAddress, uint256 fromETHAmount, uint256 toAmount, uint256 indexed depositIndex)", + "event Exchange(string fromCurrency, uint256 fromAmount, string toCurrency, uint256 toAmount)", + "event FundsWalletUpdated(address newFundsWallet)", + "event MaxEthPurchaseUpdated(uint256 amount)", + "event MinimumDepositAmountUpdated(uint256 amount)", + "event NonPayableContract(address indexed receiver, uint256 amount)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event PauseChanged(bool isPaused)", + "event SynthDeposit(address indexed user, uint256 amount, uint256 indexed depositIndex)", + "event SynthDepositNotAccepted(address user, uint256 amount, uint256 minimum)", + "event SynthDepositRemoved(address indexed user, uint256 amount, uint256 indexed depositIndex)", + "event SynthWithdrawal(address user, uint256 amount)", + "function acceptOwnership()", + "function depositEndIndex() view returns (uint256)", + "function depositStartIndex() view returns (uint256)", + "function depositSynths(uint256 amount)", + "function deposits(uint256) view returns (address user, uint256 amount)", + "function exchangeEtherForSNX() payable returns (uint256)", + "function exchangeEtherForSNXAtRate(uint256 guaranteedEtherRate, uint256 guaranteedSynthetixRate) payable returns (uint256)", + "function exchangeEtherForSynths() payable returns (uint256)", + "function exchangeEtherForSynthsAtRate(uint256 guaranteedRate) payable returns (uint256)", + "function exchangeSynthsForSNX(uint256 synthAmount) returns (uint256)", + "function exchangeSynthsForSNXAtRate(uint256 synthAmount, uint256 guaranteedRate) returns (uint256)", + "function fundsWallet() view returns (address)", + "function isResolverCached() view returns (bool)", + "function lastPauseTime() view returns (uint256)", + "function maxEthPurchase() view returns (uint256)", + "function minimumDepositAmount() view returns (uint256)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function paused() view returns (bool)", + "function rebuildCache()", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function setFundsWallet(address _fundsWallet)", + "function setMaxEthPurchase(uint256 _maxEthPurchase)", + "function setMinimumDepositAmount(uint256 _amount)", + "function setPaused(bool _paused)", + "function smallDeposits(address) view returns (uint256)", + "function synthetixReceivedForEther(uint256 amount) view returns (uint256)", + "function synthetixReceivedForSynths(uint256 amount) view returns (uint256)", + "function synthsReceivedForEther(uint256 amount) view returns (uint256)", + "function totalSellableDeposits() view returns (uint256)", + "function withdrawMyDepositedSynths()", + "function withdrawSynthetix(uint256 amount)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x483c52a31c15e1c203d4ed6c0e00d018ed62872fea8c9d92f0e0959503586812", + "deployedOn": "run.synthetix" + }, + "EtherWrapper": { + "address": "0x8c40995955502B7d5F4555B43BA0aCe402B216B5", + "sourceName": "contracts/EtherWrapper.sol", + "contractName": "EtherWrapper", + "abi": [ + "constructor(address _owner, address _resolver, address _WETH)", + "event Burned(address indexed account, uint256 principal, uint256 fee, uint256 amountIn)", + "event CacheUpdated(bytes32 name, address destination)", + "event Minted(address indexed account, uint256 principal, uint256 fee, uint256 amountIn)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event PauseChanged(bool isPaused)", + "function acceptOwnership()", + "function burn(uint256 amountIn)", + "function burnFeeRate() view returns (uint256)", + "function calculateBurnFee(uint256 amount) view returns (uint256)", + "function calculateMintFee(uint256 amount) view returns (uint256)", + "function capacity() view returns (uint256 _capacity)", + "function distributeFees()", + "function feesEscrowed() view returns (uint256)", + "function getReserves() view returns (uint256)", + "function isResolverCached() view returns (bool)", + "function lastPauseTime() view returns (uint256)", + "function maxETH() view returns (uint256)", + "function mint(uint256 amountIn)", + "function mintFeeRate() view returns (uint256)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function paused() view returns (bool)", + "function rebuildCache()", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function sETHIssued() view returns (uint256)", + "function sUSDIssued() view returns (uint256)", + "function setPaused(bool _paused)", + "function totalIssuedSynths() view returns (uint256)", + "function weth() view returns (address)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0xd86f65928fa144b7db5950e9b0cd7688af03dc17922bc018278f2305bb90d64c", + "deployedOn": "run.synthetix" + }, + "NativeEtherWrapper": { + "address": "0xE35F9a96bFEa977b3660b8EF7fF8B326C9Ee150c", + "sourceName": "contracts/NativeEtherWrapper.sol", + "contractName": "NativeEtherWrapper", + "abi": [ + "constructor(address _owner, address _resolver)", + "event Burned(address indexed account, uint256 amount)", + "event CacheUpdated(bytes32 name, address destination)", + "event Minted(address indexed account, uint256 amount)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function acceptOwnership()", + "function burn(uint256 amount)", + "function isResolverCached() view returns (bool)", + "function mint() payable", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function rebuildCache()", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x40b2a7df140860cd2c69c12daf7e4d4ef8ca111af07e5b8e15f23e13664729b9", + "deployedOn": "run.synthetix" + }, + "CollateralUtil": { + "address": "0x928A72cbd43b2c27d76b2dF40fe408B86062976D", + "sourceName": "contracts/CollateralUtil.sol", + "contractName": "CollateralUtil", + "abi": [ + "constructor(address _resolver)", + "event CacheUpdated(bytes32 name, address destination)", + "function collateralRedeemed(bytes32 currency, uint256 amount, bytes32 collateralKey) view returns (uint256 collateral)", + "function getCollateralRatio(tuple(uint256 id, address account, uint256 collateral, bytes32 currency, uint256 amount, bool short, uint256 accruedInterest, uint256 interestIndex, uint256 lastInteraction) loan, bytes32 collateralKey) view returns (uint256 cratio)", + "function isResolverCached() view returns (bool)", + "function liquidationAmount(tuple(uint256 id, address account, uint256 collateral, bytes32 currency, uint256 amount, bool short, uint256 accruedInterest, uint256 interestIndex, uint256 lastInteraction) loan, uint256 minCratio, bytes32 collateralKey) view returns (uint256 amount)", + "function maxLoan(uint256 amount, bytes32 currency, uint256 minCratio, bytes32 collateralKey) view returns (uint256 max)", + "function rebuildCache()", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x9d642adaccb26d2b320bc7a2da7e3dc3b2fde7eb820e1db73622db2890c4045c", + "deployedOn": "run.synthetix" + }, + "CollateralManagerState": { + "address": "0x4D06965E0941E0881a5308DFF66cD59D28a08E3f", + "sourceName": "contracts/CollateralManagerState.sol", + "contractName": "CollateralManagerState", + "abi": [ + "constructor(address _owner, address _associatedContract)", + "event AssociatedContractUpdated(address associatedContract)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function acceptOwnership()", + "function addShortCurrency(bytes32 currency)", + "function associatedContract() view returns (address)", + "function borrowRates(uint256) view returns (uint256)", + "function borrowRatesLastUpdated() view returns (uint256)", + "function decrementLongs(bytes32 synth, uint256 amount)", + "function decrementShorts(bytes32 synth, uint256 amount)", + "function getRateAt(uint256 index) view returns (uint256)", + "function getRatesAndTime(uint256 index) view returns (uint256 entryRate, uint256 lastRate, uint256 lastUpdated, uint256 newIndex)", + "function getRatesLength() view returns (uint256)", + "function getShortRatesAndTime(bytes32 currency, uint256 index) view returns (uint256 entryRate, uint256 lastRate, uint256 lastUpdated, uint256 newIndex)", + "function getShortRatesLength(bytes32 currency) view returns (uint256)", + "function incrementLongs(bytes32 synth, uint256 amount)", + "function incrementShorts(bytes32 synth, uint256 amount)", + "function incrementTotalLoans() returns (uint256)", + "function long(bytes32 synth) view returns (uint256)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function ratesLastUpdated() view returns (uint256)", + "function removeShortCurrency(bytes32 currency)", + "function setAssociatedContract(address _associatedContract)", + "function short(bytes32 synth) view returns (uint256)", + "function shortRates(bytes32, uint256) view returns (uint256)", + "function shortRatesLastUpdated(bytes32) view returns (uint256)", + "function totalIssuedSynths(bytes32) view returns (uint256 long, uint256 short)", + "function totalLoans() view returns (uint256)", + "function updateBorrowRates(uint256 rate)", + "function updateShortRates(bytes32 currency, uint256 rate)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0xbda05381a8c1be1e5dc25f2388c4dbd9ab60078cb14a0c3cc3ab4ef4b20c73e6", + "deployedOn": "run.synthetix" + }, + "CollateralManager": { + "address": "0x4dBB50B97EBBC4c29EddbE021Ab67b588b979711", + "sourceName": "contracts/CollateralManager.sol", + "contractName": "CollateralManager", + "abi": [ + "constructor(address _state, address _owner, address _resolver, uint256 _maxDebt, uint256 _maxSkewRate, uint256 _baseBorrowRate, uint256 _baseShortRate)", + "event BaseBorrowRateUpdated(uint256 baseBorrowRate)", + "event BaseShortRateUpdated(uint256 baseShortRate)", + "event CacheUpdated(bytes32 name, address destination)", + "event CollateralAdded(address collateral)", + "event CollateralRemoved(address collateral)", + "event LiquidationPenaltyUpdated(uint256 liquidationPenalty)", + "event MaxDebtUpdated(uint256 maxDebt)", + "event MaxSkewRateUpdated(uint256 maxSkewRate)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event PauseChanged(bool isPaused)", + "event ShortableSynthAdded(bytes32 synth)", + "event ShortableSynthRemoved(bytes32 synth)", + "event SynthAdded(bytes32 synth)", + "event SynthRemoved(bytes32 synth)", + "event UtilisationMultiplierUpdated(uint256 utilisationMultiplier)", + "function CONTRACT_NAME() view returns (bytes32)", + "function acceptOwnership()", + "function accrueInterest(uint256 interestIndex, bytes32 currency, bool isShort) returns (uint256 difference, uint256 index)", + "function addCollaterals(address[] collaterals)", + "function addShortableSynths(bytes32[] requiredSynthNamesInResolver, bytes32[] synthKeys)", + "function addSynths(bytes32[] synthNamesInResolver, bytes32[] synthKeys)", + "function areShortableSynthsSet(bytes32[] requiredSynthNamesInResolver, bytes32[] synthKeys) view returns (bool)", + "function areSynthsAndCurrenciesSet(bytes32[] requiredSynthNamesInResolver, bytes32[] synthKeys) view returns (bool)", + "function baseBorrowRate() view returns (uint256)", + "function baseShortRate() view returns (uint256)", + "function decrementLongs(bytes32 synth, uint256 amount)", + "function decrementShorts(bytes32 synth, uint256 amount)", + "function exceedsDebtLimit(uint256 amount, bytes32 currency) view returns (bool canIssue, bool anyRateIsInvalid)", + "function getBorrowRate() view returns (uint256 borrowRate, bool anyRateIsInvalid)", + "function getNewLoanId() returns (uint256 id)", + "function getRatesAndTime(uint256 index) view returns (uint256 entryRate, uint256 lastRate, uint256 lastUpdated, uint256 newIndex)", + "function getShortRate(bytes32 synthKey) view returns (uint256 shortRate, bool rateIsInvalid)", + "function getShortRatesAndTime(bytes32 currency, uint256 index) view returns (uint256 entryRate, uint256 lastRate, uint256 lastUpdated, uint256 newIndex)", + "function hasAllCollaterals(address[] collaterals) view returns (bool)", + "function hasCollateral(address collateral) view returns (bool)", + "function incrementLongs(bytes32 synth, uint256 amount)", + "function incrementShorts(bytes32 synth, uint256 amount)", + "function isResolverCached() view returns (bool)", + "function isSynthManaged(bytes32 currencyKey) view returns (bool)", + "function lastPauseTime() view returns (uint256)", + "function long(bytes32 synth) view returns (uint256 amount)", + "function maxDebt() view returns (uint256)", + "function maxSkewRate() view returns (uint256)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function paused() view returns (bool)", + "function rebuildCache()", + "function removeCollaterals(address[] collaterals)", + "function removeShortableSynths(bytes32[] synths)", + "function removeSynths(bytes32[] synthNamesInResolver, bytes32[] synthKeys)", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function setBaseBorrowRate(uint256 _baseBorrowRate)", + "function setBaseShortRate(uint256 _baseShortRate)", + "function setMaxDebt(uint256 _maxDebt)", + "function setMaxSkewRate(uint256 _maxSkewRate)", + "function setPaused(bool _paused)", + "function setUtilisationMultiplier(uint256 _utilisationMultiplier)", + "function short(bytes32 synth) view returns (uint256 amount)", + "function shortableSynthsByKey(bytes32) view returns (bytes32)", + "function state() view returns (address)", + "function synthsByKey(bytes32) view returns (bytes32)", + "function totalLong() view returns (uint256 susdValue, bool anyRateIsInvalid)", + "function totalLongAndShort() view returns (uint256 susdValue, bool anyRateIsInvalid)", + "function totalShort() view returns (uint256 susdValue, bool anyRateIsInvalid)", + "function updateBorrowRatesCollateral(uint256 rate)", + "function updateShortRatesCollateral(bytes32 currency, uint256 rate)", + "function utilisationMultiplier() view returns (uint256)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x8b5fe92566edfb8eb58ab7a650a66c1f5b90c615f118913ae5691fe1acb1bfe7", + "deployedOn": "run.synthetix" + }, + "CollateralEth": { + "address": "0xBd495E2cAB97441051e81f48ec2a9739957E069b", + "sourceName": "contracts/CollateralEth.sol", + "contractName": "CollateralEth", + "abi": [ + "constructor(address _owner, address _manager, address _resolver, bytes32 _collateralKey, uint256 _minCratio, uint256 _minCollateral)", + "event CacheUpdated(bytes32 name, address destination)", + "event CanOpenLoansUpdated(bool canOpenLoans)", + "event CollateralDeposited(address indexed account, uint256 id, uint256 amountDeposited, uint256 collateralAfter)", + "event CollateralWithdrawn(address indexed account, uint256 id, uint256 amountWithdrawn, uint256 collateralAfter)", + "event IssueFeeRateUpdated(uint256 issueFeeRate)", + "event LoanClosed(address indexed account, uint256 id)", + "event LoanClosedByLiquidation(address indexed account, uint256 id, address indexed liquidator, uint256 amountLiquidated, uint256 collateralLiquidated)", + "event LoanClosedByRepayment(address indexed account, uint256 id, uint256 amountRepaid, uint256 collateralAfter)", + "event LoanCreated(address indexed account, uint256 id, uint256 amount, uint256 collateral, bytes32 currency, uint256 issuanceFee)", + "event LoanDrawnDown(address indexed account, uint256 id, uint256 amount)", + "event LoanPartiallyLiquidated(address indexed account, uint256 id, address liquidator, uint256 amountLiquidated, uint256 collateralLiquidated)", + "event LoanRepaymentMade(address indexed account, address indexed repayer, uint256 id, uint256 amountRepaid, uint256 amountAfter)", + "event MinCollateralUpdated(uint256 minCollateral)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function acceptOwnership()", + "function addRewardsContracts(address rewardsContract, bytes32 synth)", + "function addSynths(bytes32[] _synthNamesInResolver, bytes32[] _synthKeys)", + "function areSynthsAndCurrenciesSet(bytes32[] _synthNamesInResolver, bytes32[] _synthKeys) view returns (bool)", + "function canOpenLoans() view returns (bool)", + "function claim(uint256 amount)", + "function close(uint256 id) returns (uint256 amount, uint256 collateral)", + "function collateralKey() view returns (bytes32)", + "function collateralRatio(uint256 id) view returns (uint256 cratio)", + "function deposit(address borrower, uint256 id) payable returns (uint256 principal, uint256 collateral)", + "function draw(uint256 id, uint256 amount) returns (uint256 principal, uint256 collateral)", + "function isResolverCached() view returns (bool)", + "function issueFeeRate() view returns (uint256)", + "function liquidate(address borrower, uint256 id, uint256 amount)", + "function liquidationAmount(uint256 id) view returns (uint256 liqAmount)", + "function loans(uint256) view returns (uint256 id, address account, uint256 collateral, bytes32 currency, uint256 amount, bool short, uint256 accruedInterest, uint256 interestIndex, uint256 lastInteraction)", + "function manager() view returns (address)", + "function maxLoan(uint256 amount, bytes32 currency) view returns (uint256 max)", + "function minCollateral() view returns (uint256)", + "function minCratio() view returns (uint256)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function open(uint256 amount, bytes32 currency) payable returns (uint256 id)", + "function owner() view returns (address)", + "function pendingWithdrawals(address) view returns (uint256)", + "function rebuildCache()", + "function repay(address borrower, uint256 id, uint256 amount) returns (uint256 principal, uint256 collateral)", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function setCanOpenLoans(bool _canOpenLoans)", + "function setIssueFeeRate(uint256 _issueFeeRate)", + "function setMinCollateral(uint256 _minCollateral)", + "function shortingRewards(bytes32) view returns (address)", + "function synths(uint256) view returns (bytes32)", + "function synthsByKey(bytes32) view returns (bytes32)", + "function withdraw(uint256 id, uint256 amount) returns (uint256 principal, uint256 collateral)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0xd195b23cc7e197c2ce93f0f26e54d18a1a1e33f702c2986c821f448fabe7d383", + "deployedOn": "run.synthetix" + }, + "CollateralErc20": { + "address": "0x0d63eB71ab86EB414eDcD800dD9C7f6279913Edc", + "sourceName": "contracts/CollateralErc20.sol", + "contractName": "CollateralErc20", + "abi": [ + "constructor(address _owner, address _manager, address _resolver, bytes32 _collateralKey, uint256 _minCratio, uint256 _minCollateral, address _underlyingContract, uint256 _underlyingDecimals)", + "event CacheUpdated(bytes32 name, address destination)", + "event CanOpenLoansUpdated(bool canOpenLoans)", + "event CollateralDeposited(address indexed account, uint256 id, uint256 amountDeposited, uint256 collateralAfter)", + "event CollateralWithdrawn(address indexed account, uint256 id, uint256 amountWithdrawn, uint256 collateralAfter)", + "event IssueFeeRateUpdated(uint256 issueFeeRate)", + "event LoanClosed(address indexed account, uint256 id)", + "event LoanClosedByLiquidation(address indexed account, uint256 id, address indexed liquidator, uint256 amountLiquidated, uint256 collateralLiquidated)", + "event LoanClosedByRepayment(address indexed account, uint256 id, uint256 amountRepaid, uint256 collateralAfter)", + "event LoanCreated(address indexed account, uint256 id, uint256 amount, uint256 collateral, bytes32 currency, uint256 issuanceFee)", + "event LoanDrawnDown(address indexed account, uint256 id, uint256 amount)", + "event LoanPartiallyLiquidated(address indexed account, uint256 id, address liquidator, uint256 amountLiquidated, uint256 collateralLiquidated)", + "event LoanRepaymentMade(address indexed account, address indexed repayer, uint256 id, uint256 amountRepaid, uint256 amountAfter)", + "event MinCollateralUpdated(uint256 minCollateral)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function acceptOwnership()", + "function addRewardsContracts(address rewardsContract, bytes32 synth)", + "function addSynths(bytes32[] _synthNamesInResolver, bytes32[] _synthKeys)", + "function areSynthsAndCurrenciesSet(bytes32[] _synthNamesInResolver, bytes32[] _synthKeys) view returns (bool)", + "function canOpenLoans() view returns (bool)", + "function close(uint256 id) returns (uint256 amount, uint256 collateral)", + "function collateralKey() view returns (bytes32)", + "function collateralRatio(uint256 id) view returns (uint256 cratio)", + "function deposit(address borrower, uint256 id, uint256 amount) returns (uint256 principal, uint256 collateral)", + "function draw(uint256 id, uint256 amount) returns (uint256 principal, uint256 collateral)", + "function isResolverCached() view returns (bool)", + "function issueFeeRate() view returns (uint256)", + "function liquidate(address borrower, uint256 id, uint256 amount)", + "function liquidationAmount(uint256 id) view returns (uint256 liqAmount)", + "function loans(uint256) view returns (uint256 id, address account, uint256 collateral, bytes32 currency, uint256 amount, bool short, uint256 accruedInterest, uint256 interestIndex, uint256 lastInteraction)", + "function manager() view returns (address)", + "function maxLoan(uint256 amount, bytes32 currency) view returns (uint256 max)", + "function minCollateral() view returns (uint256)", + "function minCratio() view returns (uint256)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function open(uint256 collateral, uint256 amount, bytes32 currency) returns (uint256 id)", + "function owner() view returns (address)", + "function rebuildCache()", + "function repay(address borrower, uint256 id, uint256 amount) returns (uint256 principal, uint256 collateral)", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function scaleDownCollateral(uint256 collateral) view returns (uint256 scaledDown)", + "function scaleUpCollateral(uint256 collateral) view returns (uint256 scaledUp)", + "function setCanOpenLoans(bool _canOpenLoans)", + "function setIssueFeeRate(uint256 _issueFeeRate)", + "function setMinCollateral(uint256 _minCollateral)", + "function shortingRewards(bytes32) view returns (address)", + "function synths(uint256) view returns (bytes32)", + "function synthsByKey(bytes32) view returns (bytes32)", + "function underlyingContract() view returns (address)", + "function underlyingContractDecimals() view returns (uint256)", + "function withdraw(uint256 id, uint256 amount) returns (uint256 principal, uint256 collateral)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x3e82dbba6f3d36fc3c9786e107d5ca94cd25856963eac9a40d4b09ec03b1e96c", + "deployedOn": "run.synthetix" + }, + "CollateralShort": { + "address": "0x60c3433763c59d4Be7684E2912Dda21BA0546a73", + "sourceName": "contracts/CollateralShort.sol", + "contractName": "CollateralShort", + "abi": [ + "constructor(address _owner, address _manager, address _resolver, bytes32 _collateralKey, uint256 _minCratio, uint256 _minCollateral)", + "event CacheUpdated(bytes32 name, address destination)", + "event CanOpenLoansUpdated(bool canOpenLoans)", + "event CollateralDeposited(address indexed account, uint256 id, uint256 amountDeposited, uint256 collateralAfter)", + "event CollateralWithdrawn(address indexed account, uint256 id, uint256 amountWithdrawn, uint256 collateralAfter)", + "event IssueFeeRateUpdated(uint256 issueFeeRate)", + "event LoanClosed(address indexed account, uint256 id)", + "event LoanClosedByLiquidation(address indexed account, uint256 id, address indexed liquidator, uint256 amountLiquidated, uint256 collateralLiquidated)", + "event LoanClosedByRepayment(address indexed account, uint256 id, uint256 amountRepaid, uint256 collateralAfter)", + "event LoanCreated(address indexed account, uint256 id, uint256 amount, uint256 collateral, bytes32 currency, uint256 issuanceFee)", + "event LoanDrawnDown(address indexed account, uint256 id, uint256 amount)", + "event LoanPartiallyLiquidated(address indexed account, uint256 id, address liquidator, uint256 amountLiquidated, uint256 collateralLiquidated)", + "event LoanRepaymentMade(address indexed account, address indexed repayer, uint256 id, uint256 amountRepaid, uint256 amountAfter)", + "event MinCollateralUpdated(uint256 minCollateral)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "function acceptOwnership()", + "function addRewardsContracts(address rewardsContract, bytes32 synth)", + "function addSynths(bytes32[] _synthNamesInResolver, bytes32[] _synthKeys)", + "function areSynthsAndCurrenciesSet(bytes32[] _synthNamesInResolver, bytes32[] _synthKeys) view returns (bool)", + "function canOpenLoans() view returns (bool)", + "function close(uint256 id) returns (uint256 amount, uint256 collateral)", + "function closeWithCollateral(uint256 id) returns (uint256 amount, uint256 collateral)", + "function collateralKey() view returns (bytes32)", + "function collateralRatio(uint256 id) view returns (uint256 cratio)", + "function deposit(address borrower, uint256 id, uint256 amount) returns (uint256 principal, uint256 collateral)", + "function draw(uint256 id, uint256 amount) returns (uint256 principal, uint256 collateral)", + "function getShortAndCollateral(address, uint256 id) view returns (uint256 principal, uint256 collateral)", + "function isResolverCached() view returns (bool)", + "function issueFeeRate() view returns (uint256)", + "function liquidate(address borrower, uint256 id, uint256 amount)", + "function liquidationAmount(uint256 id) view returns (uint256 liqAmount)", + "function loans(uint256) view returns (uint256 id, address account, uint256 collateral, bytes32 currency, uint256 amount, bool short, uint256 accruedInterest, uint256 interestIndex, uint256 lastInteraction)", + "function manager() view returns (address)", + "function maxLoan(uint256 amount, bytes32 currency) view returns (uint256 max)", + "function minCollateral() view returns (uint256)", + "function minCratio() view returns (uint256)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function open(uint256 collateral, uint256 amount, bytes32 currency) returns (uint256 id)", + "function owner() view returns (address)", + "function rebuildCache()", + "function repay(address borrower, uint256 id, uint256 amount) returns (uint256 principal, uint256 collateral)", + "function repayWithCollateral(uint256 id, uint256 amount) returns (uint256 principal, uint256 collateral)", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function setCanOpenLoans(bool _canOpenLoans)", + "function setIssueFeeRate(uint256 _issueFeeRate)", + "function setMinCollateral(uint256 _minCollateral)", + "function shortingRewards(bytes32) view returns (address)", + "function synths(uint256) view returns (bytes32)", + "function synthsByKey(bytes32) view returns (bytes32)", + "function withdraw(uint256 id, uint256 amount) returns (uint256 principal, uint256 collateral)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0xc34e586ccac313b7eacd555a4a3d70889076cc8dd0f5be5243eae985bd5d8799", + "deployedOn": "run.synthetix" + }, + "FuturesMarketManager": { + "address": "0xA73A7B754Ec870b3738D0654cA75b7d0eEbdb460", + "sourceName": "contracts/EmptyFuturesMarketManager.sol", + "contractName": "EmptyFuturesMarketManager", + "abi": [ + "function CONTRACT_NAME() view returns (bytes32)", + "function addEndorsedAddresses(address[] addresses)", + "function allEndorsedAddresses() view returns (address[])", + "function allMarkets() view returns (address[])", + "function allMarkets(bool proxiedMarkets) view returns (address[])", + "function isEndorsed(address account) view returns (bool)", + "function marketForKey(bytes32 marketKey) view returns (address)", + "function markets(uint256 index, uint256 pageSize, bool proxiedMarkets) view returns (address[])", + "function markets(uint256 index, uint256 pageSize) view returns (address[])", + "function marketsForKeys(bytes32[] marketKeys) view returns (address[])", + "function numMarkets() view returns (uint256)", + "function numMarkets(bool proxiedMarkets) view returns (uint256)", + "function removeEndorsedAddresses(address[] addresses)", + "function totalDebt() view returns (uint256 debt, bool isInvalid)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0xfe9fedc85a676a078aaaa66bea8141b7b6b54a4e728181ff437184853b9cc306", + "deployedOn": "run.synthetix" + }, + "SynthUtil": { + "address": "0x484Ae29E4b68d7625D7CBeeCA5Be51e6BA47c7c3", + "sourceName": "contracts/SynthUtil.sol", + "contractName": "SynthUtil", + "abi": [ + "constructor(address resolver)", + "function addressResolverProxy() view returns (address)", + "function synthsBalances(address account) view returns (bytes32[], uint256[], uint256[])", + "function synthsRates() view returns (bytes32[], uint256[])", + "function synthsTotalSupplies() view returns (bytes32[], uint256[], uint256[])", + "function totalSynthsInKey(address account, bytes32 currencyKey) view returns (uint256 total)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0xa18f150aa8d87eeef0f627db6a0c4ee8f1061c3b0a0eff3ca36d47358f126af4", + "deployedOn": "run.synthetix" + }, + "DappMaintenance": { + "address": "0x045ba2D58f16d39a91db70C1027080cde6f4E56f", + "sourceName": "contracts/DappMaintenance.sol", + "contractName": "DappMaintenance", + "abi": [ + "constructor(address _owner)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event SXMaintenance(bool isPaused)", + "event StakingMaintenance(bool isPaused)", + "function acceptOwnership()", + "function isPausedSX() view returns (bool)", + "function isPausedStaking() view returns (bool)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function setMaintenanceModeAll(bool isPaused)", + "function setMaintenanceModeSX(bool isPaused)", + "function setMaintenanceModeStaking(bool isPaused)" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x00682eb106a68b888ebb18056d6a29f003cf4f11e157ffc34ab2705c20f9a243", + "deployedOn": "run.synthetix" + }, + "DynamicSynthRedeemer": { + "address": "0x2e11a3638F12A37263b1B4226b61412f6BBB277c", + "sourceName": "contracts/DynamicSynthRedeemer.sol", + "contractName": "DynamicSynthRedeemer", + "abi": [ + "constructor(address _owner, address _resolver)", + "event CacheUpdated(bytes32 name, address destination)", + "event DiscountRateUpdated(uint256 discountRate)", + "event OwnerChanged(address oldOwner, address newOwner)", + "event OwnerNominated(address newOwner)", + "event RedemptionResumed()", + "event RedemptionSuspended()", + "event SynthRedeemed(address synth, address account, uint256 amountOfSynth, uint256 amountInsUSD)", + "function CONTRACT_NAME() view returns (bytes32)", + "function acceptOwnership()", + "function discountRate() view returns (uint256)", + "function getDiscountRate() view returns (uint256)", + "function isResolverCached() view returns (bool)", + "function nominateNewOwner(address _owner)", + "function nominatedOwner() view returns (address)", + "function owner() view returns (address)", + "function rebuildCache()", + "function redeem(bytes32 currencyKey)", + "function redeemAll(bytes32[] currencyKeys)", + "function redeemPartial(bytes32 currencyKey, uint256 amountOfSynth)", + "function redemptionActive() view returns (bool)", + "function resolver() view returns (address)", + "function resolverAddressesRequired() view returns (bytes32[] addresses)", + "function resumeRedemption()", + "function setDiscountRate(uint256 _newRate)", + "function suspendRedemption()" + ], + "deployTxn": "https://sepolia.etherscan.io/tx/0x7d1ab1f52d7004c825c71f95b46e18ce0a2df2d4e685d6dca8856c7472883309", + "deployedOn": "run.synthetix" + } + }, + "txns": {}, + "extras": { + "network": "sepolia" + } }, - "CouncilToken": { - "address": "0x4feeC0B35b395feD7BC662ee32D185B194Ea9BD6", - "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 NotImplemented()", - "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)", - "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)" - ], - "deployTxnHash": "", - "sourceName": "", - "contractName": "", - "deployedOn": "invoke.init_council_token", - "gasUsed": 0, - "gasCost": "0" - } - }, - "imports": { - "trusted_multicall_forwarder": { - "url": "ipfs://QmfE7r6mN6VWLWJvtzXi3bxW9Dzed8EFhkc8S24c6EWWHD", - "tags": [ - "latest" - ], - "preset": "with-synthetix-governance", + "v3": { + "url": "ipfs://Qmdq9164UBG1hrdUeh1YtPVg9Gq8wwQYA7CT5156sPApxg", "contracts": { - "TrustedMulticallForwarder": { - "address": "0xE2C5658cC5C448B48141168f3e475dF8f65A1e3e", + "AccountModule": { + "address": "0x3590B0d3F45e0cd3248c233008fdFf8AeDD4e4c7", "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)" + "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": "0x39bce867d552aefc3773bd8968169ed10021a08dc2f2e5bc81f0dae75382cecf", + "sourceName": "contracts/modules/core/AccountModule.sol", + "contractName": "AccountModule", + "deployedOn": "contract.AccountModule", + "gasUsed": 1209268, + "gasCost": "1032997011" + }, + "AccountTokenModule": { + "address": "0xC34B6FCd9849F343DEDC24A03D2A8EB54dA65846", + "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": "0x1532a036e550ae25ce5eda053081a56580742debe2fadeff16f032032f4e8199", + "sourceName": "contracts/modules/account/AccountTokenModule.sol", + "contractName": "AccountTokenModule", + "deployedOn": "contract.AccountTokenModule", + "gasUsed": 1787656, + "gasCost": "1087150512" + }, + "AssociateDebtModule": { + "address": "0x03132AAAf27f0f4B7F62d7e54AD94b9C74BA6B73", + "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": "0x5b2025d7e018fbc376adbb5866320d11166c821345c1f373994729367e7ff8bb", + "sourceName": "contracts/modules/core/AssociateDebtModule.sol", + "contractName": "AssociateDebtModule", + "deployedOn": "contract.AssociateDebtModule", + "gasUsed": 2267106, + "gasCost": "1039404773" + }, + "AssociatedSystemsModule": { + "address": "0x9fb00757BA9e33E3fEf51C1677D9D59E5a4ee9d6", + "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": "0xfec1aae80d0bbe0aa204e033c6536d62f882273b20367577a1c24de782569795", + "sourceName": "contracts/modules/associated-systems/AssociatedSystemsModule.sol", + "contractName": "AssociatedSystemsModule", + "deployedOn": "contract.AssociatedSystemsModule", + "gasUsed": 877153, + "gasCost": "1160601901" + }, + "CcipReceiverModule": { + "address": "0x76cd8212382051f61f365a4f9723bB8d5b806680", + "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": "0x7f372bff8bd79adda890fe0f274371f6a50f76ab3ca99ec4ef1d8b961830b8c7", + "sourceName": "contracts/modules/core/CcipReceiverModule.sol", + "contractName": "CcipReceiverModule", + "deployedOn": "contract.CcipReceiverModule", + "gasUsed": 469476, + "gasCost": "1208203748" + }, + "CollateralConfigurationModule": { + "address": "0xE2B87b8DD57E1b35ebf44324da0d2D871D2c8777", + "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": "0xc7e7eaf7d9eef44297acc52a4fb0aade758a712701560488e71917135169709c", + "sourceName": "contracts/modules/core/CollateralConfigurationModule.sol", + "contractName": "CollateralConfigurationModule", + "deployedOn": "contract.CollateralConfigurationModule", + "gasUsed": 837646, + "gasCost": "1119202716" + }, + "CollateralModule": { + "address": "0xF720774DaC8677C107225ebd889C61BD4A21cf43", + "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": "0x26db81c362d7993758a2db3f3b79939be389159f9d6502edf295b3370f009fa2", + "sourceName": "contracts/modules/core/CollateralModule.sol", + "contractName": "CollateralModule", + "deployedOn": "contract.CollateralModule", + "gasUsed": 1730020, + "gasCost": "1098784236" + }, + "CrossChainUSDModule": { + "address": "0xD1Db51bF92C9d91E7D4D7b80120F31AA0E258803", + "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": "0x87203c0b547338dfa7a39d3ffc92e8bf9d83c41bef438162565b6b3285abaae4", + "sourceName": "contracts/modules/core/CrossChainUSDModule.sol", + "contractName": "CrossChainUSDModule", + "deployedOn": "contract.CrossChainUSDModule", + "gasUsed": 595289, + "gasCost": "1089070066" + }, + "FeatureFlagModule": { + "address": "0x61D96844F0226130A191F9e07fC08aaEbB667402", + "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": "0xf48b7b4ae95718cd7151ee19ab3bd834a54d92553799c8e6e4b8c5b802a0dbcc", + "sourceName": "contracts/modules/core/FeatureFlagModule.sol", + "contractName": "FeatureFlagModule", + "deployedOn": "contract.FeatureFlagModule", + "gasUsed": 777054, + "gasCost": "1040190189" + }, + "IssueUSDModule": { + "address": "0xaA69889dAe2873Ea4578bA576f88C76077F121a7", + "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": "0x0f3054ffc2d5292e3769ead6f19f1d286ad8cb6e682265b948e3524dc03e8a09", + "sourceName": "contracts/modules/core/IssueUSDModule.sol", + "contractName": "IssueUSDModule", + "deployedOn": "contract.IssueUSDModule", + "gasUsed": 2808883, + "gasCost": "1000645799" + }, + "LiquidationModule": { + "address": "0x07B560931dF96aC173383C3c6733c8Fb91a05495", + "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": "0x3c2df2e875d0b054981d3a486098e572a278de87f3f82175b94bd78ad218170c", + "sourceName": "contracts/modules/core/LiquidationModule.sol", + "contractName": "LiquidationModule", + "deployedOn": "contract.LiquidationModule", + "gasUsed": 2889614, + "gasCost": "1024230778" + }, + "MarketCollateralModule": { + "address": "0x5C9A3789fDb15D649401a8440553ADb2Ce340B72", + "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": "0xa3cbf3cfbccd2ae3352b0c4ebe1d439cbca3cddfe8c0357d87204b093d0edb68", + "sourceName": "contracts/modules/core/MarketCollateralModule.sol", + "contractName": "MarketCollateralModule", + "deployedOn": "contract.MarketCollateralModule", + "gasUsed": 1222509, + "gasCost": "1065103672" + }, + "MarketManagerModule": { + "address": "0x0D55E1fD0da9d474a472b1c5c9273fBAef80Ead3", + "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": "0x750b498b1d5963d3ce430e49ddc94fcbefd89aee635fee736f28155dcf1ab601", + "sourceName": "contracts/modules/core/MarketManagerModule.sol", + "contractName": "MarketManagerModule", + "deployedOn": "contract.MarketManagerModule", + "gasUsed": 2749047, + "gasCost": "1073723869" + }, + "PoolConfigurationModule": { + "address": "0x97AFc14ffBeCd9983Ca34EB04aFDeb4fd91Bb058", + "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": "0xa68ae448ec0c19b50b7ed1a0c295b3bd044c7e1571a3026302f7cf1acfa9b399", + "sourceName": "contracts/modules/core/PoolConfigurationModule.sol", + "contractName": "PoolConfigurationModule", + "deployedOn": "contract.PoolConfigurationModule", + "gasUsed": 446271, + "gasCost": "1068634018" + }, + "PoolModule": { + "address": "0x53791c24e435763957060D2D4b964203125829B8", + "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": "0x31cf38c7ecff671eb89f0c44455d8d7a652c2615a391b174fa423fe0b055d757", + "sourceName": "contracts/modules/core/PoolModule.sol", + "contractName": "PoolModule", + "deployedOn": "contract.PoolModule", + "gasUsed": 3705275, + "gasCost": "1040955913" + }, + "RewardsManagerModule": { + "address": "0x81801a6a6e677E1c16c8ca08e8ad3968Ce00b112", + "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": "0x30761fcd2b9a06635517a3c8526cbd005cf6989434ea7c49733b76e6b135d7bf", + "sourceName": "contracts/modules/core/RewardsManagerModule.sol", + "contractName": "RewardsManagerModule", + "deployedOn": "contract.RewardsManagerModule", + "gasUsed": 2205823, + "gasCost": "1056889698" + }, + "USDTokenModule": { + "address": "0x69c9a1017D85F1fa9c1B2b8CDaDE08aa0D0D04c3", + "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": "0x5b9ec85c0c245f0edaa0e55e700bd1aea8a485f26239cb46ce1150eea122e843", + "sourceName": "contracts/modules/usd/USDTokenModule.sol", + "contractName": "USDTokenModule", + "deployedOn": "contract.USDTokenModule", + "gasUsed": 1110294, + "gasCost": "1035513275" + }, + "UtilsModule": { + "address": "0x3420753f6864118A5ED8c7f175543eB5471cC44f", + "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": "0xcbf2fa2f4bab844eeac9a14621ff629ae84f96a91979176472c6f3228b197015", + "sourceName": "contracts/modules/core/UtilsModule.sol", + "contractName": "UtilsModule", + "deployedOn": "contract.UtilsModule", + "gasUsed": 759709, + "gasCost": "1013919786" + }, + "VaultModule": { + "address": "0x0bA521f79DD2c669342be9A3ea44E97887b99728", + "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": "0xc6b530c2eea48b0504d95645f837fdf6a174020f285487881453c09f2c71b0c4", + "sourceName": "contracts/modules/core/VaultModule.sol", + "contractName": "VaultModule", + "deployedOn": "contract.VaultModule", + "gasUsed": 3541151, + "gasCost": "949608803" + }, + "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": "", - "sourceName": "src/TrustedMulticallForwarder.sol", - "contractName": "TrustedMulticallForwarder", - "deployedOn": "contract.TrustedMulticallForwarder", + "sourceName": "contracts/modules/InitialModuleBundle.sol", + "contractName": "InitialModuleBundle", + "deployedOn": "contract.InitialModuleBundle", "gasUsed": 0, "gasCost": "0" + }, + "InitialCoreProxy": { + "address": "0x8715b7eaDC55DF39F0D7bd8D5Ae44BaD4A7a0a8f", + "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", + "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + ], + "linkedLibraries": {}, + "deployTxnHash": "0xdfe76d836ab7b21d337f3ec8472402e8f6c23f0dc2924093b6452ac4602db8b3", + "sourceName": "contracts/Proxy.sol", + "contractName": "Proxy", + "deployedOn": "contract.InitialCoreProxy", + "gasUsed": 185358, + "gasCost": "978908043" + }, + "AccountRouter": { + "address": "0xe609b0f185b380828737dfa9de675131d616b1e7", + "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": "0xbb7b0b73d3351455c640b7aec2556f49b38f3e6d5d2c4bc8349969029d397d4b", + "contractName": "AccountRouter", + "sourceName": "AccountRouter.sol", + "gasUsed": 403592, + "gasCost": "1019880086" + }, + "CoreRouter": { + "address": "0x8b11fc5bb182f7f9fa8bd1ac4455cc3a6db12341", + "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": "0x0b0ccd205d0cd9aa199a5947f03d9c4b7ad46fc034e8e48eee5fde88444569af", + "contractName": "CoreRouter", + "sourceName": "CoreRouter.sol", + "gasUsed": 1290201, + "gasCost": "997515600" + }, + "USDRouter": { + "address": "0xe11195eacbf94327a2acd9e448a4592632e4c958", + "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": "0x31d8b5d0f5b21757413ea39eba499beb8d89682712fb6a9674853b88683c3922", + "contractName": "USDRouter", + "sourceName": "USDRouter.sol", + "gasUsed": 395159, + "gasCost": "1100297268" + }, + "CoreProxy": { + "address": "0x8715b7eaDC55DF39F0D7bd8D5Ae44BaD4A7a0a8f", + "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": "0xCb5D8fE2B4AfbedB1970CCDc2f2e2919a6114240", + "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": "0xF87E23c41Ce898Ab7640FC3Ce2eb8B11f257e67a", + "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": { + "trusted_multicall_forwarder": { + "url": "ipfs://QmZvyrG1A2kxn7qrrgMoyx4S7Xncz3T9Cj7qujx1N74kzZ", + "tags": [ + "latest" + ], + "target": "trusted-multicall-forwarder:latest@with-synthetix", + "preset": "with-synthetix", + "settings": { + "salt": "salt" + }, + "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" + } + }, + "extras": { + "salt": "salt" + } + }, + "oracle_manager": { + "url": "ipfs://QmUvYkrmzLT5mKHftsppEbrCc9w8dYVEwssgSseBmknigY", + "tags": [ + "latest" + ], + "target": "oracle-manager:3.3.15@with-synthetix", + "preset": "with-synthetix", + "contracts": { + "NodeModule": { + "address": "0xA8d7576690489624382BDdB5d7D9d3bD8D4CdD0b", + "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": "0x5d4b03edeb3dd710a7cbe5e38df09806cf526c746832811dae41582792531414", + "sourceName": "contracts/modules/NodeModule.sol", + "contractName": "NodeModule", + "deployedOn": "contract.NodeModule", + "gasUsed": 4094153, + "gasCost": "976941814" + }, + "CoreModule": { + "address": "0xf3b78D43A79737bcbF3b7E2b4Ae1CA660cBE7bc2", + "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": "0xa34db8a98d9313f7989457122c8b2f6e9aba9756705449f6d196bf601794ce38", + "sourceName": "contracts/modules/CoreModule.sol", + "contractName": "CoreModule", + "deployedOn": "contract.CoreModule", + "gasUsed": 942585, + "gasCost": "1014969818" + }, + "InitialProxy": { + "address": "0xA86DcB6f02a0AFEc5b66Ad7112ACd3bcbbdF98ca", + "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": [ + "0xf3b78D43A79737bcbF3b7E2b4Ae1CA660cBE7bc2", + "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + ], + "linkedLibraries": {}, + "deployTxnHash": "0x4afac678da89afc3530f1b5294aea5a0e36f3f207adc8910ff7fffb3301c822b", + "sourceName": "contracts/Proxy.sol", + "contractName": "Proxy", + "deployedOn": "contract.InitialProxy", + "gasUsed": 249407, + "gasCost": "986015917" + }, + "OracleRouter": { + "address": "0x8848a58230ea553d8ddfe00eb3f1cd9a42494e55", + "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": "0x342fe5d08f174bfc7f020359d9f6cc9974cfcb434b81a97e18e6e6504a42953c", + "contractName": "OracleRouter", + "sourceName": "OracleRouter.sol", + "gasUsed": 243132, + "gasCost": "978728328" + }, + "Proxy": { + "address": "0xA86DcB6f02a0AFEc5b66Ad7112ACd3bcbbdF98ca", + "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://QmXDirpQp1KtJucQfv8rF5Ubdq3oGUx5Bk5Z5pTGkqRoEk", + "tags": [ + "latest" + ], + "target": "trusted-multicall-forwarder:latest@with-oracle-manager", + "preset": "with-oracle-manager", + "settings": { + "salt": "salt" + }, + "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" + } + }, + "extras": { + "salt": "salt" + } + } + }, + "settings": { + "owner": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "salt": "oracle-manager-official" + }, + "txns": { + "upgrade_proxy": { + "hash": "0x91e2ebd7572979158e0b951fc6792ee406a1d252cc88f4b1102dc947ef93c568", + "events": { + "Upgraded": [ + { + "name": "Upgraded", + "args": [ + "0xA86DcB6f02a0AFEc5b66Ad7112ACd3bcbbdF98ca", + "0x8848A58230eA553d8ddFE00EB3F1cd9A42494e55" + ] + } + ] + }, + "deployedOn": "invoke.upgrade_proxy", + "gasUsed": 51933, + "gasCost": "973839441", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + } + }, + "extras": { + "owner": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "salt": "oracle-manager-official" + } + } + }, + "settings": { + "bundleSalt": "main", + "oracle_manager_source": "oracle-manager:3.3.15", + "owner": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "salt": "main", + "const_one_oracle_id": "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733" + }, + "txns": { + "register_const_one_oracle": { + "hash": "0xd62944ccc94d429dc4fe5628b22cdc7c3dcde1d3c669bfa9b3a90389fbbe4ddd", + "events": { + "NodeRegistered": [ + { + "name": "NodeRegistered", + "args": [ + "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733", + 8, + "0x0000000000000000000000000000000000000000000000000de0b6b3a7640000", + [] + ] + } + ] + }, + "deployedOn": "invoke.register_const_one_oracle", + "gasUsed": 108479, + "gasCost": "922529803", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "upgrade_core_proxy": { + "hash": "0x8fe74fef92ca27bd35f53a66aeab338e865bc6aa298c6bbf95e829b50e87f66c", + "events": { + "Upgraded": [ + { + "name": "Upgraded", + "args": [ + "0x8715b7eaDC55DF39F0D7bd8D5Ae44BaD4A7a0a8f", + "0x8B11FC5BB182F7f9fa8BD1AC4455Cc3A6DB12341" + ] + } + ] + }, + "deployedOn": "invoke.upgrade_core_proxy", + "gasUsed": 47483, + "gasCost": "1116869325", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_burnUsd": { + "hash": "0x003ddab4c759e8dc1a519d8f54410501bf7169ec4098e76aa180ab321fac7fa2", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6275726e55736400000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_burnUsd", + "gasUsed": 56949, + "gasCost": "1117962692", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_claimRewards": { + "hash": "0x0f09fa5c086f87dad5321456133b7f0c2606b6fadcae50cac30b3a8bfb863a8c", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x636c61696d526577617264730000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_claimRewards", + "gasUsed": 57009, + "gasCost": "1081589799", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_createAccount": { + "hash": "0x6f14eb969a65aa396b120ac9f08f61ad7d33ca3657e66ac7fd7b34b0c133f39d", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6372656174654163636f756e7400000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_createAccount", + "gasUsed": 57021, + "gasCost": "1189291565", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_delegateCollateral": { + "hash": "0x0ea4abbbbb3b4105265e293591406c26f856dcec1d53727e92dc10184a6c05f1", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x64656c6567617465436f6c6c61746572616c0000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_delegateCollateral", + "gasUsed": 57081, + "gasCost": "1145067438", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_deposit": { + "hash": "0x08f253c06dcf0c639b5e85e550f4dd04fd0048cfdfac2eaf7374670dc1c417e5", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6465706f73697400000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_deposit", + "gasUsed": 56949, + "gasCost": "1099485069", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_depositMarketCollateral": { + "hash": "0xec84cad5f5012014983200e209710427845aba82697ab02c2dc096454af91eae", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6465706f7369744d61726b6574436f6c6c61746572616c000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_depositMarketCollateral", + "gasUsed": 57141, + "gasCost": "1050556709", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_depositMarketUsd": { + "hash": "0x7583ac467a1407fe715de3fa3aff6cad86054df512b43dbb332f29b2ceb7f342", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6465706f7369744d61726b657455736400000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_depositMarketUsd", + "gasUsed": 57057, + "gasCost": "997930950", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_liquidate": { + "hash": "0x1fc453ee93e2ddbc8edbdd81563df11f57ade9a18c65aa907801ccc7134a784b", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6c69717569646174650000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_liquidate", + "gasUsed": 56973, + "gasCost": "1064136427", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_liquidateVault": { + "hash": "0xc4e850fc6a725150be5c76506408f6334d0cbdf56ae7b31fffa2904605167664", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6c69717569646174655661756c74000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_liquidateVault", + "gasUsed": 57033, + "gasCost": "1013537198", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_mintUsd": { + "hash": "0x266f89530ac6b3b675a7fe51165dc574f640fd54edc531b400898888623840f3", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6d696e7455736400000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_mintUsd", + "gasUsed": 56949, + "gasCost": "977776751", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_withdraw": { + "hash": "0xab1a7424ebbbf36a928f31ddcff86f34f5a65b84e2591a6a07accc05a70e4c2d", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x7769746864726177000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_withdraw", + "gasUsed": 56961, + "gasCost": "1025829153", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_withdrawMarketCollateral": { + "hash": "0x8b454b4aaff7f2d239acee0bdc9c91599eb7386b9dfefeeaba329933039fb864", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x77697468647261774d61726b6574436f6c6c61746572616c0000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_withdrawMarketCollateral", + "gasUsed": 57153, + "gasCost": "993756197", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_withdrawMarketUsd": { + "hash": "0xc560108ce9e942bfd2b466717e3b7cbd60fb56aaf29bf0da9b72b9975ae94f01", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x77697468647261774d61726b6574557364000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_withdrawMarketUsd", + "gasUsed": 57069, + "gasCost": "960143044", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "init_account": { + "hash": "0x0a12c8cb3ea6b7a581f341003d35023331bd81498daed3b7e3dd92b794602209", + "events": { + "AssociatedSystemSet": [ + { + "name": "AssociatedSystemSet", + "args": [ + "0x6572633732310000000000000000000000000000000000000000000000000000", + "0x6163636f756e744e667400000000000000000000000000000000000000000000", + "0xCb5D8fE2B4AfbedB1970CCDc2f2e2919a6114240", + "0xE609b0f185B380828737dfA9De675131d616b1E7" + ] + } + ] + }, + "deployedOn": "invoke.init_account", + "gasUsed": 354887, + "gasCost": "982695521", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "init_usd": { + "hash": "0xe35f140b18c1b5ae06f846675667779f785cae11f1ce256a93a3319d0b9be3ff", + "events": { + "AssociatedSystemSet": [ + { + "name": "AssociatedSystemSet", + "args": [ + "0x6572633230000000000000000000000000000000000000000000000000000000", + "0x555344546f6b656e000000000000000000000000000000000000000000000000", + "0xF87E23c41Ce898Ab7640FC3Ce2eb8B11f257e67a", + "0xe11195EAcbF94327a2aCd9e448a4592632E4c958" + ] + } + ] + }, + "deployedOn": "invoke.init_usd", + "gasUsed": 327328, + "gasCost": "980449151", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "set_oracle_manager": { + "hash": "0x3efc31a65f2fc3d3670e57d8b0ee8bac01f5aca89a84ea10fd168c1aebb4c712", + "events": {}, + "deployedOn": "invoke.set_oracle_manager", + "gasUsed": 54810, + "gasCost": "979601782", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "configure_usd_collateral": { + "hash": "0x04a6171d1780f588f946d7d0a9441bb20adf358dfb2b8bdd7bdc6fe82cd18f3b", + "events": { + "CollateralConfigured": [ + { + "name": "CollateralConfigured", + "args": [ + "0xF87E23c41Ce898Ab7640FC3Ce2eb8B11f257e67a", + { + "depositingEnabled": true, + "issuanceRatioD18": "10000000000000000000", + "liquidationRatioD18": "10000000000000000000", + "liquidationRewardD18": "0", + "oracleNodeId": "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733", + "tokenAddress": "0xF87E23c41Ce898Ab7640FC3Ce2eb8B11f257e67a", + "minDelegationD18": "115792089237316195423570985008687907853269984665640564039457584007913129639935" + } + ] + } + ] + }, + "deployedOn": "invoke.configure_usd_collateral", + "gasUsed": 240627, + "gasCost": "1006144889", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" } + }, + "extras": { + "bundleSalt": "main", + "oracle_manager_source": "oracle-manager:3.3.15", + "owner": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "salt": "main", + "const_one_oracle_id": "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733" } } }, "txns": { - "upgrade_core_proxy": { - "hash": "0x382da155a8966129f0e221cd656c90f58353fc0c18963acff3c4fd0f794c31a3", + "setFeatureFlagPool": { + "hash": "0x3380b95b9e87c9542ce32affe199ff467761714eee66a6a47e4df5fd2ecdd5e6", + "events": {}, + "deployedOn": "invoke.setFeatureFlagPool", + "gasUsed": 35382, + "gasCost": "1024363105", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "upgradeProxy": { + "hash": "0xaa742e53f664e86fa8bab846597ff0c510d05bbed548dc99e258eba65fc358d2", "events": { "Upgraded": [ { "name": "Upgraded", "args": [ - "0xDAA5A8bFDEBcA03cCAF0d5285265A7d7Fbb42e15", - "0x0f9A59c985B28fb98f63380566e4e07800246689" + "0x94c53500d38f95dEea37Bada599d54D8DabEF776", + "0xD95bC33655D4367a474aeFD2F42afeaC214309Dd" ] } ] }, - "deployedOn": "invoke.upgrade_core_proxy", - "gasUsed": 51138, - "gasCost": "1756588805", + "deployedOn": "invoke.upgradeProxy", + "gasUsed": 47488, + "gasCost": "980056546", "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" }, - "init_council_token": { - "hash": "0x03fd6da58e2c9b78e25a323fcfdb484b907fb504ec6090747d7e401105902eeb", + "associate": { + "hash": "0x4dc94daafd912752f9437e5ba4c597846462671aa05449c3e94252b2dcd8bf4c", "events": { - "AssociatedSystemSet": [ + "AddressImported": [ { - "name": "AssociatedSystemSet", + "name": "AddressImported", "args": [ - "0x6572633732310000000000000000000000000000000000000000000000000000", - "0x636f756e63696c546f6b656e0000000000000000000000000000000000000000", - "0x4feeC0B35b395feD7BC662ee32D185B194Ea9BD6", - "0xBc55541e23c5458Bfc625dd331EBa6C756e30290" + "0x4c65676163794d61726b65740000000000000000000000000000000000000000", + "0x94c53500d38f95dEea37Bada599d54D8DabEF776" ] } ] }, - "deployedOn": "invoke.init_council_token", - "gasUsed": 355145, - "gasCost": "5506014443", + "deployedOn": "invoke.associate", + "gasUsed": 48861, + "gasCost": "1066642677", "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" }, - "init_election_module": { - "hash": "0x43df77b063d9456a8a3d978a4b03287635a8d4afdacff5bff408596229524306", + "authorizedBroker": { + "hash": "0x64542fea567ee97227b0acde182eb5eaabdc41589c6afd145b504512862fab8a", "events": { - "Transfer": [ + "ChangeAuthorizedBroker": [ { - "name": "Transfer", + "name": "ChangeAuthorizedBroker", "args": [ - "0x0000000000000000000000000000000000000000", - "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", - { - "type": "BigNumber", - "hex": "0x48914229dedd5a9922f44441ffccfc2cb7856ee9" - } + "0x94c53500d38f95dEea37Bada599d54D8DabEF776", + true ] } - ], - "CouncilMemberAdded": [ + ] + }, + "deployedOn": "invoke.authorizedBroker", + "gasUsed": 47570, + "gasCost": "1038418518", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "setFeatureFlagAssociateDebt": { + "hash": "0xf3b8c7d70757ac1b9bd67ebc769ab6ff9f9ca3a741c872f9e4c0c4d9f7315667", + "events": { + "FeatureFlagAllowlistAdded": [ { - "name": "CouncilMemberAdded", + "name": "FeatureFlagAllowlistAdded", "args": [ - "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", - { - "type": "BigNumber", - "hex": "0x00" - } + "0x6173736f63696174654465627400000000000000000000000000000000000000", + "0x94c53500d38f95dEea37Bada599d54D8DabEF776" ] } - ], - "ElectionModuleInitialized": [ + ] + }, + "deployedOn": "invoke.setFeatureFlagAssociateDebt", + "gasUsed": 101609, + "gasCost": "1167074588", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "setFeatureFlagMarket": { + "hash": "0x535eea053e943e4aa23bdcb2fb4ab406a4437705dbbcae646c49674bda81f250", + "events": { + "FeatureFlagAllowlistAdded": [ { - "name": "ElectionModuleInitialized", - "args": [] + "name": "FeatureFlagAllowlistAdded", + "args": [ + "0x72656769737465724d61726b6574000000000000000000000000000000000000", + "0x94c53500d38f95dEea37Bada599d54D8DabEF776" + ] } - ], - "EpochStarted": [ + ] + }, + "deployedOn": "invoke.setFeatureFlagMarket", + "gasUsed": 101621, + "gasCost": "1233099924", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "setSystemAddresses": { + "hash": "0x5cbcdbcd91510ab936a71e8613049670830f81fd4c4d65d8224db5075d9e3c69", + "events": {}, + "deployedOn": "invoke.setSystemAddresses", + "gasUsed": 155087, + "gasCost": "1174491134", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "registerMarket": { + "hash": "0xde733988a1a291ad03498129652e11e422698ecfce3a3698f0ac3248ed583aae", + "events": { + "MarketRegistered": [ { - "name": "EpochStarted", + "name": "MarketRegistered", "args": [ - { - "type": "BigNumber", - "hex": "0x00" - } + "0x94c53500d38f95dEea37Bada599d54D8DabEF776", + "1", + "0x94c53500d38f95dEea37Bada599d54D8DabEF776" ] } ] }, - "deployedOn": "invoke.init_election_module", - "gasUsed": 393066, - "gasCost": "5362027939", + "deployedOn": "invoke.registerMarket", + "gasUsed": 212989, + "gasCost": "1184824585", "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" } }, - "extras": {} + "extras": { + "market_id": "1", + "owner": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "pool_owner": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "sc_pool_id": "1", + "v2x_package": "synthetix:2.100.0", + "v3_package": "synthetix:3.3.15", + "marketId": "1" + } } } }, - "hash": "5b6fdec69d153a62db53d49cb2309e9c", - "version": 6 + "hash": null, + "version": 7 }, - "provision.treasury_council": { + "provision.spotFactory": { "artifacts": { "imports": { - "treasury_council": { - "url": "ipfs://QmPSXnVvHpXbJBvfms8HPfCJ3MVMonWDK9CtoHiYhn5PWy", + "spotFactory": { + "url": "ipfs://QmRBqPghxFx4TYKZDzx95XNxJhWzF1Xm5yAzQu9GmPKkAf", "tags": [ "latest" ], - "preset": "with-synthetix-omnibus", + "target": "synthetix-spot-market:3.3.15@main", + "preset": "main", "contracts": { - "AssociatedSystemsModule": { - "address": "0x215e5E2621C900ddF612321FD9f2a4B434288B43", - "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": "0xbe3cffa404c259c28c7d7af1d8bdc2ca6ba251a3b6f0c28a7d3aee9925cd6c75", - "sourceName": "contracts/modules/core/AssociatedSystemsModule.sol", - "contractName": "AssociatedSystemsModule", - "deployedOn": "contract.AssociatedSystemsModule", - "gasUsed": 877177, - "gasCost": "5441255904" - }, - "CcipReceiverModule": { - "address": "0x48dDEEFaBF4DcC6CB459Cb887AaD7ec9a1E5461c", - "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": "0xd1b118e287cb1e04a9d406128337f3add0c93fc238890c140fe742f89ed32dd8", - "sourceName": "contracts/modules/core/CcipReceiverModule.sol", - "contractName": "CcipReceiverModule", - "deployedOn": "contract.CcipReceiverModule", - "gasUsed": 494281, - "gasCost": "5366831008" - }, - "CouncilTokenModule": { - "address": "0x9c1f3997918472ba11141e03E1f637D7a5e6533F", + "AsyncOrderConfigurationModule": { + "address": "0xE091A7351175e576c3E7689caF671AC970Da9aDc", "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 NotImplemented()", - "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)" + "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": "0xdbea05fd60d643bdce3ab7160abfecb8f1a9d26e9f96e7eec03c0beaa44fd245", - "sourceName": "contracts/modules/council-nft/CouncilTokenModule.sol", - "contractName": "CouncilTokenModule", - "deployedOn": "contract.CouncilTokenModule", - "gasUsed": 1669255, - "gasCost": "5353943622" + "deployTxnHash": "0x0316030201809ef7697ce79e0b4ed10e48f55fd6265e66a318eb962430f3b693", + "sourceName": "contracts/modules/AsyncOrderConfigurationModule.sol", + "contractName": "AsyncOrderConfigurationModule", + "deployedOn": "contract.AsyncOrderConfigurationModule", + "gasUsed": 896430, + "gasCost": "1118622411" }, - "CrossChainModule": { - "address": "0xdFe7745e2411610a68381E6337e30fe65EF54c06", + "AsyncOrderModule": { + "address": "0xff1c97255071F6C3f980d56Ba81e49F00aBB29b5", "abi": [ - "error InvalidParameter(string parameter, string reason)", - "error OverflowUint256ToUint64()", - "error Unauthorized(address addr)", - "error ValueAlreadyInSet()", - "event NewSupportedCrossChainNetwork(uint64 newChainId)", - "function configureChainlinkCrossChain(address ccipRouter)", - "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)" + "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": "0x2ce313f406a0e4d3c362ae4ba2518b2ec09c7d20d5c71d4a20b836beb1f004a7", - "sourceName": "contracts/modules/core/CrossChainModule.sol", - "contractName": "CrossChainModule", - "deployedOn": "contract.CrossChainModule", - "gasUsed": 433366, - "gasCost": "5549325265" + "deployTxnHash": "0xd0d326ff7c8dd47ff56563009ac13fb47456f564739ddcb2b1c6f4bea3605b5f", + "sourceName": "contracts/modules/AsyncOrderModule.sol", + "contractName": "AsyncOrderModule", + "deployedOn": "contract.AsyncOrderModule", + "gasUsed": 1317254, + "gasCost": "1041490402" }, - "ElectionInspectorModule": { - "address": "0xd9De30f0AEe46602aad126e1D61cC1a9F8fF04a8", + "AsyncOrderSettlementModule": { + "address": "0x82Cf394d6A250C0A94c775aE6F51774d1217E8ae", "abi": [ - "function getCandidateVotesInEpoch(address candidate, uint256 epochIndex) view returns (uint256)", - "function getElectionWinnersInEpoch(uint256 epochIndex) view returns (address[])", - "function getEpochEndDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getEpochStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNominationPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNomineesAtEpoch(uint256 epochIndex) view returns (address[])", - "function getVotingPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function hasVotedInEpoch(address user, uint256 chainId, uint256 epochIndex) view returns (bool)", - "function wasNominated(address candidate, uint256 epochIndex) view returns (bool)" + "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": "0xf7db9fdf0233c6c078e2724a1a447ad2fd3def213420edebc38103b74c625cc0", - "sourceName": "contracts/modules/core/ElectionInspectorModule.sol", - "contractName": "ElectionInspectorModule", - "deployedOn": "contract.ElectionInspectorModule", - "gasUsed": 348680, - "gasCost": "5548101336" + "deployTxnHash": "0x12e67fe9e1556b887ac069086965dc673e6ae50d69099971192b16b90fa7a279", + "sourceName": "contracts/modules/AsyncOrderSettlementModule.sol", + "contractName": "AsyncOrderSettlementModule", + "deployedOn": "contract.AsyncOrderSettlementModule", + "gasUsed": 1963690, + "gasCost": "1066832971" }, - "ElectionModule": { - "address": "0xE8c08109573B5D756375e66EFdba3abd78091393", + "AtomicOrderModule": { + "address": "0xD03212270B11D7CD0A12167a236efaDc4d858bdD", "abi": [ - "error AlreadyACouncilMember()", - "error AlreadyNominated()", - "error ChangesCurrentPeriod()", - "error DuplicateCandidates(address duplicatedCandidate)", - "error ElectionAlreadyEvaluated()", - "error ElectionNotEvaluated()", - "error EmptyArray()", - "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", - "error InvalidBallot()", - "error InvalidElectionSettings()", - "error InvalidEpochConfiguration(uint256 code, uint64 v1, uint64 v2)", - "error InvalidParameter(string parameter, string reason)", - "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", - "error NoCandidates()", - "error NoVotingPower(address sender, uint256 currentEpoch)", - "error NotACouncilMember()", - "error NotCallableInCurrentPeriod()", - "error NotImplemented()", - "error NotNominated()", - "error OverflowUint256ToUint64()", - "error PositionOutOfBounds()", - "error TooManyMembers()", - "error Unauthorized(address addr)", - "error ValueAlreadyInSet()", - "error ValueNotInSet()", - "event CandidateNominated(address indexed candidate, uint256 indexed epochId)", - "event CouncilMemberAdded(address indexed member, uint256 indexed epochIndex)", - "event CouncilMemberRemoved(address indexed member, uint256 indexed epochIndex)", - "event CouncilMembersDismissed(address[] dismissedMembers, uint256 epochId)", - "event ElectionBatchEvaluated(uint256 indexed epochId, uint256 numEvaluatedBallots, uint256 totalBallots)", - "event ElectionEvaluated(uint256 indexed epochId, uint256 ballotCount)", - "event ElectionModuleInitialized()", - "event EmergencyElectionStarted(uint256 indexed epochId)", - "event EpochScheduleUpdated(uint64 indexed epochId, uint64 startDate, uint64 endDate)", - "event EpochStarted(uint256 indexed epochId)", - "event NominationWithdrawn(address indexed candidate, uint256 indexed epochId)", - "event VoteRecorded(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, uint256 votingPower, address[] candidates)", - "event VoteWithdrawn(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, address[] candidates)", - "function _recvCast(uint256 epochIndex, address voter, uint256 votingPower, uint256 chainId, address[] candidates, uint256[] amounts)", - "function _recvDismissMembers(address[] membersToDismiss, uint256 epochIndex)", - "function _recvResolve(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function _recvTweakEpochSchedule(uint256 epochIndex, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate)", - "function _recvWithdrawVote(uint256 epochIndex, address voter, uint256 chainId, address[] candidates)", - "function cast(address[] candidates, uint256[] amounts) payable", - "function dismissMembers(address[] membersToDismiss) payable", - "function evaluate(uint256 numBallots)", - "function getBallot(address voter, uint256 chainId, uint256 electionId) pure returns (tuple(uint256 votingPower, address[] votedCandidates, uint256[] amounts))", - "function getBallotCandidates(address voter, uint256 chainId, uint256 electionId) view returns (address[])", - "function getCandidateVotes(address candidate) view returns (uint256)", - "function getCouncilMembers() view returns (address[])", - "function getCouncilToken() view returns (address)", - "function getCurrentPeriod() view returns (uint256)", - "function getElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getElectionWinners() view returns (address[])", - "function getEpochIndex() view returns (uint256)", - "function getEpochSchedule() view returns (tuple(uint64 startDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 endDate) epoch)", - "function getNextElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getNominees() view returns (address[])", - "function getVotePower(address user, uint256 chainId, uint256 electionId) view returns (uint256)", - "function hasVoted(address user, uint256 chainId) view returns (bool)", - "function initElectionModuleSatellite(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function initElectionModuleSatellite() payable", - "function initOrUpdateElectionSettings(address[] initialCouncil, uint8 minimumActiveMembers, uint64 initialNominationPeriodStartDate, uint64 administrationPeriodDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration)", - "function isElectionEvaluated() view returns (bool)", - "function isElectionModuleInitialized() view returns (bool)", - "function isNominated(address candidate) view returns (bool)", - "function nominate()", - "function resolve() payable", - "function setNextElectionSettings(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance)", - "function tweakEpochSchedule(uint64 newNominationPeriodStartDate, uint64 newVotingPeriodStartDate, uint64 newEpochEndDate)", - "function withdrawNomination()", - "function withdrawVote(address[] candidates) payable" + "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": "0xff86f15465657c89892b3d0b5a04e2390a29c1ad847881c7b24e3e119c848180", - "sourceName": "contracts/modules/core/ElectionModule.sol", - "contractName": "ElectionModule", - "deployedOn": "contract.ElectionModule", - "gasUsed": 3998177, - "gasCost": "1741713823" + "deployTxnHash": "0x06eb3ca94e7a800d1bd8dc0c9802218d34c9dab24e73d1921f3dd9bda869c38b", + "sourceName": "contracts/modules/AtomicOrderModule.sol", + "contractName": "AtomicOrderModule", + "deployedOn": "contract.AtomicOrderModule", + "gasUsed": 2090754, + "gasCost": "1048887496" }, - "InitialModuleBundle": { - "address": "0x8a0221CabE12b3C8BA33ab13397dDC575DA1CcC1", + "CoreModule": { + "address": "0xf7b6f25ED860125a315d642BAF925eACB001A0FC", "abi": [ "error ImplementationIsSterile(address implementation)", "error NoChange()", @@ -5862,41 +9598,213 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "", - "sourceName": "contracts/modules/core/InitialModuleBundle.sol", - "contractName": "InitialModuleBundle", - "deployedOn": "contract.InitialModuleBundle", - "gasUsed": 0, - "gasCost": "0" + "deployTxnHash": "0xe32c55d4c380474f6ab8b84db8653d5e1d3adc1cffd0e7e7038c6019fe2608da", + "sourceName": "contracts/modules/CoreModule.sol", + "contractName": "CoreModule", + "deployedOn": "contract.CoreModule", + "gasUsed": 940287, + "gasCost": "1062045394" }, - "SnapshotVotePowerModule": { - "address": "0xd903A34c581494d7e2D04e982Bd29fCb32CEF00A", + "FeatureFlagModule": { + "address": "0x9CE23Abf52ac2EFd063722a495ac38437aaF3502", "abi": [ - "error BallotAlreadyPrepared(address voter, uint256 electionId)", - "error InvalidSnapshotContract()", - "error NoPower(uint256, address)", - "error NotCallableInCurrentPeriod()", - "error OverflowUint256ToUint128()", - "error OverflowUint256ToUint64()", - "error SnapshotAlreadyTaken(uint128 snapshotId)", - "error SnapshotNotTaken(address snapshotContract, uint128 electionId)", "error Unauthorized(address addr)", - "function getVotePowerSnapshotId(address snapshotContract, uint128 electionId) view returns (uint128)", - "function prepareBallotWithSnapshot(address snapshotContract, address voter) returns (uint256 power)", - "function setSnapshotContract(address snapshotContract, bool enabled)", - "function takeVotePowerSnapshot(address snapshotContract) returns (uint128 snapshotId)" + "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": "0x58313bd198d1892c2c310cb596169f91e48e8c880d28f0a58633874f6a55cb29", + "sourceName": "contracts/modules/FeatureFlagModule.sol", + "contractName": "FeatureFlagModule", + "deployedOn": "contract.FeatureFlagModule", + "gasUsed": 765178, + "gasCost": "1052182835" + }, + "MarketConfigurationModule": { + "address": "0x469980b51244C8649DD62162748700591d768125", + "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": "0xd661c14a85edd75b677ccf5a120cf7b997d0a1664112ef1d86dba330dffcd3df", + "sourceName": "contracts/modules/MarketConfigurationModule.sol", + "contractName": "MarketConfigurationModule", + "deployedOn": "contract.MarketConfigurationModule", + "gasUsed": 720683, + "gasCost": "988479403" + }, + "SpotMarketFactoryModule": { + "address": "0x1df2F5962592f544F1bFdFa93ffEE069727d8DA3", + "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": "0xbbee54000601ba3b259d794fb9009570344a669ad6f46ec6874238cc750ea45b", - "sourceName": "contracts/modules/core/SnapshotVotePowerModule.sol", - "contractName": "SnapshotVotePowerModule", - "deployedOn": "contract.SnapshotVotePowerModule", - "gasUsed": 654596, - "gasCost": "5930410858" + "deployTxnHash": "0xa3a4f73c97b34534a5c0e887905a00642ba5055c047173ce39e574c37da3b9e8", + "sourceName": "contracts/modules/SpotMarketFactoryModule.sol", + "contractName": "SpotMarketFactoryModule", + "deployedOn": "contract.SpotMarketFactoryModule", + "gasUsed": 2278644, + "gasCost": "1101569952" }, - "InitialProxy": { - "address": "0x01fa5A659Da52Fa0AE26bc60698B2760B745d910", + "SynthTokenModule": { + "address": "0x63B88cf97F4df8bdEa5f501d5b68B68ED523314e", + "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": "0x4b0d40cfcbfb9b83cde0c1033ce6e6c4a2ebbc4c1f8fc800da0795742252bb83", + "sourceName": "contracts/modules/token/SynthTokenModule.sol", + "contractName": "SynthTokenModule", + "deployedOn": "contract.SynthTokenModule", + "gasUsed": 1207447, + "gasCost": "1078305624" + }, + "WrapperModule": { + "address": "0x5A201f7f8Fa97F7979dE232Aac254Be65FB301a6", + "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": "0xd0b9e25e792e2363f04393e78c5754938e19bde52b066795b2349ec6edb9e998", + "sourceName": "contracts/modules/WrapperModule.sol", + "contractName": "WrapperModule", + "deployedOn": "contract.WrapperModule", + "gasUsed": 1684906, + "gasCost": "1075000287" + }, + "InitialSpotMarketProxy": { + "address": "0xdBE114Ef3054Ad9Ed2A3b6beee538433f72BAfc2", "abi": [ "error ImplementationIsSterile(address implementation)", "error NoChange()", @@ -5918,124 +9826,195 @@ "function upgradeTo(address newImplementation)" ], "constructorArgs": [ - "0x8a0221CabE12b3C8BA33ab13397dDC575DA1CcC1", + "0xf7b6f25ED860125a315d642BAF925eACB001A0FC", "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" ], "linkedLibraries": {}, - "deployTxnHash": "0xaa7cab71b9e443996a0335436514088a9ec3b07ca0e541109da317240fcf1c43", + "deployTxnHash": "0xbd25f6af1a949a6aa6e70bd0529608ebb5d1f48d57a2eef3aa52c036b2c7eac7", "sourceName": "contracts/Proxy.sol", "contractName": "Proxy", - "deployedOn": "contract.InitialProxy", - "gasUsed": 185358, - "gasCost": "5738016371" + "deployedOn": "contract.InitialSpotMarketProxy", + "gasUsed": 248149, + "gasCost": "996572681" }, - "CoreRouter": { - "address": "0xC3f3cDce2396F693bcBEf25795122ce60DBf4157", + "SpotMarketRouter": { + "address": "0x60de21e4033c54c5c3a4fc995d24469b6445bb1b", "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 Unauthorized(address addr)", + "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)", - "error InvalidParameter(string parameter, string reason)", + "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()", - "event NewSupportedCrossChainNetwork(uint64 newChainId)", - "function configureChainlinkCrossChain(address ccipRouter)", - "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)", - "function getCandidateVotesInEpoch(address candidate, uint256 epochIndex) view returns (uint256)", - "function getElectionWinnersInEpoch(uint256 epochIndex) view returns (address[])", - "function getEpochEndDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getEpochStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNominationPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNomineesAtEpoch(uint256 epochIndex) view returns (address[])", - "function getVotingPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function hasVotedInEpoch(address user, uint256 chainId, uint256 epochIndex) view returns (bool)", - "function wasNominated(address candidate, uint256 epochIndex) view returns (bool)", - "error AlreadyACouncilMember()", - "error AlreadyNominated()", - "error ChangesCurrentPeriod()", - "error DuplicateCandidates(address duplicatedCandidate)", - "error ElectionAlreadyEvaluated()", - "error ElectionNotEvaluated()", - "error EmptyArray()", - "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", - "error InvalidBallot()", - "error InvalidElectionSettings()", - "error InvalidEpochConfiguration(uint256 code, uint64 v1, uint64 v2)", - "error NoCandidates()", - "error NoVotingPower(address sender, uint256 currentEpoch)", - "error NotACouncilMember()", - "error NotCallableInCurrentPeriod()", - "error NotImplemented()", - "error NotNominated()", - "error PositionOutOfBounds()", - "error TooManyMembers()", "error ValueNotInSet()", - "event CandidateNominated(address indexed candidate, uint256 indexed epochId)", - "event CouncilMemberAdded(address indexed member, uint256 indexed epochIndex)", - "event CouncilMemberRemoved(address indexed member, uint256 indexed epochIndex)", - "event CouncilMembersDismissed(address[] dismissedMembers, uint256 epochId)", - "event ElectionBatchEvaluated(uint256 indexed epochId, uint256 numEvaluatedBallots, uint256 totalBallots)", - "event ElectionEvaluated(uint256 indexed epochId, uint256 ballotCount)", - "event ElectionModuleInitialized()", - "event EmergencyElectionStarted(uint256 indexed epochId)", - "event EpochScheduleUpdated(uint64 indexed epochId, uint64 startDate, uint64 endDate)", - "event EpochStarted(uint256 indexed epochId)", - "event NominationWithdrawn(address indexed candidate, uint256 indexed epochId)", - "event VoteRecorded(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, uint256 votingPower, address[] candidates)", - "event VoteWithdrawn(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, address[] candidates)", - "function _recvCast(uint256 epochIndex, address voter, uint256 votingPower, uint256 chainId, address[] candidates, uint256[] amounts)", - "function _recvDismissMembers(address[] membersToDismiss, uint256 epochIndex)", - "function _recvResolve(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function _recvTweakEpochSchedule(uint256 epochIndex, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate)", - "function _recvWithdrawVote(uint256 epochIndex, address voter, uint256 chainId, address[] candidates)", - "function cast(address[] candidates, uint256[] amounts) payable", - "function dismissMembers(address[] membersToDismiss) payable", - "function evaluate(uint256 numBallots)", - "function getBallot(address voter, uint256 chainId, uint256 electionId) pure returns (tuple(uint256 votingPower, address[] votedCandidates, uint256[] amounts))", - "function getBallotCandidates(address voter, uint256 chainId, uint256 electionId) view returns (address[])", - "function getCandidateVotes(address candidate) view returns (uint256)", - "function getCouncilMembers() view returns (address[])", - "function getCouncilToken() view returns (address)", - "function getCurrentPeriod() view returns (uint256)", - "function getElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getElectionWinners() view returns (address[])", - "function getEpochIndex() view returns (uint256)", - "function getEpochSchedule() view returns (tuple(uint64 startDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 endDate) epoch)", - "function getNextElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getNominees() view returns (address[])", - "function getVotePower(address user, uint256 chainId, uint256 electionId) view returns (uint256)", - "function hasVoted(address user, uint256 chainId) view returns (bool)", - "function initElectionModuleSatellite(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function initElectionModuleSatellite() payable", - "function initOrUpdateElectionSettings(address[] initialCouncil, uint8 minimumActiveMembers, uint64 initialNominationPeriodStartDate, uint64 administrationPeriodDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration)", - "function isElectionEvaluated() view returns (bool)", - "function isElectionModuleInitialized() view returns (bool)", - "function isNominated(address candidate) view returns (bool)", - "function nominate()", - "function resolve() payable", - "function setNextElectionSettings(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance)", - "function tweakEpochSchedule(uint64 newNominationPeriodStartDate, uint64 newVotingPeriodStartDate, uint64 newEpochEndDate)", - "function withdrawNomination()", - "function withdrawVote(address[] candidates) payable", - "error BallotAlreadyPrepared(address voter, uint256 electionId)", - "error InvalidSnapshotContract()", - "error NoPower(uint256, address)", - "error OverflowUint256ToUint128()", - "error SnapshotAlreadyTaken(uint128 snapshotId)", - "error SnapshotNotTaken(address snapshotContract, uint128 electionId)", - "function getVotePowerSnapshotId(address snapshotContract, uint128 electionId) view returns (uint128)", - "function prepareBallotWithSnapshot(address snapshotContract, address voter) returns (uint256 power)", - "function setSnapshotContract(address snapshotContract, bool enabled)", - "function takeVotePowerSnapshot(address snapshotContract) returns (uint128 snapshotId)", + "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": "0xd8f7fda2f08ec6262f13963656650ee83308988b69e2c027b8cb45bafd971f22", + "contractName": "SpotMarketRouter", + "sourceName": "SpotMarketRouter.sol", + "gasUsed": 868550, + "gasCost": "1050504872" + }, + "SynthRouter": { + "address": "0xb59d0ecd1071e41922b612663021fb236785a76f", + "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)", @@ -6049,63 +10028,51 @@ "function renounceNomination()", "function simulateUpgradeTo(address newImplementation)", "function upgradeTo(address newImplementation)", - "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)" - ], - "deployedOn": "router.CoreRouter", - "deployTxnHash": "0x2ad84b90ab60618caa82b1cb1955e28599e7e361adb6ca98bc24fde42c726541", - "contractName": "CoreRouter", - "sourceName": "CoreRouter.sol", - "gasUsed": 682321, - "gasCost": "1739032442" - }, - "CouncilTokenRouter": { - "address": "0x92aF1f0D609BC51483Caea1eD3B65Fe96b6Ba513", - "abi": [ "error AlreadyInitialized()", - "error CannotSelfApprove(address addr)", - "error IndexOverrun(uint256 requestedIndex, uint256 length)", - "error InvalidOwner(address addr)", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InsufficientBalance(uint256 required, uint256 existing)", + "error InvalidDecayRate()", "error InvalidParameter(string parameter, string reason)", - "error InvalidTransferRecipient(address addr)", - "error NotImplemented()", - "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)", + "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 tokenId)", + "function mint(address to, uint256 amount)", "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 setAllowance(address from, address spender, uint256 amount)", + "function setDecayRate(uint256 _rate)", "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)", + "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": "0x6deca22e03cfe5f89a06b5fa3a9e2d9b6f5cce53c586b7d42b8d1d7c1edbad61", + "contractName": "SynthRouter", + "sourceName": "SynthRouter.sol", + "gasUsed": 378293, + "gasCost": "1063549188" + }, + "SpotMarketProxy": { + "address": "0xdBE114Ef3054Ad9Ed2A3b6beee538433f72BAfc2", + "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)", @@ -6116,470 +10083,3126 @@ "function owner() view returns (address)", "function renounceNomination()", "function simulateUpgradeTo(address newImplementation)", - "function upgradeTo(address newImplementation)" - ], - "deployedOn": "router.CouncilTokenRouter", - "deployTxnHash": "0xee6fb6bd3e47874c6e97618a32f1086a50f63b5f4850ba5ae1f2a352ff753939", - "contractName": "CouncilTokenRouter", - "sourceName": "CouncilTokenRouter.sol", - "gasUsed": 403584, - "gasCost": "6296126173" - }, - "CoreProxy": { - "address": "0x01fa5A659Da52Fa0AE26bc60698B2760B745d910", - "abi": [ + "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 Unauthorized(address addr)", + "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)", - "error InvalidParameter(string parameter, string reason)", + "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()", - "event NewSupportedCrossChainNetwork(uint64 newChainId)", - "function configureChainlinkCrossChain(address ccipRouter)", - "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)", - "function getCandidateVotesInEpoch(address candidate, uint256 epochIndex) view returns (uint256)", - "function getElectionWinnersInEpoch(uint256 epochIndex) view returns (address[])", - "function getEpochEndDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getEpochStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNominationPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function getNomineesAtEpoch(uint256 epochIndex) view returns (address[])", - "function getVotingPeriodStartDateForIndex(uint256 epochIndex) view returns (uint64)", - "function hasVotedInEpoch(address user, uint256 chainId, uint256 epochIndex) view returns (bool)", - "function wasNominated(address candidate, uint256 epochIndex) view returns (bool)", - "error AlreadyACouncilMember()", - "error AlreadyNominated()", - "error ChangesCurrentPeriod()", - "error DuplicateCandidates(address duplicatedCandidate)", - "error ElectionAlreadyEvaluated()", - "error ElectionNotEvaluated()", - "error EmptyArray()", - "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", - "error InvalidBallot()", - "error InvalidElectionSettings()", - "error InvalidEpochConfiguration(uint256 code, uint64 v1, uint64 v2)", - "error NoCandidates()", - "error NoVotingPower(address sender, uint256 currentEpoch)", - "error NotACouncilMember()", - "error NotCallableInCurrentPeriod()", - "error NotImplemented()", - "error NotNominated()", - "error PositionOutOfBounds()", - "error TooManyMembers()", "error ValueNotInSet()", - "event CandidateNominated(address indexed candidate, uint256 indexed epochId)", - "event CouncilMemberAdded(address indexed member, uint256 indexed epochIndex)", - "event CouncilMemberRemoved(address indexed member, uint256 indexed epochIndex)", - "event CouncilMembersDismissed(address[] dismissedMembers, uint256 epochId)", - "event ElectionBatchEvaluated(uint256 indexed epochId, uint256 numEvaluatedBallots, uint256 totalBallots)", - "event ElectionEvaluated(uint256 indexed epochId, uint256 ballotCount)", - "event ElectionModuleInitialized()", - "event EmergencyElectionStarted(uint256 indexed epochId)", - "event EpochScheduleUpdated(uint64 indexed epochId, uint64 startDate, uint64 endDate)", - "event EpochStarted(uint256 indexed epochId)", - "event NominationWithdrawn(address indexed candidate, uint256 indexed epochId)", - "event VoteRecorded(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, uint256 votingPower, address[] candidates)", - "event VoteWithdrawn(address indexed voter, uint256 indexed chainId, uint256 indexed epochId, address[] candidates)", - "function _recvCast(uint256 epochIndex, address voter, uint256 votingPower, uint256 chainId, address[] candidates, uint256[] amounts)", - "function _recvDismissMembers(address[] membersToDismiss, uint256 epochIndex)", - "function _recvResolve(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function _recvTweakEpochSchedule(uint256 epochIndex, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate)", - "function _recvWithdrawVote(uint256 epochIndex, address voter, uint256 chainId, address[] candidates)", - "function cast(address[] candidates, uint256[] amounts) payable", - "function dismissMembers(address[] membersToDismiss) payable", - "function evaluate(uint256 numBallots)", - "function getBallot(address voter, uint256 chainId, uint256 electionId) pure returns (tuple(uint256 votingPower, address[] votedCandidates, uint256[] amounts))", - "function getBallotCandidates(address voter, uint256 chainId, uint256 electionId) view returns (address[])", - "function getCandidateVotes(address candidate) view returns (uint256)", - "function getCouncilMembers() view returns (address[])", - "function getCouncilToken() view returns (address)", - "function getCurrentPeriod() view returns (uint256)", - "function getElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getElectionWinners() view returns (address[])", - "function getEpochIndex() view returns (uint256)", - "function getEpochSchedule() view returns (tuple(uint64 startDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 endDate) epoch)", - "function getNextElectionSettings() view returns (tuple(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance) settings)", - "function getNominees() view returns (address[])", - "function getVotePower(address user, uint256 chainId, uint256 electionId) view returns (uint256)", - "function hasVoted(address user, uint256 chainId) view returns (bool)", - "function initElectionModuleSatellite(uint256 epochIndex, uint64 epochStartDate, uint64 nominationPeriodStartDate, uint64 votingPeriodStartDate, uint64 epochEndDate, address[] councilMembers)", - "function initElectionModuleSatellite() payable", - "function initOrUpdateElectionSettings(address[] initialCouncil, uint8 minimumActiveMembers, uint64 initialNominationPeriodStartDate, uint64 administrationPeriodDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration)", - "function isElectionEvaluated() view returns (bool)", - "function isElectionModuleInitialized() view returns (bool)", - "function isNominated(address candidate) view returns (bool)", - "function nominate()", - "function resolve() payable", - "function setNextElectionSettings(uint8 epochSeatCount, uint8 minimumActiveMembers, uint64 epochDuration, uint64 nominationPeriodDuration, uint64 votingPeriodDuration, uint64 maxDateAdjustmentTolerance)", - "function tweakEpochSchedule(uint64 newNominationPeriodStartDate, uint64 newVotingPeriodStartDate, uint64 newEpochEndDate)", - "function withdrawNomination()", - "function withdrawVote(address[] candidates) payable", - "error BallotAlreadyPrepared(address voter, uint256 electionId)", - "error InvalidSnapshotContract()", - "error NoPower(uint256, address)", - "error OverflowUint256ToUint128()", - "error SnapshotAlreadyTaken(uint128 snapshotId)", - "error SnapshotNotTaken(address snapshotContract, uint128 electionId)", - "function getVotePowerSnapshotId(address snapshotContract, uint128 electionId) view returns (uint128)", - "function prepareBallotWithSnapshot(address snapshotContract, address voter) returns (uint256 power)", - "function setSnapshotContract(address snapshotContract, bool enabled)", - "function takeVotePowerSnapshot(address snapshotContract) returns (uint128 snapshotId)", - "error ImplementationIsSterile(address implementation)", - "error NoChange()", - "error NotAContract(address contr)", - "error NotNominated(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 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)" + "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.upgrade_core_proxy", + "deployedOn": "invoke.upgradeSpotMarketProxy", "gasUsed": 0, "gasCost": "0", "highlight": true + } + }, + "settings": { + "owner": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "salt": "snax", + "synthetixPackage": "synthetix:3.3.15", + "synthetixPreset": "main" + }, + "imports": { + "synthetix": { + "url": "ipfs://Qmdq9164UBG1hrdUeh1YtPVg9Gq8wwQYA7CT5156sPApxg", + "contracts": { + "AccountModule": { + "address": "0x3590B0d3F45e0cd3248c233008fdFf8AeDD4e4c7", + "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": "0x39bce867d552aefc3773bd8968169ed10021a08dc2f2e5bc81f0dae75382cecf", + "sourceName": "contracts/modules/core/AccountModule.sol", + "contractName": "AccountModule", + "deployedOn": "contract.AccountModule", + "gasUsed": 1209268, + "gasCost": "1032997011" + }, + "AccountTokenModule": { + "address": "0xC34B6FCd9849F343DEDC24A03D2A8EB54dA65846", + "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": "0x1532a036e550ae25ce5eda053081a56580742debe2fadeff16f032032f4e8199", + "sourceName": "contracts/modules/account/AccountTokenModule.sol", + "contractName": "AccountTokenModule", + "deployedOn": "contract.AccountTokenModule", + "gasUsed": 1787656, + "gasCost": "1087150512" + }, + "AssociateDebtModule": { + "address": "0x03132AAAf27f0f4B7F62d7e54AD94b9C74BA6B73", + "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": "0x5b2025d7e018fbc376adbb5866320d11166c821345c1f373994729367e7ff8bb", + "sourceName": "contracts/modules/core/AssociateDebtModule.sol", + "contractName": "AssociateDebtModule", + "deployedOn": "contract.AssociateDebtModule", + "gasUsed": 2267106, + "gasCost": "1039404773" + }, + "AssociatedSystemsModule": { + "address": "0x9fb00757BA9e33E3fEf51C1677D9D59E5a4ee9d6", + "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": "0xfec1aae80d0bbe0aa204e033c6536d62f882273b20367577a1c24de782569795", + "sourceName": "contracts/modules/associated-systems/AssociatedSystemsModule.sol", + "contractName": "AssociatedSystemsModule", + "deployedOn": "contract.AssociatedSystemsModule", + "gasUsed": 877153, + "gasCost": "1160601901" + }, + "CcipReceiverModule": { + "address": "0x76cd8212382051f61f365a4f9723bB8d5b806680", + "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": "0x7f372bff8bd79adda890fe0f274371f6a50f76ab3ca99ec4ef1d8b961830b8c7", + "sourceName": "contracts/modules/core/CcipReceiverModule.sol", + "contractName": "CcipReceiverModule", + "deployedOn": "contract.CcipReceiverModule", + "gasUsed": 469476, + "gasCost": "1208203748" + }, + "CollateralConfigurationModule": { + "address": "0xE2B87b8DD57E1b35ebf44324da0d2D871D2c8777", + "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": "0xc7e7eaf7d9eef44297acc52a4fb0aade758a712701560488e71917135169709c", + "sourceName": "contracts/modules/core/CollateralConfigurationModule.sol", + "contractName": "CollateralConfigurationModule", + "deployedOn": "contract.CollateralConfigurationModule", + "gasUsed": 837646, + "gasCost": "1119202716" + }, + "CollateralModule": { + "address": "0xF720774DaC8677C107225ebd889C61BD4A21cf43", + "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": "0x26db81c362d7993758a2db3f3b79939be389159f9d6502edf295b3370f009fa2", + "sourceName": "contracts/modules/core/CollateralModule.sol", + "contractName": "CollateralModule", + "deployedOn": "contract.CollateralModule", + "gasUsed": 1730020, + "gasCost": "1098784236" + }, + "CrossChainUSDModule": { + "address": "0xD1Db51bF92C9d91E7D4D7b80120F31AA0E258803", + "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": "0x87203c0b547338dfa7a39d3ffc92e8bf9d83c41bef438162565b6b3285abaae4", + "sourceName": "contracts/modules/core/CrossChainUSDModule.sol", + "contractName": "CrossChainUSDModule", + "deployedOn": "contract.CrossChainUSDModule", + "gasUsed": 595289, + "gasCost": "1089070066" + }, + "FeatureFlagModule": { + "address": "0x61D96844F0226130A191F9e07fC08aaEbB667402", + "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": "0xf48b7b4ae95718cd7151ee19ab3bd834a54d92553799c8e6e4b8c5b802a0dbcc", + "sourceName": "contracts/modules/core/FeatureFlagModule.sol", + "contractName": "FeatureFlagModule", + "deployedOn": "contract.FeatureFlagModule", + "gasUsed": 777054, + "gasCost": "1040190189" + }, + "IssueUSDModule": { + "address": "0xaA69889dAe2873Ea4578bA576f88C76077F121a7", + "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": "0x0f3054ffc2d5292e3769ead6f19f1d286ad8cb6e682265b948e3524dc03e8a09", + "sourceName": "contracts/modules/core/IssueUSDModule.sol", + "contractName": "IssueUSDModule", + "deployedOn": "contract.IssueUSDModule", + "gasUsed": 2808883, + "gasCost": "1000645799" + }, + "LiquidationModule": { + "address": "0x07B560931dF96aC173383C3c6733c8Fb91a05495", + "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": "0x3c2df2e875d0b054981d3a486098e572a278de87f3f82175b94bd78ad218170c", + "sourceName": "contracts/modules/core/LiquidationModule.sol", + "contractName": "LiquidationModule", + "deployedOn": "contract.LiquidationModule", + "gasUsed": 2889614, + "gasCost": "1024230778" + }, + "MarketCollateralModule": { + "address": "0x5C9A3789fDb15D649401a8440553ADb2Ce340B72", + "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": "0xa3cbf3cfbccd2ae3352b0c4ebe1d439cbca3cddfe8c0357d87204b093d0edb68", + "sourceName": "contracts/modules/core/MarketCollateralModule.sol", + "contractName": "MarketCollateralModule", + "deployedOn": "contract.MarketCollateralModule", + "gasUsed": 1222509, + "gasCost": "1065103672" + }, + "MarketManagerModule": { + "address": "0x0D55E1fD0da9d474a472b1c5c9273fBAef80Ead3", + "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": "0x750b498b1d5963d3ce430e49ddc94fcbefd89aee635fee736f28155dcf1ab601", + "sourceName": "contracts/modules/core/MarketManagerModule.sol", + "contractName": "MarketManagerModule", + "deployedOn": "contract.MarketManagerModule", + "gasUsed": 2749047, + "gasCost": "1073723869" + }, + "PoolConfigurationModule": { + "address": "0x97AFc14ffBeCd9983Ca34EB04aFDeb4fd91Bb058", + "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": "0xa68ae448ec0c19b50b7ed1a0c295b3bd044c7e1571a3026302f7cf1acfa9b399", + "sourceName": "contracts/modules/core/PoolConfigurationModule.sol", + "contractName": "PoolConfigurationModule", + "deployedOn": "contract.PoolConfigurationModule", + "gasUsed": 446271, + "gasCost": "1068634018" + }, + "PoolModule": { + "address": "0x53791c24e435763957060D2D4b964203125829B8", + "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": "0x31cf38c7ecff671eb89f0c44455d8d7a652c2615a391b174fa423fe0b055d757", + "sourceName": "contracts/modules/core/PoolModule.sol", + "contractName": "PoolModule", + "deployedOn": "contract.PoolModule", + "gasUsed": 3705275, + "gasCost": "1040955913" + }, + "RewardsManagerModule": { + "address": "0x81801a6a6e677E1c16c8ca08e8ad3968Ce00b112", + "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": "0x30761fcd2b9a06635517a3c8526cbd005cf6989434ea7c49733b76e6b135d7bf", + "sourceName": "contracts/modules/core/RewardsManagerModule.sol", + "contractName": "RewardsManagerModule", + "deployedOn": "contract.RewardsManagerModule", + "gasUsed": 2205823, + "gasCost": "1056889698" + }, + "USDTokenModule": { + "address": "0x69c9a1017D85F1fa9c1B2b8CDaDE08aa0D0D04c3", + "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": "0x5b9ec85c0c245f0edaa0e55e700bd1aea8a485f26239cb46ce1150eea122e843", + "sourceName": "contracts/modules/usd/USDTokenModule.sol", + "contractName": "USDTokenModule", + "deployedOn": "contract.USDTokenModule", + "gasUsed": 1110294, + "gasCost": "1035513275" + }, + "UtilsModule": { + "address": "0x3420753f6864118A5ED8c7f175543eB5471cC44f", + "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": "0xcbf2fa2f4bab844eeac9a14621ff629ae84f96a91979176472c6f3228b197015", + "sourceName": "contracts/modules/core/UtilsModule.sol", + "contractName": "UtilsModule", + "deployedOn": "contract.UtilsModule", + "gasUsed": 759709, + "gasCost": "1013919786" + }, + "VaultModule": { + "address": "0x0bA521f79DD2c669342be9A3ea44E97887b99728", + "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": "0xc6b530c2eea48b0504d95645f837fdf6a174020f285487881453c09f2c71b0c4", + "sourceName": "contracts/modules/core/VaultModule.sol", + "contractName": "VaultModule", + "deployedOn": "contract.VaultModule", + "gasUsed": 3541151, + "gasCost": "949608803" + }, + "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": "", + "sourceName": "contracts/modules/InitialModuleBundle.sol", + "contractName": "InitialModuleBundle", + "deployedOn": "contract.InitialModuleBundle", + "gasUsed": 0, + "gasCost": "0" + }, + "InitialCoreProxy": { + "address": "0x8715b7eaDC55DF39F0D7bd8D5Ae44BaD4A7a0a8f", + "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", + "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + ], + "linkedLibraries": {}, + "deployTxnHash": "0xdfe76d836ab7b21d337f3ec8472402e8f6c23f0dc2924093b6452ac4602db8b3", + "sourceName": "contracts/Proxy.sol", + "contractName": "Proxy", + "deployedOn": "contract.InitialCoreProxy", + "gasUsed": 185358, + "gasCost": "978908043" + }, + "AccountRouter": { + "address": "0xe609b0f185b380828737dfa9de675131d616b1e7", + "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": "0xbb7b0b73d3351455c640b7aec2556f49b38f3e6d5d2c4bc8349969029d397d4b", + "contractName": "AccountRouter", + "sourceName": "AccountRouter.sol", + "gasUsed": 403592, + "gasCost": "1019880086" + }, + "CoreRouter": { + "address": "0x8b11fc5bb182f7f9fa8bd1ac4455cc3a6db12341", + "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": "0x0b0ccd205d0cd9aa199a5947f03d9c4b7ad46fc034e8e48eee5fde88444569af", + "contractName": "CoreRouter", + "sourceName": "CoreRouter.sol", + "gasUsed": 1290201, + "gasCost": "997515600" + }, + "USDRouter": { + "address": "0xe11195eacbf94327a2acd9e448a4592632e4c958", + "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": "0x31d8b5d0f5b21757413ea39eba499beb8d89682712fb6a9674853b88683c3922", + "contractName": "USDRouter", + "sourceName": "USDRouter.sol", + "gasUsed": 395159, + "gasCost": "1100297268" + }, + "CoreProxy": { + "address": "0x8715b7eaDC55DF39F0D7bd8D5Ae44BaD4A7a0a8f", + "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": "0xCb5D8fE2B4AfbedB1970CCDc2f2e2919a6114240", + "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": "0xF87E23c41Ce898Ab7640FC3Ce2eb8B11f257e67a", + "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": { + "trusted_multicall_forwarder": { + "url": "ipfs://QmZvyrG1A2kxn7qrrgMoyx4S7Xncz3T9Cj7qujx1N74kzZ", + "tags": [ + "latest" + ], + "target": "trusted-multicall-forwarder:latest@with-synthetix", + "preset": "with-synthetix", + "settings": { + "salt": "salt" + }, + "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" + } + }, + "extras": { + "salt": "salt" + } + }, + "oracle_manager": { + "url": "ipfs://QmUvYkrmzLT5mKHftsppEbrCc9w8dYVEwssgSseBmknigY", + "tags": [ + "latest" + ], + "target": "oracle-manager:3.3.15@with-synthetix", + "preset": "with-synthetix", + "contracts": { + "NodeModule": { + "address": "0xA8d7576690489624382BDdB5d7D9d3bD8D4CdD0b", + "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": "0x5d4b03edeb3dd710a7cbe5e38df09806cf526c746832811dae41582792531414", + "sourceName": "contracts/modules/NodeModule.sol", + "contractName": "NodeModule", + "deployedOn": "contract.NodeModule", + "gasUsed": 4094153, + "gasCost": "976941814" + }, + "CoreModule": { + "address": "0xf3b78D43A79737bcbF3b7E2b4Ae1CA660cBE7bc2", + "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": "0xa34db8a98d9313f7989457122c8b2f6e9aba9756705449f6d196bf601794ce38", + "sourceName": "contracts/modules/CoreModule.sol", + "contractName": "CoreModule", + "deployedOn": "contract.CoreModule", + "gasUsed": 942585, + "gasCost": "1014969818" + }, + "InitialProxy": { + "address": "0xA86DcB6f02a0AFEc5b66Ad7112ACd3bcbbdF98ca", + "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": [ + "0xf3b78D43A79737bcbF3b7E2b4Ae1CA660cBE7bc2", + "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + ], + "linkedLibraries": {}, + "deployTxnHash": "0x4afac678da89afc3530f1b5294aea5a0e36f3f207adc8910ff7fffb3301c822b", + "sourceName": "contracts/Proxy.sol", + "contractName": "Proxy", + "deployedOn": "contract.InitialProxy", + "gasUsed": 249407, + "gasCost": "986015917" + }, + "OracleRouter": { + "address": "0x8848a58230ea553d8ddfe00eb3f1cd9a42494e55", + "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": "0x342fe5d08f174bfc7f020359d9f6cc9974cfcb434b81a97e18e6e6504a42953c", + "contractName": "OracleRouter", + "sourceName": "OracleRouter.sol", + "gasUsed": 243132, + "gasCost": "978728328" + }, + "Proxy": { + "address": "0xA86DcB6f02a0AFEc5b66Ad7112ACd3bcbbdF98ca", + "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://QmXDirpQp1KtJucQfv8rF5Ubdq3oGUx5Bk5Z5pTGkqRoEk", + "tags": [ + "latest" + ], + "target": "trusted-multicall-forwarder:latest@with-oracle-manager", + "preset": "with-oracle-manager", + "settings": { + "salt": "salt" + }, + "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" + } + }, + "extras": { + "salt": "salt" + } + } + }, + "settings": { + "owner": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "salt": "oracle-manager-official" + }, + "txns": { + "upgrade_proxy": { + "hash": "0x91e2ebd7572979158e0b951fc6792ee406a1d252cc88f4b1102dc947ef93c568", + "events": { + "Upgraded": [ + { + "name": "Upgraded", + "args": [ + "0xA86DcB6f02a0AFEc5b66Ad7112ACd3bcbbdF98ca", + "0x8848A58230eA553d8ddFE00EB3F1cd9A42494e55" + ] + } + ] + }, + "deployedOn": "invoke.upgrade_proxy", + "gasUsed": 51933, + "gasCost": "973839441", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + } + }, + "extras": { + "owner": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "salt": "oracle-manager-official" + } + } + }, + "settings": { + "bundleSalt": "main", + "oracle_manager_source": "oracle-manager:3.3.15", + "owner": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "salt": "main", + "const_one_oracle_id": "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733" + }, + "txns": { + "register_const_one_oracle": { + "hash": "0xd62944ccc94d429dc4fe5628b22cdc7c3dcde1d3c669bfa9b3a90389fbbe4ddd", + "events": { + "NodeRegistered": [ + { + "name": "NodeRegistered", + "args": [ + "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733", + 8, + "0x0000000000000000000000000000000000000000000000000de0b6b3a7640000", + [] + ] + } + ] + }, + "deployedOn": "invoke.register_const_one_oracle", + "gasUsed": 108479, + "gasCost": "922529803", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "upgrade_core_proxy": { + "hash": "0x8fe74fef92ca27bd35f53a66aeab338e865bc6aa298c6bbf95e829b50e87f66c", + "events": { + "Upgraded": [ + { + "name": "Upgraded", + "args": [ + "0x8715b7eaDC55DF39F0D7bd8D5Ae44BaD4A7a0a8f", + "0x8B11FC5BB182F7f9fa8BD1AC4455Cc3A6DB12341" + ] + } + ] + }, + "deployedOn": "invoke.upgrade_core_proxy", + "gasUsed": 47483, + "gasCost": "1116869325", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_burnUsd": { + "hash": "0x003ddab4c759e8dc1a519d8f54410501bf7169ec4098e76aa180ab321fac7fa2", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6275726e55736400000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_burnUsd", + "gasUsed": 56949, + "gasCost": "1117962692", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_claimRewards": { + "hash": "0x0f09fa5c086f87dad5321456133b7f0c2606b6fadcae50cac30b3a8bfb863a8c", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x636c61696d526577617264730000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_claimRewards", + "gasUsed": 57009, + "gasCost": "1081589799", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_createAccount": { + "hash": "0x6f14eb969a65aa396b120ac9f08f61ad7d33ca3657e66ac7fd7b34b0c133f39d", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6372656174654163636f756e7400000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_createAccount", + "gasUsed": 57021, + "gasCost": "1189291565", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_delegateCollateral": { + "hash": "0x0ea4abbbbb3b4105265e293591406c26f856dcec1d53727e92dc10184a6c05f1", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x64656c6567617465436f6c6c61746572616c0000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_delegateCollateral", + "gasUsed": 57081, + "gasCost": "1145067438", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_deposit": { + "hash": "0x08f253c06dcf0c639b5e85e550f4dd04fd0048cfdfac2eaf7374670dc1c417e5", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6465706f73697400000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_deposit", + "gasUsed": 56949, + "gasCost": "1099485069", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_depositMarketCollateral": { + "hash": "0xec84cad5f5012014983200e209710427845aba82697ab02c2dc096454af91eae", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6465706f7369744d61726b6574436f6c6c61746572616c000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_depositMarketCollateral", + "gasUsed": 57141, + "gasCost": "1050556709", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_depositMarketUsd": { + "hash": "0x7583ac467a1407fe715de3fa3aff6cad86054df512b43dbb332f29b2ceb7f342", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6465706f7369744d61726b657455736400000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_depositMarketUsd", + "gasUsed": 57057, + "gasCost": "997930950", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_liquidate": { + "hash": "0x1fc453ee93e2ddbc8edbdd81563df11f57ade9a18c65aa907801ccc7134a784b", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6c69717569646174650000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_liquidate", + "gasUsed": 56973, + "gasCost": "1064136427", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_liquidateVault": { + "hash": "0xc4e850fc6a725150be5c76506408f6334d0cbdf56ae7b31fffa2904605167664", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6c69717569646174655661756c74000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_liquidateVault", + "gasUsed": 57033, + "gasCost": "1013537198", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_mintUsd": { + "hash": "0x266f89530ac6b3b675a7fe51165dc574f640fd54edc531b400898888623840f3", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x6d696e7455736400000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_mintUsd", + "gasUsed": 56949, + "gasCost": "977776751", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_withdraw": { + "hash": "0xab1a7424ebbbf36a928f31ddcff86f34f5a65b84e2591a6a07accc05a70e4c2d", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x7769746864726177000000000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_withdraw", + "gasUsed": 56961, + "gasCost": "1025829153", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_withdrawMarketCollateral": { + "hash": "0x8b454b4aaff7f2d239acee0bdc9c91599eb7386b9dfefeeaba329933039fb864", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x77697468647261774d61726b6574436f6c6c61746572616c0000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_withdrawMarketCollateral", + "gasUsed": 57153, + "gasCost": "993756197", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "enable_feature_withdrawMarketUsd": { + "hash": "0xc560108ce9e942bfd2b466717e3b7cbd60fb56aaf29bf0da9b72b9975ae94f01", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x77697468647261774d61726b6574557364000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.enable_feature_withdrawMarketUsd", + "gasUsed": 57069, + "gasCost": "960143044", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "init_account": { + "hash": "0x0a12c8cb3ea6b7a581f341003d35023331bd81498daed3b7e3dd92b794602209", + "events": { + "AssociatedSystemSet": [ + { + "name": "AssociatedSystemSet", + "args": [ + "0x6572633732310000000000000000000000000000000000000000000000000000", + "0x6163636f756e744e667400000000000000000000000000000000000000000000", + "0xCb5D8fE2B4AfbedB1970CCDc2f2e2919a6114240", + "0xE609b0f185B380828737dfA9De675131d616b1E7" + ] + } + ] + }, + "deployedOn": "invoke.init_account", + "gasUsed": 354887, + "gasCost": "982695521", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "init_usd": { + "hash": "0xe35f140b18c1b5ae06f846675667779f785cae11f1ce256a93a3319d0b9be3ff", + "events": { + "AssociatedSystemSet": [ + { + "name": "AssociatedSystemSet", + "args": [ + "0x6572633230000000000000000000000000000000000000000000000000000000", + "0x555344546f6b656e000000000000000000000000000000000000000000000000", + "0xF87E23c41Ce898Ab7640FC3Ce2eb8B11f257e67a", + "0xe11195EAcbF94327a2aCd9e448a4592632E4c958" + ] + } + ] + }, + "deployedOn": "invoke.init_usd", + "gasUsed": 327328, + "gasCost": "980449151", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "set_oracle_manager": { + "hash": "0x3efc31a65f2fc3d3670e57d8b0ee8bac01f5aca89a84ea10fd168c1aebb4c712", + "events": {}, + "deployedOn": "invoke.set_oracle_manager", + "gasUsed": 54810, + "gasCost": "979601782", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "configure_usd_collateral": { + "hash": "0x04a6171d1780f588f946d7d0a9441bb20adf358dfb2b8bdd7bdc6fe82cd18f3b", + "events": { + "CollateralConfigured": [ + { + "name": "CollateralConfigured", + "args": [ + "0xF87E23c41Ce898Ab7640FC3Ce2eb8B11f257e67a", + { + "depositingEnabled": true, + "issuanceRatioD18": "10000000000000000000", + "liquidationRatioD18": "10000000000000000000", + "liquidationRewardD18": "0", + "oracleNodeId": "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733", + "tokenAddress": "0xF87E23c41Ce898Ab7640FC3Ce2eb8B11f257e67a", + "minDelegationD18": "115792089237316195423570985008687907853269984665640564039457584007913129639935" + } + ] + } + ] + }, + "deployedOn": "invoke.configure_usd_collateral", + "gasUsed": 240627, + "gasCost": "1006144889", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + } + }, + "extras": { + "bundleSalt": "main", + "oracle_manager_source": "oracle-manager:3.3.15", + "owner": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "salt": "main", + "const_one_oracle_id": "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733" + } + } + }, + "txns": { + "upgradeSpotMarketProxy": { + "hash": "0x93a54890c1b1696e2c14cd2c7eeee46146165dd0e6f2e73b1000f435c0393a78", + "events": { + "Upgraded": [ + { + "name": "Upgraded", + "args": [ + "0xdBE114Ef3054Ad9Ed2A3b6beee538433f72BAfc2", + "0x60dE21e4033c54C5c3A4Fc995D24469b6445BB1B" + ] + } + ] + }, + "deployedOn": "invoke.upgradeSpotMarketProxy", + "gasUsed": 51965, + "gasCost": "1085442326", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" }, - "CouncilToken": { - "address": "0x13DC72730c03c635C35C83401fAA4A6eea8f0347", - "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 NotImplemented()", - "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)", - "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)" - ], - "deployTxnHash": "", - "sourceName": "", - "contractName": "", - "deployedOn": "invoke.init_council_token", - "gasUsed": 0, - "gasCost": "0" + "addCreateSynthToFeatureFlag": { + "hash": "0x6b7787cb6cae5d795709e0aee1d57c5084b46e154cc93201afa5f02e6b8a1db0", + "events": { + "FeatureFlagAllowlistAdded": [ + { + "name": "FeatureFlagAllowlistAdded", + "args": [ + "0x63726561746553796e7468000000000000000000000000000000000000000000", + "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + ] + } + ] + }, + "deployedOn": "invoke.addCreateSynthToFeatureFlag", + "gasUsed": 101741, + "gasCost": "1110072932", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "addSpotMarketToFeatureFlag": { + "hash": "0x7650a7a9ca46d4c52bed108d606787392706e162f534ba8d46cf605e0c9e0ffa", + "events": { + "FeatureFlagAllowlistAdded": [ + { + "name": "FeatureFlagAllowlistAdded", + "args": [ + "0x72656769737465724d61726b6574000000000000000000000000000000000000", + "0xdBE114Ef3054Ad9Ed2A3b6beee538433f72BAfc2" + ] + } + ] + }, + "deployedOn": "invoke.addSpotMarketToFeatureFlag", + "gasUsed": 84533, + "gasCost": "1131265221", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "setSynthImplementation": { + "hash": "0xe7c1c997c9225b197ec945e8fa505678930338946b700679b254da43ebae14bc", + "events": { + "SynthImplementationSet": [ + { + "name": "SynthImplementationSet", + "args": [ + "0xb59D0ECd1071e41922B612663021fb236785a76f" + ] + } + ] + }, + "deployedOn": "invoke.setSynthImplementation", + "gasUsed": 56198, + "gasCost": "1191769051", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + }, + "setSynthetixSystem": { + "hash": "0x2f1ed3ed26dcf2e170f8f5730fb6b09ba331b7952621b856caeecd9669829d03", + "events": { + "SynthetixSystemSet": [ + { + "name": "SynthetixSystemSet", + "args": [ + "0x8715b7eaDC55DF39F0D7bd8D5Ae44BaD4A7a0a8f", + "0xF87E23c41Ce898Ab7640FC3Ce2eb8B11f257e67a", + "0xA86DcB6f02a0AFEc5b66Ad7112ACd3bcbbdF98ca" + ] + } + ] + }, + "deployedOn": "invoke.setSynthetixSystem", + "gasUsed": 124255, + "gasCost": "1102958879", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" } }, - "imports": { - "trusted_multicall_forwarder": { - "url": "ipfs://QmTuiwwgbwvp2epkkPFBDJHpUTYWrCUpLBpuPme6vFVJjz", - "tags": [ - "latest" - ], - "preset": "with-synthetix-governance", - "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" - } + "extras": { + "owner": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "salt": "snax", + "synthetixPackage": "synthetix:3.3.15", + "synthetixPreset": "main" + } + } + } + }, + "hash": null, + "version": 7 + }, + "invoke.createScPool": { + "artifacts": { + "contracts": {}, + "txns": { + "createScPool": { + "hash": "0xde1dbfab920f874fc7a89f07c4f99ab77cacfcabd71b98b6bf43c76f031ec2bf", + "events": { + "PoolCreated": [ + { + "name": "PoolCreated", + "args": [ + "1", + "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", + "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + ] + } + ] + }, + "deployedOn": "invoke.createScPool", + "gasUsed": 80299, + "gasCost": "1194035649", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + } + }, + "settings": {} + }, + "hash": "8bd5d7276943095354d8bbf770dde5ec", + "version": 7 + }, + "invoke.createUsdeSynth": { + "artifacts": { + "contracts": {}, + "txns": { + "createUsdeSynth": { + "hash": "0xf930426b662d88f495087738e849759d9b50531f3eb36219dd1ae186d5baef94", + "events": { + "AssociatedSystemSet": [ + { + "name": "AssociatedSystemSet", + "args": [ + "0x6572633230000000000000000000000000000000000000000000000000000000", + "0xb8dbcf7ce16e156a8d43319ed5b90e37f573e563159aad9f32277ff88f97dacb", + "0x3A12E3f802437CD3A9755386BEd65Cca751a730e", + "0xb59D0ECd1071e41922B612663021fb236785a76f" + ] + } + ], + "SynthRegistered": [ + { + "name": "SynthRegistered", + "args": [ + "2", + "0x3A12E3f802437CD3A9755386BEd65Cca751a730e" + ] + } + ] + }, + "deployedOn": "invoke.createUsdeSynth", + "gasUsed": 521303, + "gasCost": "1155565564", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + } + }, + "settings": { + "synth_usde_market_id": "2", + "synth_usde_token_address": "0x3A12E3f802437CD3A9755386BEd65Cca751a730e" + } + }, + "hash": "5d70c3c0dd0f68fc0f829c8402c9bc30", + "version": 7 + }, + "invoke.registerSnxOracleNode": { + "artifacts": { + "contracts": {}, + "txns": { + "registerSnxOracleNode": { + "hash": "0x2a6ce3fae08818a1d2cc9a2cc9044ab341dcdb716f46ba93cab2a40b7e2f9c36", + "events": { + "NodeRegistered": [ + { + "name": "NodeRegistered", + "args": [ + "0x8c1b31ea056b3cb8b93a6a7d71127852106d37960d92abfe579e266486491446", + 7, + "0x0000000000000000000000000000000000000000000000000000000000000e10", + [ + "0x5db8d5ecf48e99cf2e7d22ac46e623efe1bfe140b78f75ee4b243e738a52822b", + "0x6b76b73294b1dc92ada3354faa272b836ee3ce2d5be71c46cbe8b3e07e76ad0c" + ] + ] + } + ] + }, + "deployedOn": "invoke.registerSnxOracleNode", + "gasUsed": 220619, + "gasCost": "1127768214", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + } + }, + "settings": { + "snx_oracle_id": "0x8c1b31ea056b3cb8b93a6a7d71127852106d37960d92abfe579e266486491446" + } + }, + "hash": "110585aa9d3d3f56fc9213cbb92ae8d9", + "version": 7 + }, + "invoke.registerSusdeOracleNode": { + "artifacts": { + "contracts": {}, + "txns": { + "registerSusdeOracleNode": { + "hash": "0x3022083366891f12af92c819e82bc0484bfe4609104a05efd942c381a867ef9f", + "events": { + "NodeRegistered": [ + { + "name": "NodeRegistered", + "args": [ + "0x13e4f468d8ac3735b2fddfbc926a190ca8290385447834f16713406ba2898489", + 7, + "0x0000000000000000000000000000000000000000000000000000000000000e10", + [ + "0xdf6310120694b92b54df223540e2050c7a1bad93ae217d5be1d2d32b0cf9e36c", + "0x0faa5c2008d0a57a0cc8d733733f4c9ec6c74aff68c2b3f4abb5d97f62231259" + ] + ] + } + ] + }, + "deployedOn": "invoke.registerSusdeOracleNode", + "gasUsed": 220619, + "gasCost": "1135069856", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + } + }, + "settings": { + "susde_oracle_id": "0x13e4f468d8ac3735b2fddfbc926a190ca8290385447834f16713406ba2898489" + } + }, + "hash": "1b6552a6cebb3b3279499cf2550b4dd8", + "version": 7 + }, + "invoke.registerWstEthOracleNode": { + "artifacts": { + "contracts": {}, + "txns": { + "registerWstEthOracleNode": { + "hash": "0x19602791dec6bf0e6f67f513f39efe5b587c9dc50517a6a4a2f26b0b84abe92f", + "events": { + "NodeRegistered": [ + { + "name": "NodeRegistered", + "args": [ + "0xb4c7a22c94195538131684c05704010fa32ca52f2d2d69468192f932b9c0fdb8", + 7, + "0x0000000000000000000000000000000000000000000000000000000000000e10", + [ + "0xd78e6d53200dc24c0c99ff0ee1455699b07fd68228c903f1123dcf529f81db49", + "0x4058cedfa4a25f97f611ab45fe6649dd8a71369e13f19ac4bd1bb18f54e3cfc6" + ] + ] } - } + ] }, - "txns": { - "upgrade_core_proxy": { - "hash": "0x6c81e442046a3167c0092ab105e134fa69a81a1750d898d254377399fa3719f1", - "events": { - "Upgraded": [ - { - "name": "Upgraded", - "args": [ - "0x01fa5A659Da52Fa0AE26bc60698B2760B745d910", - "0xC3f3cDce2396F693bcBEf25795122ce60DBf4157" - ] - } + "deployedOn": "invoke.registerWstEthOracleNode", + "gasUsed": 220619, + "gasCost": "1051773584", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + } + }, + "settings": { + "wsteth_oracle_id": "0xb4c7a22c94195538131684c05704010fa32ca52f2d2d69468192f932b9c0fdb8" + } + }, + "hash": "af46f93d25c21f136e2afbfe6f5a6a97", + "version": 7 + }, + "setting.snx_address": { + "artifacts": { + "settings": { + "snx_address": "0x079E7E1C0cBFee4B2D2798A9d426009D08b1F9cb" + } + }, + "hash": "3752257aee21781181b748823af958ee", + "version": 7 + }, + "invoke.SpotMarketProxy_setWrapper_usde": { + "artifacts": { + "contracts": {}, + "txns": { + "SpotMarketProxy_setWrapper_usde": { + "hash": "0x01568fb414ed03a0079483b4e9d1a101fc009e58f0c0ca8b261fd8bdbcb03cd1", + "events": { + "WrapperSet": [ + { + "name": "WrapperSet", + "args": [ + "2", + "0x9458CaACa74249AbBE9E964b3Ce155B98EC88EF2", + "100000000000000000000000000" ] - }, - "deployedOn": "invoke.upgrade_core_proxy", - "gasUsed": 51150, - "gasCost": "1731624881", - "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" - }, - "init_council_token": { - "hash": "0xebc245f57d8367ae2858ab0e3b9988003b9b90ed018025052a3a2cc0869e98d1", - "events": { - "AssociatedSystemSet": [ - { - "name": "AssociatedSystemSet", - "args": [ - "0x6572633732310000000000000000000000000000000000000000000000000000", - "0x636f756e63696c546f6b656e0000000000000000000000000000000000000000", - "0x13DC72730c03c635C35C83401fAA4A6eea8f0347", - "0x92aF1f0D609BC51483Caea1eD3B65Fe96b6Ba513" - ] - } + } + ] + }, + "deployedOn": "invoke.SpotMarketProxy_setWrapper_usde", + "gasUsed": 96387, + "gasCost": "1053586861", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + } + }, + "settings": {} + }, + "hash": "1a690684d504eaf81d6e2856458fef10", + "version": 7 + }, + "invoke.addSpotUsdeSettlementStrategy": { + "artifacts": { + "contracts": {}, + "txns": { + "addSpotUsdeSettlementStrategy": { + "hash": "0x5e398173b499a3aa5555e31f73c496b5016618e9a9df2e37df1b807112844230", + "events": { + "SettlementStrategyAdded": [ + { + "name": "SettlementStrategyAdded", + "args": [ + "2", + "0" ] - }, - "deployedOn": "invoke.init_council_token", - "gasUsed": 377391, - "gasCost": "5808185319", - "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" - }, - "init_election_module": { - "hash": "0x4fefa5d7ad1e74254cdd095a1dfe96cef29e87b3a16e805991e815e3270696ba", - "events": { - "Transfer": [ - { - "name": "Transfer", - "args": [ - "0x0000000000000000000000000000000000000000", - "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", - { - "type": "BigNumber", - "hex": "0x48914229dedd5a9922f44441ffccfc2cb7856ee9" - } - ] - } - ], - "CouncilMemberAdded": [ + } + ] + }, + "deployedOn": "invoke.addSpotUsdeSettlementStrategy", + "gasUsed": 164659, + "gasCost": "1026466995", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + } + }, + "settings": {} + }, + "hash": "dede132dffdfa6a1eb708cacba156042", + "version": 7 + }, + "invoke.configureSnxCollateral": { + "artifacts": { + "contracts": {}, + "txns": { + "configureSnxCollateral": { + "hash": "0xfba27417a49e88c3ecef2cdbc817063a82c2b489d398d945a18d721b49b010ab", + "events": { + "CollateralConfigured": [ + { + "name": "CollateralConfigured", + "args": [ + "0x079E7E1C0cBFee4B2D2798A9d426009D08b1F9cb", { - "name": "CouncilMemberAdded", - "args": [ - "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", - { - "type": "BigNumber", - "hex": "0x00" - } - ] + "depositingEnabled": true, + "issuanceRatioD18": "4000000000000000000", + "liquidationRatioD18": "1500000000000000000", + "liquidationRewardD18": "0", + "oracleNodeId": "0x8c1b31ea056b3cb8b93a6a7d71127852106d37960d92abfe579e266486491446", + "tokenAddress": "0x079E7E1C0cBFee4B2D2798A9d426009D08b1F9cb", + "minDelegationD18": "0" } - ], - "ElectionModuleInitialized": [ + ] + } + ] + }, + "deployedOn": "invoke.configureSnxCollateral", + "gasUsed": 203231, + "gasCost": "1096727194", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + } + }, + "settings": {} + }, + "hash": "77c4c3df47621aa40b7d1ed5b5c88043", + "version": 7 + }, + "invoke.configureSusdeCollateral": { + "artifacts": { + "contracts": {}, + "txns": { + "configureSusdeCollateral": { + "hash": "0xbacf4baa49ba5b5d21f8537a36593ccd061e3dc1c710354016afcb7d784151f9", + "events": { + "CollateralConfigured": [ + { + "name": "CollateralConfigured", + "args": [ + "0x9458CaACa74249AbBE9E964b3Ce155B98EC88EF2", { - "name": "ElectionModuleInitialized", - "args": [] + "depositingEnabled": true, + "issuanceRatioD18": "1100000000000000000", + "liquidationRatioD18": "1010000000000000000", + "liquidationRewardD18": "1000000000000000000", + "oracleNodeId": "0x13e4f468d8ac3735b2fddfbc926a190ca8290385447834f16713406ba2898489", + "tokenAddress": "0x9458CaACa74249AbBE9E964b3Ce155B98EC88EF2", + "minDelegationD18": "1000000000000000000" } - ], - "EpochStarted": [ + ] + } + ] + }, + "deployedOn": "invoke.configureSusdeCollateral", + "gasUsed": 243187, + "gasCost": "1071697935", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + } + }, + "settings": {} + }, + "hash": "265f4954ad6fd2d1594acd77969add24", + "version": 7 + }, + "invoke.configureWstethCollateral": { + "artifacts": { + "contracts": {}, + "txns": { + "configureWstethCollateral": { + "hash": "0x5f8152bba80dfa9412846d85bd8c95efb34c592230d136b20898d35d320a8b3c", + "events": { + "CollateralConfigured": [ + { + "name": "CollateralConfigured", + "args": [ + "0xB82381A3fBD3FaFA77B3a7bE693342618240067b", { - "name": "EpochStarted", - "args": [ - { - "type": "BigNumber", - "hex": "0x00" - } - ] + "depositingEnabled": true, + "issuanceRatioD18": "1500000000000000000", + "liquidationRatioD18": "1100000000000000000", + "liquidationRewardD18": "10000000000000000", + "oracleNodeId": "0xb4c7a22c94195538131684c05704010fa32ca52f2d2d69468192f932b9c0fdb8", + "tokenAddress": "0xB82381A3fBD3FaFA77B3a7bE693342618240067b", + "minDelegationD18": "10000000000000000" } ] - }, - "deployedOn": "invoke.init_election_module", - "gasUsed": 393066, - "gasCost": "5856606302", - "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" - } + } + ] }, - "extras": {} + "deployedOn": "invoke.configureWstethCollateral", + "gasUsed": 243163, + "gasCost": "975803706", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" } - } + }, + "settings": {} }, - "hash": "ce0d5ce1367f11d29954c42ccf7e4917", - "version": 6 + "hash": "ca1b6271cb3161299d1d06be53c98a8a", + "version": 7 }, - "invoke.ambassador_council_setSnapshotContract": { + "invoke.registerRewardsDistributor": { "artifacts": { "contracts": {}, "txns": { - "ambassador_council_setSnapshotContract": { - "hash": "0x13c90d9e20b6eb6c35edae8f3d24d59cb605a91551a87958eb121c7fd73f0be4", - "events": {}, - "deployedOn": "invoke.ambassador_council_setSnapshotContract", - "gasUsed": 60437, - "gasCost": "5623020340", + "registerRewardsDistributor": { + "hash": "0xe6879646a133556abd151bead0cdd7cbcea0af24a986d808c08bc4489544dc76", + "events": { + "RewardsDistributorRegistered": [ + { + "name": "RewardsDistributorRegistered", + "args": [ + "1", + "0x079E7E1C0cBFee4B2D2798A9d426009D08b1F9cb", + "0x25AA941da42898c0C444EaB83c0FCAC364666720" + ] + } + ] + }, + "deployedOn": "invoke.registerRewardsDistributor", + "gasUsed": 128971, + "gasCost": "1095684617", "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" } }, - "extras": {} + "settings": {} }, - "hash": "bb14a6035777b4fda4b380fe2437b198", - "version": 6 + "hash": "129cb04cbe1eb214a5400182228e3536", + "version": 7 }, - "invoke.grants_council_setSnapshotContract": { + "invoke.setPreferredPool": { "artifacts": { "contracts": {}, "txns": { - "grants_council_setSnapshotContract": { - "hash": "0x9bba3e9e7955f7a4b654e2fa6b29c38d2b477cca86bfacbda89744be65184eb6", - "events": {}, - "deployedOn": "invoke.grants_council_setSnapshotContract", - "gasUsed": 60437, - "gasCost": "5172745406", + "setPreferredPool": { + "hash": "0x3fc4cb2b7a738bd59986411077571ec197f0d0e411305aeb1c65b9a1930056d3", + "events": { + "PreferredPoolSet": [ + { + "name": "PreferredPoolSet", + "args": [ + "1" + ] + } + ] + }, + "deployedOn": "invoke.setPreferredPool", + "gasUsed": 58352, + "gasCost": "1081134126", "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" } }, - "extras": {} + "settings": {} }, - "hash": "f0dea67f04b5530db6f05f42dd7411f5", - "version": 6 + "hash": "e8d9927c04c3ae5b6e2a7c164676af3e", + "version": 7 }, - "invoke.spartan_council_setSnapshotContract": { + "invoke.setScPoolConfig": { "artifacts": { "contracts": {}, "txns": { - "spartan_council_setSnapshotContract": { - "hash": "0xca702fcc0679b8245ca1595523864df3e123e1f95046943683a25ee40acd2e04", - "events": {}, - "deployedOn": "invoke.spartan_council_setSnapshotContract", - "gasUsed": 60437, - "gasCost": "5813603980", + "setScPoolConfig": { + "hash": "0x63a5c743dd272fe64c2deafbcb10b3b632fc299e20a2e952a82c17b6898c2c15", + "events": { + "PoolConfigurationSet": [ + { + "name": "PoolConfigurationSet", + "args": [ + "1", + [ + { + "marketId": "1", + "weightD18": "99", + "maxDebtShareValueD18": "1000000000000000000" + }, + { + "marketId": "2", + "weightD18": "1", + "maxDebtShareValueD18": "1000000000000000000" + } + ], + "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + ] + } + ] + }, + "deployedOn": "invoke.setScPoolConfig", + "gasUsed": 282411, + "gasCost": "1130923832", "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" } }, - "extras": {} + "settings": {} }, - "hash": "499c4e0a36b6beb819cc7790f07126ee", - "version": 6 + "hash": "ed0d580016fe9bc91855738587c86b61", + "version": 7 }, - "invoke.treasury_council_setSnapshotContract": { + "invoke.setScPoolName": { "artifacts": { "contracts": {}, "txns": { - "treasury_council_setSnapshotContract": { - "hash": "0xfe4c60573fea4168e98b985cc365ddfadceb4ad1cc6313dabdd0c8e0d3a01aef", - "events": {}, - "deployedOn": "invoke.treasury_council_setSnapshotContract", - "gasUsed": 60437, - "gasCost": "5868699738", + "setScPoolName": { + "hash": "0x81ae27678eca3421c28a476b4383bd1cae83737ec213f88aacc3e24747553dea", + "events": { + "PoolNameUpdated": [ + { + "name": "PoolNameUpdated", + "args": [ + "1", + "Spartan Council Pool", + "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + ] + } + ] + }, + "deployedOn": "invoke.setScPoolName", + "gasUsed": 61033, + "gasCost": "1090125363", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + } + }, + "settings": {} + }, + "hash": "8f7409d33011f8683ed66f584552dc1c", + "version": 7 + }, + "invoke.setSynthAsyncFixedFeeUsde": { + "artifacts": { + "contracts": {}, + "txns": { + "setSynthAsyncFixedFeeUsde": { + "hash": "0x78db7301fee98b6cd62f3bde5f5dd95a66a20b78303d975ecd2b263db7eef7c5", + "events": { + "AsyncFixedFeeSet": [ + { + "name": "AsyncFixedFeeSet", + "args": [ + "2", + "0" + ] + } + ] + }, + "deployedOn": "invoke.setSynthAsyncFixedFeeUsde", + "gasUsed": 36766, + "gasCost": "1044230686", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + } + }, + "settings": {} + }, + "hash": "368f907f725e26dc3897bca69c5f471d", + "version": 7 + }, + "invoke.setSynthPriceUsde": { + "artifacts": { + "contracts": {}, + "txns": { + "setSynthPriceUsde": { + "hash": "0xedd6223b5ab3741bcbcd85aadc8f9f79abccaf702b42ada9928e447811091a90", + "events": { + "SynthPriceDataUpdated": [ + { + "name": "SynthPriceDataUpdated", + "args": [ + "2", + "0x6ae877954415ceaedd606bf8e6a37b812e5ce49c195785255be2934391b2d2ea", + "0x6ae877954415ceaedd606bf8e6a37b812e5ce49c195785255be2934391b2d2ea", + "60" + ] + } + ] + }, + "deployedOn": "invoke.setSynthPriceUsde", + "gasUsed": 102810, + "gasCost": "1003945773", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + } + }, + "settings": {} + }, + "hash": "e1718995044d5950c5e91ab15334a488", + "version": 7 + }, + "invoke.setSynthSkewScaleUsde": { + "artifacts": { + "contracts": {}, + "txns": { + "setSynthSkewScaleUsde": { + "hash": "0xfd30db699d090db33d9368bc6a60b94e88fee2aeb0d893ed23e5ba8bde086888", + "events": { + "MarketSkewScaleSet": [ + { + "name": "MarketSkewScaleSet", + "args": [ + "2", + "0" + ] + } + ] + }, + "deployedOn": "invoke.setSynthSkewScaleUsde", + "gasUsed": 36710, + "gasCost": "1031626013", "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" } }, - "extras": {} + "settings": {} }, - "hash": "47916b97beefb7f3e2dd4305d0508f29", - "version": 6 + "hash": "557e9ccc5c493a8f4f92abea0ece8031", + "version": 7 }, - "invoke.unapprove_wrongfully_deployed_snx_pool": { + "invoke.setSynthSettlementStrategyUsde": { "artifacts": { "contracts": {}, "txns": { - "unapprove_wrongfully_deployed_snx_pool": { - "hash": "0xf8cbc5d2fbb355513c0c6172cfbf7f23c1e3bf221ae38cba7cc5c175e08e3222", + "setSynthSettlementStrategyUsde": { + "hash": "0x3b34623ce8a2f454a4233d00c42fed7f276acdacf5a70b065772ae4af6ffaa85", "events": { - "PoolApprovedRemoved": [ + "SettlementStrategySet": [ { - "name": "PoolApprovedRemoved", + "name": "SettlementStrategySet", "args": [ + "2", + "0", { - "type": "BigNumber", - "hex": "0x02" + "strategyType": 1, + "settlementDelay": "2", + "settlementWindowDuration": "60", + "priceVerificationContract": "0xDd24F84d36BF92C65F92307595335bdFab5Bbd21", + "feedId": "0x6ec879b1e9963de5ee97e9c8710b742d6228252a5e2ca12d4ae81d7fe5ee8c5d", + "url": "https://api.synthetix.io/pyth-mainnet/api/get_vaa_ccip?data={data}", + "settlementReward": "0", + "priceDeviationTolerance": "1000000000000000000", + "minimumUsdExchangeAmount": "1000000000000", + "maxRoundingLoss": "1000000000000", + "disabled": false } ] } ] }, - "deployedOn": "invoke.unapprove_wrongfully_deployed_snx_pool", - "gasUsed": 41499, - "gasCost": "5819928161", + "deployedOn": "invoke.setSynthSettlementStrategyUsde", + "gasUsed": 258792, + "gasCost": "981507213", + "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" + } + }, + "settings": {} + }, + "hash": "a119c2df2d3dcf9383865d14980321fa", + "version": 7 + }, + "invoke.allowAllCreatePool": { + "artifacts": { + "contracts": {}, + "txns": { + "allowAllCreatePool": { + "hash": "0xdb474518492c03743fd9f0030cdc59b1d6fa7904f442ee95ab7bd504ed4639e5", + "events": { + "FeatureFlagAllowAllSet": [ + { + "name": "FeatureFlagAllowAllSet", + "args": [ + "0x637265617465506f6f6c00000000000000000000000000000000000000000000", + true + ] + } + ] + }, + "deployedOn": "invoke.allowAllCreatePool", + "gasUsed": 37085, + "gasCost": "1037139618", "signer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9" } }, - "extras": {} + "settings": {} }, - "hash": "ea2baf98cbc4a19adee28ba38295d64c", - "version": 6 + "hash": "c05a4629ce150fbd2f970e97d721f3e3", + "version": 7 } }, "options": {}, diff --git a/11155111-main/extras.json b/11155111-main/extras.json index 93666b04eb..539e96aeb4 100644 --- a/11155111-main/extras.json +++ b/11155111-main/extras.json @@ -1,4 +1,56 @@ { - "weth_oracle_id": "0xa1ad04e5fe674fe144be389adb9340f0b15e73d866da4e70145eec4ef867955b", - "eth_oracle_id": "0xa1ad04e5fe674fe144be389adb9340f0b15e73d866da4e70145eec4ef867955b" + "account_timeout_withdraw": "86400", + "bigCapDefaultStalenessTolerance": "3600", + "bigCapSettlementDelay": "2", + "bigCapSettlementWindowDuration": "60", + "bigCapStrictStalenessTolerance": "60", + "bundleSalt": "snax", + "ccip_router": "0xd0daae2231e9cb96b94c8512223533293c3693bf", + "ccip_token_pool": "0x9b65749b38278060c5787cce0391ac7f1094c8e8", + "commitmentPriceDelay": "2", + "deployer": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", + "legacy_market_package": "synthetix-legacy-market:3.3.4", + "minimum_liquidity_ratio": "2000000000000000000", + "owner": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", + "pdao": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", + "pool_owner": "0x48914229deDd5A9922f44441ffCCfC2Cb7856Ee9", + "pythFeedUrl": "https://api.synthetix.io/pyth-mainnet/api/get_vaa_ccip?data={data}", + "pythPriceVerificationAddress": "", + "pythSnxFeedId": "0x39d020f60982ed892abbcd4a06a276a9f9b7bfbce003204c110b6e488f502da3", + "pythSusdeFeedId": "0xca3ba9a619a4b3755c10ac7d5e760275aa95e9823d38a84fedd416856cdba37c", + "pythUsdeFeedId": "0x6ec879b1e9963de5ee97e9c8710b742d6228252a5e2ca12d4ae81d7fe5ee8c5d", + "pythWstEthFeedId": "0x6df640f3b8963d8f8358f791f352b8364513f6ab1cca5ed3f1f7b5448980e784", + "pyth_price_verification_address": "0xDd24F84d36BF92C65F92307595335bdFab5Bbd21", + "salt": "snaxtest", + "sc_pool_id": "1", + "settlementMaxRoundingLoss": "0.000001", + "settlementMinimumUsdExchangeAmount": "0.000001", + "settlementReward": "1", + "snx_aggregator_address": "0xc0F82A46033b8BdBA4Bb0B0e28Bc2006F64355bC", + "snx_liquidation_reward": "", + "snx_package": "synthetix:3.3.15", + "spotStrictStalenessTolerance": "60", + "spot_market_package": "synthetix-spot-market:3.3.15", + "susde_aggregator_address": "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E", + "susde_package": "usde-token", + "synthUsdeAsyncFixedFee": "0", + "synthUsdeSkewScale": "0", + "synth_usde_max_market_collateral": "100000000000000000000000000", + "target_preset": "main", + "usde_aggregator_address": "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E", + "weth_liquidation_reward": "10000000000000000000", + "wsteth_aggregator_address": "0x694AA1769357215DE4FAC081bf1f309aDC325306", + "snx_lookup_oracle_id": "0x6b76b73294b1dc92ada3354faa272b836ee3ce2d5be71c46cbe8b3e07e76ad0c", + "susde_lookup_oracle_id": "0x0faa5c2008d0a57a0cc8d733733f4c9ec6c74aff68c2b3f4abb5d97f62231259", + "wsteth_lookup_oracle_id": "0x4058cedfa4a25f97f611ab45fe6649dd8a71369e13f19ac4bd1bb18f54e3cfc6", + "snx_pyth_oracle_id": "0x5db8d5ecf48e99cf2e7d22ac46e623efe1bfe140b78f75ee4b243e738a52822b", + "susde_pyth_oracle_id": "0xdf6310120694b92b54df223540e2050c7a1bad93ae217d5be1d2d32b0cf9e36c", + "wsteth_pyth_oracle_id": "0xd78e6d53200dc24c0c99ff0ee1455699b07fd68228c903f1123dcf529f81db49", + "usde_oracle_id": "0x6ae877954415ceaedd606bf8e6a37b812e5ce49c195785255be2934391b2d2ea", + "synth_usde_market_id": "2", + "synth_usde_token_address": "0x3A12E3f802437CD3A9755386BEd65Cca751a730e", + "snx_oracle_id": "0x8c1b31ea056b3cb8b93a6a7d71127852106d37960d92abfe579e266486491446", + "susde_oracle_id": "0x13e4f468d8ac3735b2fddfbc926a190ca8290385447834f16713406ba2898489", + "wsteth_oracle_id": "0xb4c7a22c94195538131684c05704010fa32ca52f2d2d69468192f932b9c0fdb8", + "snx_address": "0x079E7E1C0cBFee4B2D2798A9d426009D08b1F9cb" } \ No newline at end of file diff --git a/11155111-main/meta.json b/11155111-main/meta.json index 5c6e2cb4d1..35087b55c5 100644 --- a/11155111-main/meta.json +++ b/11155111-main/meta.json @@ -2,14 +2,20 @@ "chainId": 11155111, "name": "synthetix-omnibus", "preset": "main", - "version": "3.3.4-3", - "generator": "cannon cli 2.10.7", - "timestamp": 1706205519, + "version": "1", + "generator": "cannon cli 2.15.0", + "timestamp": 1718666101, "miscUrl": "ipfs://QmeSt2mnJKE8qmRhLyYbHQQxDKpsFbcWnw5e7JF4xVbN6k", "contracts": { - "CoreProxy": "0x76490713314fCEC173f44e99346F54c6e92a8E42", - "AccountProxy": "0xe487Ad4291019b33e2230F8E2FB1fb6490325260", - "USDProxy": "0x1b791d05E437C78039424749243F5A79E747525e", - "OracleManagerProxy": "0x12aE0D5CD26f212bFE242DA78139d463019f7a73" + "CoreProxy": "0x8715b7eaDC55DF39F0D7bd8D5Ae44BaD4A7a0a8f", + "AccountProxy": "0xCb5D8fE2B4AfbedB1970CCDc2f2e2919a6114240", + "USDProxy": "0xF87E23c41Ce898Ab7640FC3Ce2eb8B11f257e67a", + "OracleManagerProxy": "0xA86DcB6f02a0AFEc5b66Ad7112ACd3bcbbdF98ca", + "LegacyMarketProxy": "0x94c53500d38f95dEea37Bada599d54D8DabEF776", + "V2x": "0x29Ba9b0C440CE9e7B0E46138B5Fda83c22467006", + "TrustedMulticallForwarder": "0xE2C5658cC5C448B48141168f3e475dF8f65A1e3e", + "SpotMarketProxy": "0xdBE114Ef3054Ad9Ed2A3b6beee538433f72BAfc2", + "PythERC7412Wrapper": "0x83Ae08221416e1f5Cd848a5911988A184110AFD9", + "SNXToken": "0x079E7E1C0cBFee4B2D2798A9d426009D08b1F9cb" } } \ No newline at end of file