From e6b0a942976421b18d36c118364013a9a4fdfba2 Mon Sep 17 00:00:00 2001 From: synthetix-team Date: Fri, 5 Apr 2024 12:15:02 +0000 Subject: [PATCH] [NEXT] 1-main DO NOT MERGE! --- 1-main/AllErrors.json | 138 +- 1-main/AllErrors.readable.json | 15 +- 1-main/CoreProxy.json | 311 ++- 1-main/CoreProxy.readable.json | 23 +- 1-main/OracleManagerProxy.json | 14 + 1-main/OracleManagerProxy.readable.json | 1 + 1-main/TrustedMulticallForwarder.json | 798 +++++++ .../TrustedMulticallForwarder.readable.json | 36 + 1-main/cannon.json | 1915 ++++++++++------- 1-main/meta.json | 6 +- 10 files changed, 2318 insertions(+), 939 deletions(-) create mode 100644 1-main/TrustedMulticallForwarder.json create mode 100644 1-main/TrustedMulticallForwarder.readable.json diff --git a/1-main/AllErrors.json b/1-main/AllErrors.json index c3b0e71606..09efc6126c 100644 --- a/1-main/AllErrors.json +++ b/1-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", @@ -618,6 +600,16 @@ } ] }, + { + "type": "error", + "name": "InsufficientAccountCollateral", + "inputs": [ + { + "type": "uint256", + "name": "requestedAmount" + } + ] + }, { "type": "error", "name": "InsufficientDelegation", @@ -807,6 +799,20 @@ } ] }, + { + "type": "error", + "name": "OracleDataRequired", + "inputs": [ + { + "type": "address", + "name": "oracleContract" + }, + { + "type": "bytes", + "name": "oracleQuery" + } + ] + }, { "type": "error", "name": "OverflowInt56ToInt24", @@ -846,5 +852,101 @@ "name": "operation" } ] + }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "type": "address", + "name": "account" + } + ] + }, + { + "type": "error", + "name": "ERC2771ForwarderExpiredRequest", + "inputs": [ + { + "type": "uint48", + "name": "deadline" + } + ] + }, + { + "type": "error", + "name": "ERC2771ForwarderInvalidSigner", + "inputs": [ + { + "type": "address", + "name": "signer" + }, + { + "type": "address", + "name": "from" + } + ] + }, + { + "type": "error", + "name": "ERC2771ForwarderMismatchedValue", + "inputs": [ + { + "type": "uint256", + "name": "requestedValue" + }, + { + "type": "uint256", + "name": "msgValue" + } + ] + }, + { + "type": "error", + "name": "ERC2771UntrustfulTarget", + "inputs": [ + { + "type": "address", + "name": "target" + }, + { + "type": "address", + "name": "forwarder" + } + ] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidAccountNonce", + "inputs": [ + { + "type": "address", + "name": "account" + }, + { + "type": "uint256", + "name": "currentNonce" + } + ] + }, + { + "type": "error", + "name": "InvalidShortString", + "inputs": [] + }, + { + "type": "error", + "name": "StringTooLong", + "inputs": [ + { + "type": "string", + "name": "str" + } + ] } ] \ No newline at end of file diff --git a/1-main/AllErrors.readable.json b/1-main/AllErrors.readable.json index e20f551807..d06fa806b7 100644 --- a/1-main/AllErrors.readable.json +++ b/1-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)", @@ -62,6 +60,7 @@ "error OverflowUint64ToInt64()", "error RewardDistributorNotFound()", "error RewardUnavailable(address distributor)", + "error InsufficientAccountCollateral(uint256 requestedAmount)", "error InsufficientDelegation(uint256 minDelegation)", "error InvalidCollateralAmount()", "error InvalidLeverage(uint256 leverage)", @@ -79,10 +78,20 @@ "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 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)" ] \ No newline at end of file diff --git a/1-main/CoreProxy.json b/1-main/CoreProxy.json index dfc5bd1d76..8d782c4e55 100644 --- a/1-main/CoreProxy.json +++ b/1-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,26 @@ "type": "address", "name": "market", "indexed": true + }, + { + "type": "int128", + "name": "creditCapacity", + "indexed": false + }, + { + "type": "int128", + "name": "netIssuance", + "indexed": false + }, + { + "type": "uint256", + "name": "depositedCollateralValue", + "indexed": false + }, + { + "type": "uint256", + "name": "reportedDebt", + "indexed": false } ] }, @@ -2700,6 +2760,26 @@ "type": "address", "name": "market", "indexed": true + }, + { + "type": "int128", + "name": "creditCapacity", + "indexed": false + }, + { + "type": "int128", + "name": "netIssuance", + "indexed": false + }, + { + "type": "uint256", + "name": "depositedCollateralValue", + "indexed": false + }, + { + "type": "uint256", + "name": "reportedDebt", + "indexed": false } ] }, @@ -3145,99 +3225,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 +3562,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 +3652,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 +3823,19 @@ ], "outputs": [] }, + { + "type": "function", + "name": "renouncePoolOwnership", + "constant": false, + "payable": false, + "inputs": [ + { + "type": "uint128", + "name": "poolId" + } + ], + "outputs": [] + }, { "type": "function", "name": "revokePoolNomination", @@ -4109,6 +4159,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 +4384,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", @@ -4361,6 +4472,16 @@ } ] }, + { + "type": "error", + "name": "InsufficientAccountCollateral", + "inputs": [ + { + "type": "uint256", + "name": "requestedAmount" + } + ] + }, { "type": "error", "name": "InsufficientDelegation", @@ -4536,10 +4657,6 @@ { "type": "uint256", "name": "amount" - }, - { - "type": "uint256", - "name": "value" } ] }, diff --git a/1-main/CoreProxy.readable.json b/1-main/CoreProxy.readable.json index bb8d2b589f..a2bdafffd1 100644 --- a/1-main/CoreProxy.readable.json +++ b/1-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, uint256 reportedDebt)", + "event MarketUsdWithdrawn(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", "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,9 +229,12 @@ "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 InsufficientAccountCollateral(uint256 requestedAmount)", "error InsufficientDelegation(uint256 minDelegation)", "error InvalidCollateralAmount()", "error InvalidLeverage(uint256 leverage)", @@ -241,7 +242,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/1-main/OracleManagerProxy.json b/1-main/OracleManagerProxy.json index 5f3e4ef18c..5704daf3d2 100644 --- a/1-main/OracleManagerProxy.json +++ b/1-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/1-main/OracleManagerProxy.readable.json b/1-main/OracleManagerProxy.readable.json index fe5b7e3f9c..3b3372c58f 100644 --- a/1-main/OracleManagerProxy.readable.json +++ b/1-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/1-main/TrustedMulticallForwarder.json b/1-main/TrustedMulticallForwarder.json new file mode 100644 index 0000000000..7caa24294b --- /dev/null +++ b/1-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/1-main/TrustedMulticallForwarder.readable.json b/1-main/TrustedMulticallForwarder.readable.json new file mode 100644 index 0000000000..ebe2694b58 --- /dev/null +++ b/1-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/1-main/cannon.json b/1-main/cannon.json index 74659c5ecc..228d41835a 100644 --- a/1-main/cannon.json +++ b/1-main/cannon.json @@ -1,4 +1,6 @@ { + "generator": "cannon cli 2.11.24", + "timestamp": 1712319299, "def": { "setting": { "minimum_liquidity_ratio": { @@ -8,7 +10,7 @@ "defaultValue": "86400" }, "snx_package": { - "defaultValue": "synthetix:3.3.4" + "defaultValue": "synthetix:3.3.5" }, "owner": { "defaultValue": "0x6E1613B5c68B4Cf2A58400D8019a97849A678139" @@ -50,10 +52,10 @@ "defaultValue": "0x057152DB365B47851B0A0bd431644b8eE21fE1b4" }, "spot_market_package": { - "defaultValue": "synthetix-spot-market:3.3.4" + "defaultValue": "synthetix-spot-market:3.3.5" }, "perps_market_package": { - "defaultValue": "synthetix-perps-market:3.3.4" + "defaultValue": "synthetix-perps-market:3.3.5" } }, "invoke": { @@ -101,15 +103,6 @@ ] ], "depends": [ - "provision.system", - "provision.system", - "provision.system", - "provision.system", - "provision.system", - "provision.system", - "provision.system", - "provision.system", - "provision.system", "provision.system", "provision.system" ] @@ -192,6 +185,13 @@ "args": [ "<%= settings.sc_pool_id %>", "<%= settings.pool_owner %>" + ], + "depends": [ + "invoke.permitCreatePool", + "provision.system", + "provision.system", + "provision.system", + "provision.system" ] }, "setScPoolName": { @@ -211,15 +211,6 @@ ], "depends": [ "invoke.createScPool", - "provision.system", - "provision.system", - "provision.system", - "provision.system", - "provision.system", - "provision.system", - "provision.system", - "provision.system", - "provision.system", "provision.system" ] }, @@ -236,15 +227,6 @@ ], "depends": [ "invoke.createScPool", - "provision.system", - "provision.system", - "provision.system", - "provision.system", - "provision.system", - "provision.system", - "provision.system", - "provision.system", - "provision.system", "provision.system" ] }, @@ -287,7 +269,7 @@ } }, "name": "synthetix-omnibus", - "version": "4", + "version": "5", "description": "Includes the full synthetix system with configurations applied" }, "state": { @@ -295,329 +277,24 @@ "artifacts": { "imports": { "system": { - "url": "ipfs://QmUtELWtepNn1ByaFUF8YAgLMtdvy6GGe2P9ex48EVit4H", + "url": "ipfs://QmaXb5npBAvEFJih7oSvg2Yv6dQ9G4LAGNZ2mKwLWhR5cC", "tags": [ "latest" ], "preset": "main", - "imports": { - "oracle_manager": { - "url": "ipfs://QmUo3tYVM7MPGnihmAhnyTG6o1ryXB96ah31nmSr6x9jYp", - "tags": [ - "latest" - ], - "preset": "with-synthetix", - "contracts": { - "CoreModule": { - "address": "0x874573f87a53e6D9D6F11eE8Bb994E247dB55509", - "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": "0x4138c6203bd14aa46ae82320dbf12769582e0c8e7fa9312ddcc64a3ce266354d", - "sourceName": "contracts/modules/CoreModule.sol", - "contractName": "CoreModule", - "deployedOn": "contract.CoreModule" - }, - "InitialProxy": { - "address": "0x0aaF300E148378489a8A471DD3e9E53E30cb42e3", - "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": [ - "0x874573f87a53e6D9D6F11eE8Bb994E247dB55509", - "0x6E1613B5c68B4Cf2A58400D8019a97849A678139" - ], - "linkedLibraries": {}, - "deployTxnHash": "0x727e23917aaded347b4a9df8fa5e189100d329b2c08e5ecdb6fd7e3ab0132c84", - "sourceName": "contracts/Proxy.sol", - "contractName": "Proxy", - "deployedOn": "contract.InitialProxy" - }, - "NodeModule": { - "address": "0x6e7209c0dB7110fc5606BAAC492Ce4dEA2EFEd8e", - "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 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": "0x81c3f8f7e0bf2640bc2c5691eeca42c1f8eecc780deb6f1dbd2220295ca637b0", - "sourceName": "contracts/modules/NodeModule.sol", - "contractName": "NodeModule", - "deployedOn": "contract.NodeModule" - }, - "OracleRouter": { - "address": "0x6172289961007908442a0437891DcD966F368563", - "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 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": "0x4d08b0ad414ab994766c27c9b09f8f8463910c0a981a228310fa5613ceb04115", - "contractName": "OracleRouter", - "sourceName": "OracleRouter.sol" - }, - "Proxy": { - "address": "0x0aaF300E148378489a8A471DD3e9E53E30cb42e3", - "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 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" - } - }, - "txns": { - "upgrade_proxy": { - "hash": "0xf38306766a2a14a7593dc5a2b9c9b3cab5af3e4bb08ca4c6f854c6589ddfa11f", - "events": { - "Upgraded": [ - { - "name": "Upgraded", - "args": [ - "0x0aaF300E148378489a8A471DD3e9E53E30cb42e3", - "0x6172289961007908442a0437891DcD966F368563" - ] - } - ] - }, - "deployedOn": "invoke.upgrade_proxy" - } - }, - "extras": {} - } - }, "contracts": { - "InitialModuleBundle": { - "address": "0x828EED723cAF0A8F822249231266E38dF614923C", + "AccountModule": { + "address": "0x54287AaB4D98eA51a3B1FBceE56dAf27E04a56A6", "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" - }, - "InitialCoreProxy": { - "address": "0xffffffaEff0B96Ea8e4f94b2253f31abdD875847", - "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", - "0x6E1613B5c68B4Cf2A58400D8019a97849A678139" - ], - "linkedLibraries": {}, - "deployTxnHash": "0x61ea4c25df95b8df1478f840390eb2d6097f20edf48781fa1345bdc178d305c2", - "sourceName": "contracts/Proxy.sol", - "contractName": "Proxy", - "deployedOn": "contract.InitialCoreProxy" - }, - "FeatureFlagModule": { - "address": "0x3f050dD41fb168Da28931A10337614A08e5750f6", - "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": "0x30054e78447359447e2702906f52c315a537f062c4bf736dca9047a4db2a7502", - "sourceName": "contracts/modules/core/FeatureFlagModule.sol", - "contractName": "FeatureFlagModule", - "deployedOn": "contract.FeatureFlagModule" - }, - "AccountModule": { - "address": "0x95AfaD3bc603F6AcAa8Fd98a11790fDcC14201C6", - "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 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)", @@ -637,13 +314,65 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0xd96c41f3bfc7461f8f3d84b3edd4b1b97bb00ec862607859aa245e36b17ba3b7", + "deployTxnHash": "0x1c159be6c228251f828f6bcd6f09a8cfdc354f39bb1243fbd8be3acd97a2b3a2", "sourceName": "contracts/modules/core/AccountModule.sol", "contractName": "AccountModule", - "deployedOn": "contract.AccountModule" + "deployedOn": "contract.AccountModule", + "gasUsed": 1209268, + "gasCost": "23450612912" + }, + "AccountTokenModule": { + "address": "0xE401FBb0d6828e9f25481efDc9dd18Da9E500983", + "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": "0x787a3151927d9ef803a4cd1d9efe2bc164ab61814b4374e663443d786de8afca", + "sourceName": "contracts/modules/account/AccountTokenModule.sol", + "contractName": "AccountTokenModule", + "deployedOn": "contract.AccountTokenModule", + "gasUsed": 1787668, + "gasCost": "20870526363" }, "AssociateDebtModule": { - "address": "0x896c3A88CF3C0330948d844951D5Ed7cF2d9A48D", + "address": "0xb6aA91E8904d691a10372706e57aE1b390D26353", "abi": [ "error AccountNotFound(uint128 accountId)", "error EmptyDistribution()", @@ -662,13 +391,15 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0x009cce6237365a8dd2abe0d1afd5dc4ad1c5a781db8ee4e48ac71fd0c103ad82", + "deployTxnHash": "0xf8b90e4b664714a5c57f5b88a4d2041e06883560d5e3654111e5711556078d3a", "sourceName": "contracts/modules/core/AssociateDebtModule.sol", "contractName": "AssociateDebtModule", - "deployedOn": "contract.AssociateDebtModule" + "deployedOn": "contract.AssociateDebtModule", + "gasUsed": 2267106, + "gasCost": "18682726436" }, "AssociatedSystemsModule": { - "address": "0x8655d839f2e12E0BF7B13FC78d6E5E5495d50c69", + "address": "0x6fFa22292b86D678fF6621eEdC9B15e68dC44DcD", "abi": [ "error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)", "error MissingAssociatedSystem(bytes32 id)", @@ -681,13 +412,15 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0xe58bce6ac4300b0890046eeb5f7f36faa6823cb86cf9b9aa690ac5f7e86734fa", + "deployTxnHash": "0xe216e12657dd11b0f1dcfff210fb58794e255c60b24587992c4f26c5f1841061", "sourceName": "contracts/modules/associated-systems/AssociatedSystemsModule.sol", "contractName": "AssociatedSystemsModule", - "deployedOn": "contract.AssociatedSystemsModule" + "deployedOn": "contract.AssociatedSystemsModule", + "gasUsed": 877177, + "gasCost": "16806457425" }, "CcipReceiverModule": { - "address": "0x5B0899eBE04F08fA9472487E725192b47DBCe611", + "address": "0x11632F9766Ee9d9317F95562a6bD529652ead78f", "abi": [ "error InvalidMessage()", "error NotCcipRouter(address)", @@ -697,13 +430,38 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0x4e11e8df19fc3ba644ba8cdc66bef4b52e977d6c94a215812e98c84652865f00", + "deployTxnHash": "0x0be519a66b547a16e43c52f74cb25c746d7c86bfc58230f0b880d1a5ab93a012", "sourceName": "contracts/modules/core/CcipReceiverModule.sol", "contractName": "CcipReceiverModule", - "deployedOn": "contract.CcipReceiverModule" + "deployedOn": "contract.CcipReceiverModule", + "gasUsed": 469476, + "gasCost": "14946192422" + }, + "CollateralConfigurationModule": { + "address": "0x4f1F87d512650f32bf9949C4c5Ef37a3cc891C6D", + "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": "0xbb69cb366999fa483a9a49ee203c1af862c14d7bba9af9f3564a99ff35f5b8e0", + "sourceName": "contracts/modules/core/CollateralConfigurationModule.sol", + "contractName": "CollateralConfigurationModule", + "deployedOn": "contract.CollateralConfigurationModule", + "gasUsed": 837646, + "gasCost": "13257480058" }, "CollateralModule": { - "address": "0xCDF91a2efA3308ec985afA57754Ba8b6709cC8ce", + "address": "0x499AA73A1D27e54B33E7DB05ffd22854EC70257E", "abi": [ "error AccountActivityTimeoutPending(uint128 accountId, uint256 currentTime, uint256 requiredTime)", "error AccountNotFound(uint128 accountId)", @@ -735,34 +493,15 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0x0f792cf4077dab984e295b39b18ffa60b79703a19b08482a56ccea96269a724c", + "deployTxnHash": "0x5eae6c2ae82dca5b025bfb79d04ff1c4621b54eb2e349139a11942539f7e0725", "sourceName": "contracts/modules/core/CollateralModule.sol", "contractName": "CollateralModule", - "deployedOn": "contract.CollateralModule" - }, - "CollateralConfigurationModule": { - "address": "0xB93B39B9e8d2B47042a186DEccf07442e01816Ec", - "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": "0xa96da299cdb54671c3812817401e2729d475a1e7889f69bd623408c013252ef6", - "sourceName": "contracts/modules/core/CollateralConfigurationModule.sol", - "contractName": "CollateralConfigurationModule", - "deployedOn": "contract.CollateralConfigurationModule" + "deployedOn": "contract.CollateralModule", + "gasUsed": 1730020, + "gasCost": "11810856961" }, "CrossChainUSDModule": { - "address": "0xEE2Eb1DA7c13f65Bb6ffDA195ADC63bb177f8AbA", + "address": "0x4c04377f90Eb1E42D845AB21De874803B8773669", "abi": [ "error FeatureUnavailable(bytes32 which)", "error InsufficientCcipFee(uint256 requiredAmount, uint256 availableAmount)", @@ -772,13 +511,75 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0x4de916011b556671536b93223eabe9cb0db0d9ac52e4a012e15a160821b6429f", + "deployTxnHash": "0xe035ffe7f1825afa68527fca39fc15011afb985223a942a0a172d602d11852b9", "sourceName": "contracts/modules/core/CrossChainUSDModule.sol", "contractName": "CrossChainUSDModule", - "deployedOn": "contract.CrossChainUSDModule" + "deployedOn": "contract.CrossChainUSDModule", + "gasUsed": 595289, + "gasCost": "10615358164" + }, + "FeatureFlagModule": { + "address": "0xf93b0549cD50c849D792f0eAE94A598fA77C7718", + "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": "0x1cbf8de2911c750e7dc35fcbb7f227ac56baa132cef3f61197b114c758c76414", + "sourceName": "contracts/modules/core/FeatureFlagModule.sol", + "contractName": "FeatureFlagModule", + "deployedOn": "contract.FeatureFlagModule", + "gasUsed": 777054, + "gasCost": "9461137702" + }, + "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" }, "IssueUSDModule": { - "address": "0x3391297a26e769475eBFFE912EFf05C51095D082", + "address": "0x8CeA85eC7f3D314c4d144e34F2206C8Ac0bbadA1", "abi": [ "error CollateralDepositDisabled(address collateralType)", "error EmptyDistribution()", @@ -804,13 +605,15 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0x1760bf79a58901d71d2a6d5ee6ba9b962fae498dd3d45554769b8554cf2bc0ff", + "deployTxnHash": "0x1ef96b93e9fb26285f4e35c2a85a2709cfa36e7086277ef7715b7d7117e0d32a", "sourceName": "contracts/modules/core/IssueUSDModule.sol", "contractName": "IssueUSDModule", - "deployedOn": "contract.IssueUSDModule" + "deployedOn": "contract.IssueUSDModule", + "gasUsed": 2808871, + "gasCost": "8458285164" }, "LiquidationModule": { - "address": "0xf378Bd660c1c2B6790634f4B38BDbAbeBa075D8A", + "address": "0x29023DE63D7075B4cC2CE30B55f050f9c67548d4", "abi": [ "error AccountNotFound(uint128 accountId)", "error CannotScaleEmptyMapping()", @@ -837,13 +640,15 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0xfe94157d4106a0f30851748555e11490f990e4024f16ec46683c15b4d74db20f", + "deployTxnHash": "0xc8daf1da040d6325e708810f7cf63674830a12a404f513015e91c48506a353d6", "sourceName": "contracts/modules/core/LiquidationModule.sol", "contractName": "LiquidationModule", - "deployedOn": "contract.LiquidationModule" + "deployedOn": "contract.LiquidationModule", + "gasUsed": 2889614, + "gasCost": "7700577527" }, "MarketCollateralModule": { - "address": "0x5a19Abe2c65056b9928e665233d6E517FCf4d62C", + "address": "0xCA87833e830652C2ab07E1e03eBa4F2c246D3b58", "abi": [ "error CollateralNotFound()", "error FailedTransfer(address from, address to, uint256 value)", @@ -854,8 +659,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)", @@ -866,13 +671,15 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0xf47107ec71a1e6c05b82062031933503eb9a9b85d35a134e01d6050046f9ebb4", + "deployTxnHash": "0xc137e49ae95bce2762db8029325601e757545b26bd81147d22d21de1b5e919d3", "sourceName": "contracts/modules/core/MarketCollateralModule.sol", "contractName": "MarketCollateralModule", - "deployedOn": "contract.MarketCollateralModule" + "deployedOn": "contract.MarketCollateralModule", + "gasUsed": 1222509, + "gasCost": "7024356025" }, "MarketManagerModule": { - "address": "0xa8b6B4a1b114D1157bc21E49eA24D90165136870", + "address": "0x9Bb65b12162a51413272d10399282E730822Df44", "abi": [ "error EmptyDistribution()", "error FeatureUnavailable(bytes32 which)", @@ -888,8 +695,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, uint256 reportedDebt)", + "event MarketUsdWithdrawn(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", "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)", @@ -916,32 +723,15 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0x44daab21b499935a81f4421ad55a93b1a2da3219dcf265db820dbe242a20ca3f", + "deployTxnHash": "0x0c50390331859f2831db3f7cc1bee489176737e00d061984609e3a6db69a87de", "sourceName": "contracts/modules/core/MarketManagerModule.sol", "contractName": "MarketManagerModule", - "deployedOn": "contract.MarketManagerModule" - }, - "MulticallModule": { - "address": "0xD54ba8b0851b7456508d45264aad1FDdc7499e73", - "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": "0xf0ba4d81b505a6420c7d2343524b455c4cbd3cb0292c4d49c30ddaa0b38e4069", - "sourceName": "contracts/modules/core/MulticallModule.sol", - "contractName": "MulticallModule", - "deployedOn": "contract.MulticallModule" + "deployedOn": "contract.MarketManagerModule", + "gasUsed": 2756377, + "gasCost": "6332685101" }, "PoolConfigurationModule": { - "address": "0x8C35743b4DC33cc2e8D5ddA8bCF428340424349F", + "address": "0x7A5EC257391817ef241ef8451642cC6b222d4f8C", "abi": [ "error PoolNotFound(uint128 poolId)", "error Unauthorized(address addr)", @@ -958,13 +748,15 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0xc63f48678b3bcfbe0a5ad326cb981bd47677c5e1cba582f48ac7a1ece792bf2a", + "deployTxnHash": "0x78a5b3303d8815b33870c9aa5c221749da9c9762f53bc9dda2122e2bef7b85cb", "sourceName": "contracts/modules/core/PoolConfigurationModule.sol", "contractName": "PoolConfigurationModule", - "deployedOn": "contract.PoolConfigurationModule" + "deployedOn": "contract.PoolConfigurationModule", + "gasUsed": 446271, + "gasCost": "5788590219" }, "PoolModule": { - "address": "0x44406De9887af6ffc813D3Cda4aDa6fabd3946C9", + "address": "0x90E75f390332356426B60FB440DF23f860F6A113", "abi": [ "error CapacityLocked(uint256 marketId)", "error EmptyDistribution()", @@ -990,11 +782,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)", @@ -1002,6 +796,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)", @@ -1011,13 +806,15 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0x429e43b3dcb9799012da246fb53261a4f9283c0b2e6146ebc117e623d444cd87", + "deployTxnHash": "0xe4fad0ca2052b15692ba17dec480b1636c68a95811116ce2fe47f5610dfc07c9", "sourceName": "contracts/modules/core/PoolModule.sol", "contractName": "PoolModule", - "deployedOn": "contract.PoolModule" + "deployedOn": "contract.PoolModule", + "gasUsed": 3705275, + "gasCost": "5207824850" }, "RewardsManagerModule": { - "address": "0xb7059Ed9950f2D9fDc0155fC0D79e63d4441e806", + "address": "0x59c7D03d2E9893FB7bAa89dA50a9452e1e9B8b90", "abi": [ "error AccountNotFound(uint128 accountId)", "error FeatureUnavailable(bytes32 which)", @@ -1042,6 +839,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)", @@ -1049,39 +847,83 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0x828e69738083be12c3ce0598a757c114a9c3f0ff191c57152829b04a116e9251", + "deployTxnHash": "0xb84ba3ab661619de856cec25c175e5f9bedcd0d7917189e93439d13542c48baf", "sourceName": "contracts/modules/core/RewardsManagerModule.sol", "contractName": "RewardsManagerModule", - "deployedOn": "contract.RewardsManagerModule" + "deployedOn": "contract.RewardsManagerModule", + "gasUsed": 2131621, + "gasCost": "4811772979" }, - "UtilsModule": { - "address": "0x7ebCBBD835D17661b26b8AFAe75b5f94BfDC12cA", + "USDTokenModule": { + "address": "0x834Ea01e45F9b5365314358159d92d134d89feEb", "abi": [ + "error AlreadyInitialized()", + "error InsufficientAllowance(uint256 required, uint256 existing)", + "error InsufficientBalance(uint256 required, uint256 existing)", "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 setConfig(bytes32 k, bytes32 v)", - "function setSupportedCrossChainNetworks(uint64[] supportedNetworks, uint64[] ccipSelectors) returns (uint256 numRegistered)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)" - ], - "constructorArgs": [], - "linkedLibraries": {}, - "deployTxnHash": "0x914048882ecbf18cca873d7dfc6dfcbac7c70daa26fbb63705b9bc4c08764a65", - "sourceName": "contracts/modules/core/UtilsModule.sol", - "contractName": "UtilsModule", - "deployedOn": "contract.UtilsModule" - }, - "VaultModule": { - "address": "0xA154EcFFfb46380991751DE890956b245142e10C", - "abi": [ - "error CapacityLocked(uint256 marketId)", + "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": "0xea1c6bbced9ebb29618a7f3d2209f5470462ca8b07390a7ea6f3321dfeab45ae", + "sourceName": "contracts/modules/usd/USDTokenModule.sol", + "contractName": "USDTokenModule", + "deployedOn": "contract.USDTokenModule", + "gasUsed": 1110282, + "gasCost": "4403011818" + }, + "UtilsModule": { + "address": "0x8D75F9F7f4F4C4eFAB9402261bC864f21DF0c649", + "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": "0x4d721e6779aabee9763bdc3731bc8ca276ac58e54fbcf3f1cc8658b14d590308", + "sourceName": "contracts/modules/core/UtilsModule.sol", + "contractName": "UtilsModule", + "deployedOn": "contract.UtilsModule", + "gasUsed": 759709, + "gasCost": "4009121198" + }, + "VaultModule": { + "address": "0x0dEe24C99e8dF7f0E058F4F48f228CC07DB704Fc", + "abi": [ + "error CapacityLocked(uint256 marketId)", "error CollateralDepositDisabled(address collateralType)", "error EmptyDistribution()", "error FeatureUnavailable(bytes32 which)", @@ -1112,7 +954,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)", @@ -1121,13 +963,111 @@ ], "constructorArgs": [], "linkedLibraries": {}, - "deployTxnHash": "0xd866be48cd9cd7851cd1eba226877b1633397084c4dfbd3e48bc8d1d98e73f7e", + "deployTxnHash": "0x67c2740bad6eff7f5e33b4a053a739828d5005abb564b9cc1f2c11d7c1c185ae", "sourceName": "contracts/modules/core/VaultModule.sol", "contractName": "VaultModule", - "deployedOn": "contract.VaultModule" + "deployedOn": "contract.VaultModule", + "gasUsed": 3527475, + "gasCost": "3652031519" + }, + "InitialCoreProxy": { + "address": "0xffffffaEff0B96Ea8e4f94b2253f31abdD875847", + "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", + "0x6E1613B5c68B4Cf2A58400D8019a97849A678139" + ], + "linkedLibraries": {}, + "deployTxnHash": "0x61ea4c25df95b8df1478f840390eb2d6097f20edf48781fa1345bdc178d305c2", + "sourceName": "contracts/Proxy.sol", + "contractName": "Proxy", + "deployedOn": "contract.InitialCoreProxy" + }, + "AccountRouter": { + "address": "0x04f75a27ce2fdc591c71a88f1ecac7e5ce44f5fc", + "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": "0xddb9235ec67aa14e7fb176c6a0de07055281c60bdcfe0ef4f8d6f9731934d9eb", + "contractName": "AccountRouter", + "sourceName": "AccountRouter.sol", + "gasUsed": 403596, + "gasCost": "2674197988" }, "CoreRouter": { - "address": "0x9f3be6Be18E8D0613f87c86A0b1875B74f404A11", + "address": "0x273c507d8e21cde039491b14647fe9278d88e91d", "abi": [ "error ImplementationIsSterile(address implementation)", "error NoChange()", @@ -1258,8 +1198,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)", @@ -1271,8 +1211,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, uint256 reportedDebt)", + "event MarketUsdWithdrawn(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", "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)", @@ -1296,12 +1236,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)", @@ -1322,11 +1256,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)", @@ -1334,6 +1270,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)", @@ -1351,6 +1288,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)", @@ -1361,9 +1299,12 @@ "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 InsufficientAccountCollateral(uint256 requestedAmount)", "error InsufficientDelegation(uint256 minDelegation)", "error InvalidCollateralAmount()", "error InvalidLeverage(uint256 leverage)", @@ -1371,7 +1312,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)", @@ -1379,9 +1320,71 @@ "function getVaultDebt(uint128 poolId, address collateralType) returns (int256)" ], "deployedOn": "router.CoreRouter", - "deployTxnHash": "0x5f460910d7832379da39c823dbded3589e6e53632b053a3eda7451288243600f", + "deployTxnHash": "0xf5c57587f411f51713b6682c4ff21232a029e3ce0f7d2162912161d32384815d", "contractName": "CoreRouter", - "sourceName": "CoreRouter.sol" + "sourceName": "CoreRouter.sol", + "gasUsed": 1290289, + "gasCost": "2470554070" + }, + "USDRouter": { + "address": "0x93b800cd7acdca13754624d4b1a2760a86be0d1f", + "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": "0xeca7bb09aa78274b2429d43f8e542ad3f99fb9746593fc32168513fb60a53178", + "contractName": "USDRouter", + "sourceName": "USDRouter.sol", + "gasUsed": 395163, + "gasCost": "2302546810" }, "CoreProxy": { "address": "0xffffffaEff0B96Ea8e4f94b2253f31abdD875847", @@ -1515,8 +1518,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)", @@ -1528,8 +1531,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, uint256 reportedDebt)", + "event MarketUsdWithdrawn(uint128 indexed marketId, address indexed target, uint256 amount, address indexed market, int128 creditCapacity, int128 netIssuance, uint256 depositedCollateralValue, uint256 reportedDebt)", "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)", @@ -1553,12 +1556,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)", @@ -1579,11 +1576,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)", @@ -1591,6 +1590,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)", @@ -1608,6 +1608,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)", @@ -1618,9 +1619,12 @@ "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 InsufficientAccountCollateral(uint256 requestedAmount)", "error InsufficientDelegation(uint256 minDelegation)", "error InvalidCollateralAmount()", "error InvalidLeverage(uint256 leverage)", @@ -1628,7 +1632,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)", @@ -1638,46 +1642,13 @@ "deployTxnHash": "", "sourceName": "", "contractName": "", - "deployedOn": "invoke.upgrade_core_proxy" - }, - "USDTokenModule": { - "address": "0xF8dBEf33111A37879f35EE15507769CA927cf9C0", - "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": "0x7fb009a1a0ed11348312e405a487de609e79b49fb5813ea5228b92e2a26f6944", - "sourceName": "contracts/modules/usd/USDTokenModule.sol", - "contractName": "USDTokenModule", - "deployedOn": "contract.USDTokenModule" + "deployedOn": "invoke.upgrade_core_proxy", + "gasUsed": 0, + "gasCost": "0", + "highlight": true }, - "USDRouter": { - "address": "0xbaAcf0F9dEA6b17D8667a34b7f69f60591c8D68D", + "AccountProxy": { + "address": "0x0E429603D3Cb1DFae4E6F52Add5fE82d96d77Dac", "abi": [ "error ImplementationIsSterile(address implementation)", "error NoChange()", @@ -1697,42 +1668,49 @@ "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 CannotSelfApprove(address addr)", + "error IndexOverrun(uint256 requestedIndex, uint256 length)", + "error InvalidOwner(address addr)", "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)", + "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 target, uint256 amount)", + "function mint(address to, uint256 tokenId)", "function name() view returns (string)", - "function setAllowance(address from, address spender, uint256 amount)", + "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 transfer(address to, uint256 amount) returns (bool)", - "function transferFrom(address from, address to, uint256 amount) returns (bool)" + "function transferFrom(address from, address to, uint256 tokenId)" ], - "deployedOn": "router.USDRouter", - "deployTxnHash": "0x53b7c24468d11a8e4159c51066e0624366b3582b1e908c453c63c73813ff7ae8", - "contractName": "USDRouter", - "sourceName": "USDRouter.sol" + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.init_account", + "gasUsed": 0, + "gasCost": "0", + "highlight": true }, "USDProxy": { "address": "0xb2F30A7C980f052f02563fb518dcc39e6bf38175", @@ -1790,179 +1768,352 @@ "deployTxnHash": "", "sourceName": "", "contractName": "", - "deployedOn": "invoke.init_usd" - }, - "AccountTokenModule": { - "address": "0xE7E4c2f766c254E427568D37e2f5b122630b8998", - "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": "0x5696fee83254b592b917e338d10a6d742689804a33d791f1771d77e6625c0fea", - "sourceName": "contracts/modules/account/AccountTokenModule.sol", - "contractName": "AccountTokenModule", - "deployedOn": "contract.AccountTokenModule" - }, - "AccountRouter": { - "address": "0xe91C4219Dd8A7bde2135839607E433eD2b13Ab80", - "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": "invoke.init_usd", + "gasUsed": 0, + "gasCost": "0", + "highlight": true + } + }, + "imports": { + "oracle_manager": { + "url": "ipfs://QmPxKUZUyV5jbcTZeHRuU9RuqasN4h7sLhbAYBKEgP97g5", + "tags": [ + "latest" ], - "deployedOn": "router.AccountRouter", - "deployTxnHash": "0x1aa76fa40f5857f6825b6de4163328ca278ab1c44bac4adda21c40844e9f9b35", - "contractName": "AccountRouter", - "sourceName": "AccountRouter.sol" - }, - "AccountProxy": { - "address": "0x0E429603D3Cb1DFae4E6F52Add5fE82d96d77Dac", - "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)" + "preset": "with-synthetix", + "contracts": { + "CoreModule": { + "address": "0x874573f87a53e6D9D6F11eE8Bb994E247dB55509", + "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": "0x4138c6203bd14aa46ae82320dbf12769582e0c8e7fa9312ddcc64a3ce266354d", + "sourceName": "contracts/modules/CoreModule.sol", + "contractName": "CoreModule", + "deployedOn": "contract.CoreModule" + }, + "NodeModule": { + "address": "0xFcCa971FE9Ee20C1Cf22596E700aA993D8fD19c5", + "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": "0xfa64130beebe917a3ef4293506ee18f79778fd26786060619d70b02bad1b54ce", + "sourceName": "contracts/modules/NodeModule.sol", + "contractName": "NodeModule", + "deployedOn": "contract.NodeModule", + "gasUsed": 4094165, + "gasCost": "3398485704" + }, + "InitialProxy": { + "address": "0x0aaF300E148378489a8A471DD3e9E53E30cb42e3", + "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": [ + "0x874573f87a53e6D9D6F11eE8Bb994E247dB55509", + "0x6E1613B5c68B4Cf2A58400D8019a97849A678139" + ], + "linkedLibraries": {}, + "deployTxnHash": "0x727e23917aaded347b4a9df8fa5e189100d329b2c08e5ecdb6fd7e3ab0132c84", + "sourceName": "contracts/Proxy.sol", + "contractName": "Proxy", + "deployedOn": "contract.InitialProxy" + }, + "OracleRouter": { + "address": "0xcc5bc84c3fdbcf262aadd9f76652d6784293dd9e", + "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": "0xcb1f304ebd52cad612befd33d89084c2520f5e27c4bb49080a0f19bbbf2eacd1", + "contractName": "OracleRouter", + "sourceName": "OracleRouter.sol", + "gasUsed": 243136, + "gasCost": "3180506627" + }, + "Proxy": { + "address": "0x0aaF300E148378489a8A471DD3e9E53E30cb42e3", + "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://QmbmVxZtbRVJi8yXJwUzTpVnp2Tj7zxp1NgpiLaxJDJekg", + "tags": [ + "latest" + ], + "preset": "with-oracle-manager", + "contracts": { + "TrustedMulticallForwarder": { + "address": "0xE2C5658cC5C448B48141168f3e475dF8f65A1e3e", + "abi": [ + "constructor()", + "error AddressInsufficientBalance(address account)", + "error ERC2771ForwarderExpiredRequest(uint48 deadline)", + "error ERC2771ForwarderInvalidSigner(address signer, address from)", + "error ERC2771ForwarderMismatchedValue(uint256 requestedValue, uint256 msgValue)", + "error ERC2771UntrustfulTarget(address target, address forwarder)", + "error FailedInnerCall()", + "error InvalidAccountNonce(address account, uint256 currentNonce)", + "error InvalidShortString()", + "error StringTooLong(string str)", + "event EIP712DomainChanged()", + "event ExecutedForwardRequest(address indexed signer, uint256 nonce, bool success)", + "function aggregate(tuple(address target, bytes callData)[] calls) returns (uint256 blockNumber, bytes[] returnData)", + "function aggregate3(tuple(address target, bool requireSuccess, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function aggregate3Value(tuple(address target, bool requireSuccess, uint256 value, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function blockAndAggregate(tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)", + "function eip712Domain() view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)", + "function execute(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature) request) payable", + "function executeBatch(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature)[] requests) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function executeBatch(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature)[] requests, address refundReceiver) payable", + "function getBasefee() view returns (uint256 basefee)", + "function getBlockHash(uint256 blockNumber) view returns (bytes32 blockHash)", + "function getBlockNumber() view returns (uint256 blockNumber)", + "function getChainId() view returns (uint256 chainid)", + "function getCurrentBlockCoinbase() view returns (address coinbase)", + "function getCurrentBlockGasLimit() view returns (uint256 gaslimit)", + "function getCurrentBlockTimestamp() view returns (uint256 timestamp)", + "function getEthBalance(address addr) view returns (uint256 balance)", + "function getLastBlockHash() view returns (bytes32 blockHash)", + "function getPrevRandao() view returns (uint256 prevrandao)", + "function nonces(address owner) view returns (uint256)", + "function tryAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) returns (tuple(bool success, bytes returnData)[] returnData)", + "function tryBlockAndAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)", + "function verify(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature) request) view returns (bool)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "", + "sourceName": "src/TrustedMulticallForwarder.sol", + "contractName": "TrustedMulticallForwarder", + "deployedOn": "contract.TrustedMulticallForwarder", + "gasUsed": 0, + "gasCost": "0" + } + } + } + }, + "txns": { + "upgrade_proxy": { + "hash": "0xa6726858e632cbca9fcdfeb7c1b66ac5d0687be9077ecc49a80b2ac15da3b106", + "events": { + "Upgraded": [ + { + "name": "Upgraded", + "args": [ + "0x0aaF300E148378489a8A471DD3e9E53E30cb42e3", + "0xCC5Bc84C3FDbcF262AaDD9F76652D6784293dD9e" + ] + } + ] + }, + "deployedOn": "invoke.upgrade_proxy", + "gasUsed": 55336, + "gasCost": "2912361296", + "signer": "0xEb3107117FEAd7de89Cd14D463D340A2E6917769" + } + }, + "extras": {} + }, + "trusted_multicall_forwarder": { + "url": "ipfs://QmQ85d3gKLBYHmLUWcqvo4k2aBsNGQVsNEx9woPccNCQiS", + "tags": [ + "latest" ], - "deployTxnHash": "", - "sourceName": "", - "contractName": "", - "deployedOn": "invoke.init_account" + "preset": "with-synthetix", + "contracts": { + "TrustedMulticallForwarder": { + "address": "0xE2C5658cC5C448B48141168f3e475dF8f65A1e3e", + "abi": [ + "constructor()", + "error AddressInsufficientBalance(address account)", + "error ERC2771ForwarderExpiredRequest(uint48 deadline)", + "error ERC2771ForwarderInvalidSigner(address signer, address from)", + "error ERC2771ForwarderMismatchedValue(uint256 requestedValue, uint256 msgValue)", + "error ERC2771UntrustfulTarget(address target, address forwarder)", + "error FailedInnerCall()", + "error InvalidAccountNonce(address account, uint256 currentNonce)", + "error InvalidShortString()", + "error StringTooLong(string str)", + "event EIP712DomainChanged()", + "event ExecutedForwardRequest(address indexed signer, uint256 nonce, bool success)", + "function aggregate(tuple(address target, bytes callData)[] calls) returns (uint256 blockNumber, bytes[] returnData)", + "function aggregate3(tuple(address target, bool requireSuccess, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function aggregate3Value(tuple(address target, bool requireSuccess, uint256 value, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function blockAndAggregate(tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)", + "function eip712Domain() view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)", + "function execute(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature) request) payable", + "function executeBatch(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature)[] requests) payable returns (tuple(bool success, bytes returnData)[] returnData)", + "function executeBatch(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature)[] requests, address refundReceiver) payable", + "function getBasefee() view returns (uint256 basefee)", + "function getBlockHash(uint256 blockNumber) view returns (bytes32 blockHash)", + "function getBlockNumber() view returns (uint256 blockNumber)", + "function getChainId() view returns (uint256 chainid)", + "function getCurrentBlockCoinbase() view returns (address coinbase)", + "function getCurrentBlockGasLimit() view returns (uint256 gaslimit)", + "function getCurrentBlockTimestamp() view returns (uint256 timestamp)", + "function getEthBalance(address addr) view returns (uint256 balance)", + "function getLastBlockHash() view returns (bytes32 blockHash)", + "function getPrevRandao() view returns (uint256 prevrandao)", + "function nonces(address owner) view returns (uint256)", + "function tryAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) returns (tuple(bool success, bytes returnData)[] returnData)", + "function tryBlockAndAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)", + "function verify(tuple(address from, address to, uint256 value, uint256 gas, uint48 deadline, bytes data, bytes signature) request) view returns (bool)" + ], + "constructorArgs": [], + "linkedLibraries": {}, + "deployTxnHash": "", + "sourceName": "src/TrustedMulticallForwarder.sol", + "contractName": "TrustedMulticallForwarder", + "deployedOn": "contract.TrustedMulticallForwarder", + "gasUsed": 0, + "gasCost": "0" + } + } } }, "txns": { @@ -1984,83 +2135,61 @@ "deployedOn": "invoke.register_const_one_oracle" }, "upgrade_core_proxy": { - "hash": "0x31969e7f53d89bee95f064be7252750443137ade896b02ffe72c19ddf832b13b", + "hash": "0x77a319680510efa0f883cef22f1b7de1bba2861d7c3be3330aaa62ea7fc37331", "events": { "Upgraded": [ { "name": "Upgraded", "args": [ "0xffffffaEff0B96Ea8e4f94b2253f31abdD875847", - "0x9f3be6Be18E8D0613f87c86A0b1875B74f404A11" + "0x273c507D8E21cDE039491B14647Fe9278D88e91D" ] } ] }, - "deployedOn": "invoke.upgrade_core_proxy" + "deployedOn": "invoke.upgrade_core_proxy", + "gasUsed": 51093, + "gasCost": "2144017778", + "signer": "0xEb3107117FEAd7de89Cd14D463D340A2E6917769" }, - "init_usd": { - "hash": "0x6bcdc799de9621c49cc7bc80928024e000b76e80203161f7934db8c7579e6179", + "enable_feature_burnUsd": { + "hash": "0xf347a3d2d9a2408387ce871321f79cb46b46ed52cf4ecbd1aece93edf388a78d", "events": { - "Upgraded": [ - { - "name": "Upgraded", - "args": [ - "0xb2F30A7C980f052f02563fb518dcc39e6bf38175", - "0xbaAcf0F9dEA6b17D8667a34b7f69f60591c8D68D" - ] - } - ], - "AssociatedSystemSet": [ + "FeatureFlagAllowAllSet": [ { - "name": "AssociatedSystemSet", + "name": "FeatureFlagAllowAllSet", "args": [ - "0x6572633230000000000000000000000000000000000000000000000000000000", - "0x555344546f6b656e000000000000000000000000000000000000000000000000", - "0xb2F30A7C980f052f02563fb518dcc39e6bf38175", - "0xbaAcf0F9dEA6b17D8667a34b7f69f60591c8D68D" + "0x6275726e55736400000000000000000000000000000000000000000000000000", + true ] } ] }, - "deployedOn": "invoke.init_usd" + "deployedOn": "invoke.enable_feature_burnUsd", + "gasUsed": 37049, + "gasCost": "2001502650", + "signer": "0xEb3107117FEAd7de89Cd14D463D340A2E6917769" }, - "configure_usd_collateral": { - "hash": "0x00e044c8fb2f008138244ea81ea15b1ecdbf370b22e70361060b37e1d11cf271", + "enable_feature_claimRewards": { + "hash": "0xf24cd9956d58a8b0ad445b5c374a569afdfc6d3783fbc89b996b36811efc287b", "events": { - "CollateralConfigured": [ + "FeatureFlagAllowAllSet": [ { - "name": "CollateralConfigured", + "name": "FeatureFlagAllowAllSet", "args": [ - "0xb2F30A7C980f052f02563fb518dcc39e6bf38175", - [ - true, - { - "type": "BigNumber", - "hex": "0x8ac7230489e80000" - }, - { - "type": "BigNumber", - "hex": "0x8ac7230489e80000" - }, - { - "type": "BigNumber", - "hex": "0x00" - }, - "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733", - "0xb2F30A7C980f052f02563fb518dcc39e6bf38175", - { - "type": "BigNumber", - "hex": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - } - ] + "0x636c61696d526577617264730000000000000000000000000000000000000000", + true ] } ] }, - "deployedOn": "invoke.configure_usd_collateral" + "deployedOn": "invoke.enable_feature_claimRewards", + "gasUsed": 37109, + "gasCost": "1876624025", + "signer": "0xEb3107117FEAd7de89Cd14D463D340A2E6917769" }, - "enable_basic_features": { - "hash": "0xd678dcbb3006a68991a70f0c037da65fa21894401a27c87e311cf83baf252868", + "enable_feature_createAccount": { + "hash": "0x816fd51f06c23c1e598200e18277fc38739b50b48cfe2f37b04188535addb079", "events": { "FeatureFlagAllowAllSet": [ { @@ -2069,104 +2198,232 @@ "0x6372656174654163636f756e7400000000000000000000000000000000000000", true ] - }, + } + ] + }, + "deployedOn": "invoke.enable_feature_createAccount", + "gasUsed": 37121, + "gasCost": "1767317111", + "signer": "0xEb3107117FEAd7de89Cd14D463D340A2E6917769" + }, + "enable_feature_delegateCollateral": { + "hash": "0xe31b3804fc3e7d7f0e3716f11f59fc63767880b014964eefe1359ce3e60dadf8", + "events": { + "FeatureFlagAllowAllSet": [ { "name": "FeatureFlagAllowAllSet", "args": [ - "0x6465706f73697400000000000000000000000000000000000000000000000000", + "0x64656c6567617465436f6c6c61746572616c0000000000000000000000000000", true ] - }, + } + ] + }, + "deployedOn": "invoke.enable_feature_delegateCollateral", + "gasUsed": 37181, + "gasCost": "1671639836", + "signer": "0xEb3107117FEAd7de89Cd14D463D340A2E6917769" + }, + "enable_feature_deposit": { + "hash": "0xf4e0c98b4d8512bc5829caa4bd8a328b307e9c2a795115a6e7a39609249f8c99", + "events": { + "FeatureFlagAllowAllSet": [ { "name": "FeatureFlagAllowAllSet", "args": [ - "0x7769746864726177000000000000000000000000000000000000000000000000", + "0x6465706f73697400000000000000000000000000000000000000000000000000", true ] - }, + } + ] + }, + "deployedOn": "invoke.enable_feature_deposit", + "gasUsed": 37049, + "gasCost": "1587892959", + "signer": "0xEb3107117FEAd7de89Cd14D463D340A2E6917769" + }, + "enable_feature_depositMarketCollateral": { + "hash": "0x064a5fcb7c3995afb0bd7bf0bdd7b74757d7a55f97b1502ad639a2a67f12e5ba", + "events": { + "FeatureFlagAllowAllSet": [ { "name": "FeatureFlagAllowAllSet", "args": [ - "0x6d696e7455736400000000000000000000000000000000000000000000000000", + "0x6465706f7369744d61726b6574436f6c6c61746572616c000000000000000000", true ] - }, + } + ] + }, + "deployedOn": "invoke.enable_feature_depositMarketCollateral", + "gasUsed": 37241, + "gasCost": "1514587847", + "signer": "0xEb3107117FEAd7de89Cd14D463D340A2E6917769" + }, + "enable_feature_depositMarketUsd": { + "hash": "0xc850747af9bdaeef224b157c4ebaefd38793271a6297840665c1204e0d6e81af", + "events": { + "FeatureFlagAllowAllSet": [ { "name": "FeatureFlagAllowAllSet", "args": [ - "0x6275726e55736400000000000000000000000000000000000000000000000000", + "0x6465706f7369744d61726b657455736400000000000000000000000000000000", true ] - }, + } + ] + }, + "deployedOn": "invoke.enable_feature_depositMarketUsd", + "gasUsed": 37157, + "gasCost": "1450424065", + "signer": "0xEb3107117FEAd7de89Cd14D463D340A2E6917769" + }, + "enable_feature_liquidate": { + "hash": "0xfaa3137e9fe8266cd7d48a676c4dbec0a0de33c7ff38714c270d6789ea8b0fcc", + "events": { + "FeatureFlagAllowAllSet": [ { "name": "FeatureFlagAllowAllSet", "args": [ "0x6c69717569646174650000000000000000000000000000000000000000000000", true ] - }, + } + ] + }, + "deployedOn": "invoke.enable_feature_liquidate", + "gasUsed": 37073, + "gasCost": "1394260527", + "signer": "0xEb3107117FEAd7de89Cd14D463D340A2E6917769" + }, + "enable_feature_liquidateVault": { + "hash": "0xd46dd50792b2760221b69e11094a448662810513d7e3633decf36cce1c9b06a5", + "events": { + "FeatureFlagAllowAllSet": [ { "name": "FeatureFlagAllowAllSet", "args": [ "0x6c69717569646174655661756c74000000000000000000000000000000000000", true ] - }, + } + ] + }, + "deployedOn": "invoke.enable_feature_liquidateVault", + "gasUsed": 37133, + "gasCost": "1345099765", + "signer": "0xEb3107117FEAd7de89Cd14D463D340A2E6917769" + }, + "enable_feature_mintUsd": { + "hash": "0xc3abbb73e9201c046f08d196e3645e7d6e9bdf16e251b80a9b47386bab5e29a6", + "events": { + "FeatureFlagAllowAllSet": [ { "name": "FeatureFlagAllowAllSet", "args": [ - "0x6465706f7369744d61726b6574436f6c6c61746572616c000000000000000000", + "0x6d696e7455736400000000000000000000000000000000000000000000000000", true ] - }, + } + ] + }, + "deployedOn": "invoke.enable_feature_mintUsd", + "gasUsed": 37049, + "gasCost": "1302069083", + "signer": "0xEb3107117FEAd7de89Cd14D463D340A2E6917769" + }, + "enable_feature_withdraw": { + "hash": "0xede529660254fc59d852a29ba0cb93751195d0af499f944b13afff71d683db27", + "events": { + "FeatureFlagAllowAllSet": [ { "name": "FeatureFlagAllowAllSet", "args": [ - "0x77697468647261774d61726b6574436f6c6c61746572616c0000000000000000", + "0x7769746864726177000000000000000000000000000000000000000000000000", true ] - }, + } + ] + }, + "deployedOn": "invoke.enable_feature_withdraw", + "gasUsed": 37061, + "gasCost": "1264403709", + "signer": "0xEb3107117FEAd7de89Cd14D463D340A2E6917769" + }, + "enable_feature_withdrawMarketCollateral": { + "hash": "0xa5ef848faf98b804ee8993efbd217bf3302393581fdbc9328f07ddea1ba160a4", + "events": { + "FeatureFlagAllowAllSet": [ { "name": "FeatureFlagAllowAllSet", "args": [ - "0x6465706f7369744d61726b657455736400000000000000000000000000000000", + "0x77697468647261774d61726b6574436f6c6c61746572616c0000000000000000", true ] - }, + } + ] + }, + "deployedOn": "invoke.enable_feature_withdrawMarketCollateral", + "gasUsed": 37253, + "gasCost": "1231434905", + "signer": "0xEb3107117FEAd7de89Cd14D463D340A2E6917769" + }, + "enable_feature_withdrawMarketUsd": { + "hash": "0x81002429b7711f775bd48bb8a234db98a6ed633f96bbabf5c4e6d355a30aa1ba", + "events": { + "FeatureFlagAllowAllSet": [ { "name": "FeatureFlagAllowAllSet", "args": [ "0x77697468647261774d61726b6574557364000000000000000000000000000000", true ] - }, + } + ] + }, + "deployedOn": "invoke.enable_feature_withdrawMarketUsd", + "gasUsed": 37169, + "gasCost": "1202577389", + "signer": "0xEb3107117FEAd7de89Cd14D463D340A2E6917769" + }, + "init_account": { + "hash": "0x2f500c592e83424607d02832f3381f99b19b7b31aad288291fa21667d079b013", + "events": { + "Upgraded": [ { - "name": "FeatureFlagAllowAllSet", + "name": "Upgraded", "args": [ - "0x636c61696d526577617264730000000000000000000000000000000000000000", - true + "0x0E429603D3Cb1DFae4E6F52Add5fE82d96d77Dac", + "0x04F75a27cE2FDC591C71a88f1EcaC7e5Ce44f5Fc" ] - }, + } + ], + "AssociatedSystemSet": [ { - "name": "FeatureFlagAllowAllSet", + "name": "AssociatedSystemSet", "args": [ - "0x64656c6567617465436f6c6c61746572616c0000000000000000000000000000", - true + "0x6572633732310000000000000000000000000000000000000000000000000000", + "0x6163636f756e744e667400000000000000000000000000000000000000000000", + "0x0E429603D3Cb1DFae4E6F52Add5fE82d96d77Dac", + "0x04F75a27cE2FDC591C71a88f1EcaC7e5Ce44f5Fc" ] } ] }, - "deployedOn": "invoke.enable_basic_features" + "deployedOn": "invoke.init_account", + "gasUsed": 80752, + "gasCost": "1177317963", + "signer": "0xEb3107117FEAd7de89Cd14D463D340A2E6917769" }, - "init_account": { - "hash": "0x6afdeb77e600b636ea7b2dd6267f3891d1d54d26a53a91bfd2a0da1f33859127", + "init_usd": { + "hash": "0x166cf1454e858ad9fdd77e1c8726cf352a56b52e503ea9cfc19f03b6ec54a02b", "events": { "Upgraded": [ { "name": "Upgraded", "args": [ - "0x0E429603D3Cb1DFae4E6F52Add5fE82d96d77Dac", - "0xe91C4219Dd8A7bde2135839607E433eD2b13Ab80" + "0xb2F30A7C980f052f02563fb518dcc39e6bf38175", + "0x93B800CD7ACdcA13754624D4B1A2760A86bE0D1f" ] } ], @@ -2174,20 +2431,58 @@ { "name": "AssociatedSystemSet", "args": [ - "0x6572633732310000000000000000000000000000000000000000000000000000", - "0x6163636f756e744e667400000000000000000000000000000000000000000000", - "0x0E429603D3Cb1DFae4E6F52Add5fE82d96d77Dac", - "0xe91C4219Dd8A7bde2135839607E433eD2b13Ab80" + "0x6572633230000000000000000000000000000000000000000000000000000000", + "0x555344546f6b656e000000000000000000000000000000000000000000000000", + "0xb2F30A7C980f052f02563fb518dcc39e6bf38175", + "0x93B800CD7ACdcA13754624D4B1A2760A86bE0D1f" ] } ] }, - "deployedOn": "invoke.init_account" + "deployedOn": "invoke.init_usd", + "gasUsed": 94032, + "gasCost": "1155272541", + "signer": "0xEb3107117FEAd7de89Cd14D463D340A2E6917769" }, "set_oracle_manager": { "hash": "0xd14a861aba2399243d6b4bb66289c06a6ca3269b8509fe2af0ca92ed2be6f2e4", "events": {}, "deployedOn": "invoke.set_oracle_manager" + }, + "configure_usd_collateral": { + "hash": "0x00e044c8fb2f008138244ea81ea15b1ecdbf370b22e70361060b37e1d11cf271", + "events": { + "CollateralConfigured": [ + { + "name": "CollateralConfigured", + "args": [ + "0xb2F30A7C980f052f02563fb518dcc39e6bf38175", + [ + true, + { + "type": "BigNumber", + "hex": "0x8ac7230489e80000" + }, + { + "type": "BigNumber", + "hex": "0x8ac7230489e80000" + }, + { + "type": "BigNumber", + "hex": "0x00" + }, + "0x066ef68c9d9ca51eee861aeb5bce51a12e61f06f10bf62243c563671ae3a9733", + "0xb2F30A7C980f052f02563fb518dcc39e6bf38175", + { + "type": "BigNumber", + "hex": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ] + ] + } + ] + }, + "deployedOn": "invoke.configure_usd_collateral" } }, "extras": { @@ -2196,7 +2491,7 @@ } } }, - "hash": "08ca4fd615a093e43af496bb04e665da", + "hash": "d14459f8bcfa7d5a3024dcde62d9fa26", "version": 6 }, "invoke.registerSnxOracleManager": { @@ -2581,6 +2876,8 @@ } }, "options": {}, + "status": "complete", "meta": {}, - "miscUrl": "ipfs://QmeSt2mnJKE8qmRhLyYbHQQxDKpsFbcWnw5e7JF4xVbN6k" + "miscUrl": "ipfs://QmeSt2mnJKE8qmRhLyYbHQQxDKpsFbcWnw5e7JF4xVbN6k", + "chainId": 1 } \ No newline at end of file diff --git a/1-main/meta.json b/1-main/meta.json index d769b7fe33..3fdb9d09bc 100644 --- a/1-main/meta.json +++ b/1-main/meta.json @@ -1,13 +1,17 @@ { + "chainId": 1, "name": "synthetix-omnibus", "preset": "main", - "version": "4", + "version": "5", + "generator": "cannon cli 2.11.24", + "timestamp": 1712319299, "miscUrl": "ipfs://QmeSt2mnJKE8qmRhLyYbHQQxDKpsFbcWnw5e7JF4xVbN6k", "contracts": { "CoreProxy": "0xffffffaEff0B96Ea8e4f94b2253f31abdD875847", "AccountProxy": "0x0E429603D3Cb1DFae4E6F52Add5fE82d96d77Dac", "USDProxy": "0xb2F30A7C980f052f02563fb518dcc39e6bf38175", "OracleManagerProxy": "0x0aaF300E148378489a8A471DD3e9E53E30cb42e3", + "TrustedMulticallForwarder": "0xE2C5658cC5C448B48141168f3e475dF8f65A1e3e", "SNXToken": "0xc011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f" } } \ No newline at end of file