From 77d697d5eeaa9ee4d05e791bc78d90b2505736a9 Mon Sep 17 00:00:00 2001 From: asolovov Date: Wed, 22 Nov 2023 18:22:59 +0400 Subject: [PATCH] Squashed 'Synthetix-Gitbook-v3/' changes from fd79e4f..911ff68 911ff68 GITBOOK-179: No subject c082290 GITBOOK-177: No subject d002b0c GITBOOK-176: No subject e0c575d GITBOOK-175: Perps V3 FAQ Addition 7a46dcf GITBOOK-174: No subject dea696e GITBOOK-173: No subject 04155ef GITBOOK-172: No subject c324811 GITBOOK-171: No subject 6be2ce6 GITBOOK-170: No subject 7326fb0 GITBOOK-169: No subject d1f9b36 GITBOOK-168: No subject ae0a4a0 GITBOOK-167: No subject 5390d03 GITBOOK-166: No subject aeb63bc GITBOOK-165: No subject a77cec5 GITBOOK-164: No subject 9ed1b3d GITBOOK-162: No subject c242c59 Update ABIs and addresses (#21) eb62099 GITBOOK-161: change request with no subject merged in GitBook aaa18ba GITBOOK-160: change request with no subject merged in GitBook 3fd4d8b GITBOOK-159: change request with no subject merged in GitBook 7974f74 GITBOOK-158: change request with no subject merged in GitBook 35c2bcd GITBOOK-157: change request with no subject merged in GitBook 3014936 GITBOOK-156: change request with no subject merged in GitBook a02878c GITBOOK-155: change request with no subject merged in GitBook 7d49b07 GITBOOK-154: change request with no subject merged in GitBook 5d22800 GITBOOK-153: change request with no subject merged in GitBook 9e46119 GITBOOK-152: change request with no subject merged in GitBook 5371ecc GITBOOK-151: change request with no subject merged in GitBook 884d6cd GITBOOK-150: change request with no subject merged in GitBook da39632 GITBOOK-149: change request with no subject merged in GitBook e28a62e GITBOOK-148: change request with no subject merged in GitBook 420e940 GITBOOK-147: change request with no subject merged in GitBook 562a25f GITBOOK-146: change request with no subject merged in GitBook 05176c5 GITBOOK-145: add Perps V3 docs cf038b5 GITBOOK-144: add perp sandbox e309a17 GITBOOK-143: add faq question 1b1bea9 GITBOOK-142: fix 2e08809 GITBOOK-141: v3 cross chain FAQ 5921dff Update ABIs and addresses (#20) fdb8cf1 GITBOOK-140: change request with no subject merged in GitBook 59118f1 GITBOOK-139: add reward dist example d711b6d GITBOOK-138: change request with no subject merged in GitBook 2d32191 Update ABIs and addresses (#19) 97f4b19 GITBOOK-136: change request with no subject merged in GitBook d988895 rename method (#18) 1261614 GITBOOK-135: faq addition cc389ee GITBOOK-134: faq addition 934c146 Update ABIs and addresses (#17) 143783c Update ABIs and addresses (#15) 470a079 Update ABIs and addresses (#14) e5f0399 Update ABIs and addresses (#12) e5ba45d GITBOOK-133: change request with no subject merged in GitBook 3b5b50b GITBOOK-132: update Dev progress 5b9142e GITBOOK-131: change request with no subject merged in GitBook 8864ad1 GITBOOK-130: addition to FAQ 5d8653c GITBOOK-129: expand Dev FAQ f5763d1 GITBOOK-128: add FAQ and reorg Market pages 8d78796 rename method (#9) 8234627 GITBOOK-127: change request with no subject merged in GitBook 46a8524 GITBOOK-126: change request with no subject merged in GitBook 43510c8 GITBOOK-125: change request with no subject merged in GitBook 2bd8c9a GITBOOK-124: V3 FAQ git-subtree-dir: Synthetix-Gitbook-v3 git-subtree-split: 911ff68d6bda031ef88ae3f24be13632c35e0c98 --- SUMMARY.md | 11 +- development-progress.md | 2 +- .../build-on-v3-faq.md | 30 + .../build-on-v3.md | 11 + .../integrating-synthetix.md | 8 +- .../registering-a-market.md | 6 + ...Manager.json => 1-main-OracleManager.json} | 0 ...tixCore.json => 1-main-SynthetixCore.json} | 0 ...ountNFT.json => 1-main-snxAccountNFT.json} | 0 ...xUSDToken.json => 1-main-snxUSDToken.json} | 0 ...anager.json => 10-main-OracleManager.json} | 0 ...potMarket.json => 10-main-SpotMarket.json} | 0 ...ixCore.json => 10-main-SynthetixCore.json} | 0 ...untNFT.json => 10-main-snxAccountNFT.json} | 0 ...USDToken.json => 10-main-snxUSDToken.json} | 0 ....json => 11155111-main-OracleManager.json} | 0 ....json => 11155111-main-SynthetixCore.json} | 0 ....json => 11155111-main-snxAccountNFT.json} | 0 ...en.json => 11155111-main-snxUSDToken.json} | 0 ...anager.json => 420-dev-OracleManager.json} | 2 +- ...tNFT.json => 420-dev-PerpsAccountNFT.json} | 2 +- for-developers/abis/420-dev-PerpsMarket.json | 4090 +++++++++++++ ...potMarket.json => 420-dev-SpotMarket.json} | 82 +- .../abis/420-dev-SynthetixCore.json | 5139 +++++++++++++++++ ...untNFT.json => 420-dev-snxAccountNFT.json} | 2 +- ...USDToken.json => 420-dev-snxUSDToken.json} | 2 +- ...nager.json => 420-main-OracleManager.json} | 0 ...NFT.json => 420-main-PerpsAccountNFT.json} | 0 for-developers/abis/420-main-PerpsMarket.json | 4090 +++++++++++++ for-developers/abis/420-main-SpotMarket.json | 3797 ++++++++++++ .../abis/420-main-SynthetixCore.json | 5139 +++++++++++++++++ ...ntNFT.json => 420-main-snxAccountNFT.json} | 0 ...SDToken.json => 420-main-snxUSDToken.json} | 0 ...Manager.json => 5-main-OracleManager.json} | 2 +- ...tixCore.json => 5-main-SynthetixCore.json} | 2 +- for-developers/abis/5-main-snxAccountNFT.json | 815 +++ ...xUSDToken.json => 5-main-snxUSDToken.json} | 2 +- ...ger.json => 80001-main-OracleManager.json} | 0 ...ore.json => 80001-main-SynthetixCore.json} | 0 ...NFT.json => 80001-main-snxAccountNFT.json} | 0 ...Token.json => 80001-main-snxUSDToken.json} | 0 .../84531-andromeda-FakeCollateralTKN.json | 322 ++ .../abis/84531-andromeda-OracleManager.json | 564 ++ .../abis/84531-andromeda-PerpsAccountNFT.json | 817 +++ ....json => 84531-andromeda-PerpsMarket.json} | 159 +- .../abis/84531-andromeda-SpotMarket.json | 3799 ++++++++++++ ...son => 84531-andromeda-SynthetixCore.json} | 103 +- .../abis/84531-andromeda-snxAccountNFT.json | 817 +++ .../abis/84531-andromeda-snxUSDToken.json | 833 +++ .../84531-competition-FakeCollateralfSNX.json | 372 ++ .../abis/84531-competition-OracleManager.json | 562 ++ .../84531-competition-PerpsAccountNFT.json | 815 +++ .../abis/84531-competition-PerpsMarket.json | 4090 +++++++++++++ .../abis/84531-competition-SpotMarket.json | 3797 ++++++++++++ .../abis/84531-competition-SynthetixCore.json | 5139 +++++++++++++++++ .../abis/84531-competition-snxAccountNFT.json | 815 +++ .../abis/84531-competition-snxUSDToken.json | 831 +++ .../abis/84531-main-OracleManager.json | 562 ++ ...Market.json => 84531-main-SpotMarket.json} | 2 +- ...ore.json => 84531-main-SynthetixCore.json} | 2 +- .../abis/84531-main-snxAccountNFT.json | 815 +++ .../abis/84531-main-snxUSDToken.json | 831 +++ for-developers/addresses-+-abis.md | 153 +- for-developers/developer-faq.md | 14 +- for-developers/market-development-guide.md | 4 +- for-developers/quick-start.md | 4 +- .../creating-and-configuring-pools.md | 10 + .../rewards-distributors.md | 12 +- .../minting-and-burning-snxusd.md | 6 +- for-perp-integrators/base-andromeda.md | 123 + for-perp-integrators/perps-v3-keeper.md | 5 + for-perp-integrators/perps-v3.md | 301 + for-perp-integrators/sandbox-with-perps.md | 5 + v3-frequently-asked-questions-faq.md | 134 + 74 files changed, 49777 insertions(+), 275 deletions(-) create mode 100644 for-derivatives-market-builders/build-on-v3-faq.md rename for-developers/abis/{1-OracleManager.json => 1-main-OracleManager.json} (100%) rename for-developers/abis/{1-SynthetixCore.json => 1-main-SynthetixCore.json} (100%) rename for-developers/abis/{1-snxAccountNFT.json => 1-main-snxAccountNFT.json} (100%) rename for-developers/abis/{1-snxUSDToken.json => 1-main-snxUSDToken.json} (100%) rename for-developers/abis/{10-OracleManager.json => 10-main-OracleManager.json} (100%) rename for-developers/abis/{10-SpotMarket.json => 10-main-SpotMarket.json} (100%) rename for-developers/abis/{10-SynthetixCore.json => 10-main-SynthetixCore.json} (100%) rename for-developers/abis/{10-snxAccountNFT.json => 10-main-snxAccountNFT.json} (100%) rename for-developers/abis/{10-snxUSDToken.json => 10-main-snxUSDToken.json} (100%) rename for-developers/abis/{11155111-OracleManager.json => 11155111-main-OracleManager.json} (100%) rename for-developers/abis/{11155111-SynthetixCore.json => 11155111-main-SynthetixCore.json} (100%) rename for-developers/abis/{11155111-snxAccountNFT.json => 11155111-main-snxAccountNFT.json} (100%) rename for-developers/abis/{11155111-snxUSDToken.json => 11155111-main-snxUSDToken.json} (100%) rename for-developers/abis/{80001-OracleManager.json => 420-dev-OracleManager.json} (99%) rename for-developers/abis/{84531-snxAccountNFT.json => 420-dev-PerpsAccountNFT.json} (99%) create mode 100644 for-developers/abis/420-dev-PerpsMarket.json rename for-developers/abis/{84531-SpotMarket.json => 420-dev-SpotMarket.json} (98%) create mode 100644 for-developers/abis/420-dev-SynthetixCore.json rename for-developers/abis/{5-snxAccountNFT.json => 420-dev-snxAccountNFT.json} (99%) rename for-developers/abis/{5-snxUSDToken.json => 420-dev-snxUSDToken.json} (99%) rename for-developers/abis/{420-OracleManager.json => 420-main-OracleManager.json} (100%) rename for-developers/abis/{420-PerpsAccountNFT.json => 420-main-PerpsAccountNFT.json} (100%) create mode 100644 for-developers/abis/420-main-PerpsMarket.json create mode 100644 for-developers/abis/420-main-SpotMarket.json create mode 100644 for-developers/abis/420-main-SynthetixCore.json rename for-developers/abis/{420-snxAccountNFT.json => 420-main-snxAccountNFT.json} (100%) rename for-developers/abis/{420-snxUSDToken.json => 420-main-snxUSDToken.json} (100%) rename for-developers/abis/{84531-OracleManager.json => 5-main-OracleManager.json} (99%) rename for-developers/abis/{84531-SynthetixCore.json => 5-main-SynthetixCore.json} (99%) create mode 100644 for-developers/abis/5-main-snxAccountNFT.json rename for-developers/abis/{84531-snxUSDToken.json => 5-main-snxUSDToken.json} (99%) rename for-developers/abis/{5-OracleManager.json => 80001-main-OracleManager.json} (100%) rename for-developers/abis/{420-SynthetixCore.json => 80001-main-SynthetixCore.json} (100%) rename for-developers/abis/{80001-snxAccountNFT.json => 80001-main-snxAccountNFT.json} (100%) rename for-developers/abis/{80001-snxUSDToken.json => 80001-main-snxUSDToken.json} (100%) create mode 100644 for-developers/abis/84531-andromeda-FakeCollateralTKN.json create mode 100644 for-developers/abis/84531-andromeda-OracleManager.json create mode 100644 for-developers/abis/84531-andromeda-PerpsAccountNFT.json rename for-developers/abis/{420-PerpsMarket.json => 84531-andromeda-PerpsMarket.json} (97%) create mode 100644 for-developers/abis/84531-andromeda-SpotMarket.json rename for-developers/abis/{80001-SynthetixCore.json => 84531-andromeda-SynthetixCore.json} (99%) create mode 100644 for-developers/abis/84531-andromeda-snxAccountNFT.json create mode 100644 for-developers/abis/84531-andromeda-snxUSDToken.json create mode 100644 for-developers/abis/84531-competition-FakeCollateralfSNX.json create mode 100644 for-developers/abis/84531-competition-OracleManager.json create mode 100644 for-developers/abis/84531-competition-PerpsAccountNFT.json create mode 100644 for-developers/abis/84531-competition-PerpsMarket.json create mode 100644 for-developers/abis/84531-competition-SpotMarket.json create mode 100644 for-developers/abis/84531-competition-SynthetixCore.json create mode 100644 for-developers/abis/84531-competition-snxAccountNFT.json create mode 100644 for-developers/abis/84531-competition-snxUSDToken.json create mode 100644 for-developers/abis/84531-main-OracleManager.json rename for-developers/abis/{420-SpotMarket.json => 84531-main-SpotMarket.json} (99%) rename for-developers/abis/{5-SynthetixCore.json => 84531-main-SynthetixCore.json} (99%) create mode 100644 for-developers/abis/84531-main-snxAccountNFT.json create mode 100644 for-developers/abis/84531-main-snxUSDToken.json create mode 100644 for-perp-integrators/base-andromeda.md create mode 100644 for-perp-integrators/perps-v3-keeper.md create mode 100644 for-perp-integrators/perps-v3.md create mode 100644 for-perp-integrators/sandbox-with-perps.md create mode 100644 v3-frequently-asked-questions-faq.md diff --git a/SUMMARY.md b/SUMMARY.md index f4baca0..5e6e923 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -2,6 +2,7 @@ * [Overview](README.md) * [Development progress](development-progress.md) +* [V3 Frequently Asked Questions (FAQ)](v3-frequently-asked-questions-faq.md) ## For Liquidity Providers @@ -24,7 +25,8 @@ ## For Derivatives Market Builders * [Build on v3](for-derivatives-market-builders/build-on-v3.md) -* [Integrating Synthetix](for-derivatives-market-builders/integrating-synthetix.md) +* [Build on v3 FAQ](for-derivatives-market-builders/build-on-v3-faq.md) +* [Operating a Market](for-derivatives-market-builders/integrating-synthetix.md) * [Registering a Market](for-derivatives-market-builders/registering-a-market.md) ## For Traders @@ -37,6 +39,13 @@ * [Synthetix Governance](for-governance-participants/synthetix-governance.md) * [Elections](for-governance-participants/elections.md) +## FOR PERP INTEGRATORS + +* [Perps V3](for-perp-integrators/perps-v3.md) +* [Sandbox with Perps](for-perp-integrators/sandbox-with-perps.md) +* [Base Andromeda](for-perp-integrators/base-andromeda.md) +* [Perps V3 Keeper](for-perp-integrators/perps-v3-keeper.md) + ## For Developers * [Quick Start](for-developers/quick-start.md) diff --git a/development-progress.md b/development-progress.md index 1dc8303..06d5058 100644 --- a/development-progress.md +++ b/development-progress.md @@ -4,7 +4,7 @@ description: Progress of major v3 milestones # Development progress -
ComponentStatusNotes / further reading
Core system✅ on mainnetV3 is on mainnet
v3 stablecoin✅ on mainnetaddresses-+-abis.md
Pools✅ on mainnetcreating-and-configuring-pools.md
Market interface✅ on mainnetregistering-a-market.md
Spot Market✅ on mainnetSpot Market Alpha release
Teleporter✅ on mainnetSynthetix launches Teleporters
Crosschain Synthesis🚧 in progressSIP-312: Cross-chain Pool Synthesis
Perps v3 Market🚧 in progress
Non-SNX collateral❌ not enabledGovernance could enable as per SIP-302
Permissionless Pools❌ not enabledGovernance could enable as per SIP-310
Permissionless Markets❌ not enabledGovernance could enable as per SIP-310
+
ComponentStatusNotes / further reading
Core system✅ on mainnetV3 is on mainnet
v3 stablecoin✅ on mainnetaddresses-+-abis.md
Pools✅ on mainnetcreating-and-configuring-pools.md
Market interface✅ on mainnetregistering-a-market.md
Spot Market✅ on mainnetSpot Market Alpha release
Teleporter✅ on mainnetSynthetix launches Teleporters
Perps v3 Market🚧 in progressSIP-337: Perps V3
Launch on new chain🚧 in progressSIP-336: Deploy Synthetix V3 Core on Base
Non-SNX collateral🚧 in progressSIP-348: Enable USDC for Andromeda on Base
Crosschain Synthesis🚧 in progressSIP-312: Cross-chain Pool Synthesis
V2 to V3 Migration🚧 in progressSIP-306: V3 Migration
SIP-323: Adopt "s" prefix for Synthetix V3 asset tickers
Permissionless Pools❌ not enabledGovernance could enable as per SIP-310
Permissionless Markets❌ not enabledGovernance could enable as per SIP-310
{% embed url="https://mirror.xyz/cavalier.eth/nOTmVQcole7f0mnqhF93PHO2qbCMm1Y0JAAdiYX9tjU" %} Further reading on the milestones for v3 diff --git a/for-derivatives-market-builders/build-on-v3-faq.md b/for-derivatives-market-builders/build-on-v3-faq.md new file mode 100644 index 0000000..c0cb8cf --- /dev/null +++ b/for-derivatives-market-builders/build-on-v3-faq.md @@ -0,0 +1,30 @@ +--- +description: Considerations for creating new products on v3 +--- + +# Build on v3 FAQ + +> What all is needed to do this? + +[#playbook-for-building-on-v3](build-on-v3.md#playbook-for-building-on-v3 "mention") + +> Is a new Pool required? + +Not necessarily, because existing Pools could choose to delegate some of their collateral to your Market, but you need to convince the Pool owners to do so. + +> Is a new Market required? + +Usually yes. Your Market is what draws on liquidity delegated to it, by existing Pools (or your own Pool if you create one). A profitable Market deposits earnings (and potentially rewards) to the Pools providing liquidity. + +> Can a Market swap snxUSD for another assets? (eg WETH) + +A Market must conform to the [IMarket](registering-a-market.md) interface, which means it can only deposit/withdraw snxUSD to/from Pools, but is free to interact with the wider defi ecosystem in any reasonable way. + +> Can a Market accept another asset directly? (eg WETH) + +See above + +> Can the Market owner impose a fee that incentivizes them? + +Market owners are free to decide how their Markets function. Ultimately Markets are judged and compared on their performance (withdrawals and deposits to Pools) over time. + diff --git a/for-derivatives-market-builders/build-on-v3.md b/for-derivatives-market-builders/build-on-v3.md index a4ab939..40bb288 100644 --- a/for-derivatives-market-builders/build-on-v3.md +++ b/for-derivatives-market-builders/build-on-v3.md @@ -18,6 +18,10 @@ An outline of v3, its components and possibilities The case for building on Synthetix v3 {% endembed %} +{% embed url="https://t.me/+Jwf641J8a6M1ZTI1" %} +Telegram group for integrator discussions +{% endembed %} + ## Why build on v3 Synthetix v3 solves the cold-start and scaling liquidity problems for derivate protocols, with more than $500m of liquidity waiting for new markets. Synthetix is an endlessly composable and configurable liquidity layer; backing derivative Markets, so they can scale faster, and LPs can accrue more fees. @@ -48,6 +52,13 @@ Your high performing Market will be attractive to other Pools and Synthetix LPs. * Want to create a novel derivatives product? You could create a v3 Market, then request one of the existing Pools to delegate your Market some collateral, or create a Pool. * Want to control your own liquidity? You could propose to create a new Pool, and offer additional token incentives to Liquidity Providers with the Rewards Manager. +## Next steps + +1. Join the integrator telegram group to ask questions +2. Follow [Synthetix Integrators](https://twitter.com/i/lists/1677086706246520832) list on X + +{% embed url="https://t.me/+Jwf641J8a6M1ZTI1" %} + ## Notes * See [development-progress.md](../development-progress.md "mention") for more details on enabled collateral and other milestones. diff --git a/for-derivatives-market-builders/integrating-synthetix.md b/for-derivatives-market-builders/integrating-synthetix.md index 2b01960..74f2c49 100644 --- a/for-derivatives-market-builders/integrating-synthetix.md +++ b/for-derivatives-market-builders/integrating-synthetix.md @@ -1,10 +1,4 @@ -# Integrating Synthetix - -Derivatives market implementations can be [registered](registering-a-market.md) with the Synthetix protocol if they conform to the `IMarket` interface. This consists of just three functions: - -* `function name(uint128 marketId) external view returns (string memory);` - A function which should return a human-readable name for the given market. -* `function reportedDebt(uint129 marketId) external view returns (uint);` - A function which should return the total value of debt issued by the market (to be collateralized by the assets in the pools backing it), denominated with 18 decimals places. -* `function minimumCredit(uint128 marketId) external view returns (uint);` - A function which returns the amount of credit under which pools cannot rescind credit delegated to the market. This value is dollar-denominated, with 18 decimals places. If the market implementation does not intend to lock collateral, this function can just `return 0;`. **Note that the amount of credit available to a market may still fall below this amount due to price action of the collateral backing it.** +# Operating a Market ## Managing Credit & Debt[​](https://snx-v3-docs.vercel.app/pools-markets/integrating-markets#managing-credit--debt) diff --git a/for-derivatives-market-builders/registering-a-market.md b/for-derivatives-market-builders/registering-a-market.md index aa6494a..e2204d2 100644 --- a/for-derivatives-market-builders/registering-a-market.md +++ b/for-derivatives-market-builders/registering-a-market.md @@ -9,3 +9,9 @@ Markets can be integrated with the Synthetix protocol to access credit capacity Before a market can interact with the protocol, it must be registered using the `registerMarket` function. This function accepts the address of a market, which will be able to integrate with Synthetix (to perform actions like depositing and withdrawing snxUSD) using the ID returned by the function. Markets cannot be registered unless they conform to the `IMarket` interface. See [Integrating Synthetix](integrating-synthetix.md) for more information on the functions that must be implemented. + +Derivatives market implementations can be [registered](registering-a-market.md) with the Synthetix protocol if they conform to the `IMarket` interface. This consists of just three functions: + +* `function name(uint128 marketId) external view returns (string memory);` - A function which should return a human-readable name for the given market. +* `function reportedDebt(uint129 marketId) external view returns (uint);` - A function which should return the total value of debt issued by the market (to be collateralized by the assets in the pools backing it), denominated with 18 decimals places. +* `function minimumCredit(uint128 marketId) external view returns (uint);` - A function which returns the amount of credit under which pools cannot rescind credit delegated to the market. This value is dollar-denominated, with 18 decimals places. If the market implementation does not intend to lock collateral, this function can just `return 0;`. **Note that the amount of credit available to a market may still fall below this amount due to price action of the collateral backing it.** diff --git a/for-developers/abis/1-OracleManager.json b/for-developers/abis/1-main-OracleManager.json similarity index 100% rename from for-developers/abis/1-OracleManager.json rename to for-developers/abis/1-main-OracleManager.json diff --git a/for-developers/abis/1-SynthetixCore.json b/for-developers/abis/1-main-SynthetixCore.json similarity index 100% rename from for-developers/abis/1-SynthetixCore.json rename to for-developers/abis/1-main-SynthetixCore.json diff --git a/for-developers/abis/1-snxAccountNFT.json b/for-developers/abis/1-main-snxAccountNFT.json similarity index 100% rename from for-developers/abis/1-snxAccountNFT.json rename to for-developers/abis/1-main-snxAccountNFT.json diff --git a/for-developers/abis/1-snxUSDToken.json b/for-developers/abis/1-main-snxUSDToken.json similarity index 100% rename from for-developers/abis/1-snxUSDToken.json rename to for-developers/abis/1-main-snxUSDToken.json diff --git a/for-developers/abis/10-OracleManager.json b/for-developers/abis/10-main-OracleManager.json similarity index 100% rename from for-developers/abis/10-OracleManager.json rename to for-developers/abis/10-main-OracleManager.json diff --git a/for-developers/abis/10-SpotMarket.json b/for-developers/abis/10-main-SpotMarket.json similarity index 100% rename from for-developers/abis/10-SpotMarket.json rename to for-developers/abis/10-main-SpotMarket.json diff --git a/for-developers/abis/10-SynthetixCore.json b/for-developers/abis/10-main-SynthetixCore.json similarity index 100% rename from for-developers/abis/10-SynthetixCore.json rename to for-developers/abis/10-main-SynthetixCore.json diff --git a/for-developers/abis/10-snxAccountNFT.json b/for-developers/abis/10-main-snxAccountNFT.json similarity index 100% rename from for-developers/abis/10-snxAccountNFT.json rename to for-developers/abis/10-main-snxAccountNFT.json diff --git a/for-developers/abis/10-snxUSDToken.json b/for-developers/abis/10-main-snxUSDToken.json similarity index 100% rename from for-developers/abis/10-snxUSDToken.json rename to for-developers/abis/10-main-snxUSDToken.json diff --git a/for-developers/abis/11155111-OracleManager.json b/for-developers/abis/11155111-main-OracleManager.json similarity index 100% rename from for-developers/abis/11155111-OracleManager.json rename to for-developers/abis/11155111-main-OracleManager.json diff --git a/for-developers/abis/11155111-SynthetixCore.json b/for-developers/abis/11155111-main-SynthetixCore.json similarity index 100% rename from for-developers/abis/11155111-SynthetixCore.json rename to for-developers/abis/11155111-main-SynthetixCore.json diff --git a/for-developers/abis/11155111-snxAccountNFT.json b/for-developers/abis/11155111-main-snxAccountNFT.json similarity index 100% rename from for-developers/abis/11155111-snxAccountNFT.json rename to for-developers/abis/11155111-main-snxAccountNFT.json diff --git a/for-developers/abis/11155111-snxUSDToken.json b/for-developers/abis/11155111-main-snxUSDToken.json similarity index 100% rename from for-developers/abis/11155111-snxUSDToken.json rename to for-developers/abis/11155111-main-snxUSDToken.json diff --git a/for-developers/abis/80001-OracleManager.json b/for-developers/abis/420-dev-OracleManager.json similarity index 99% rename from for-developers/abis/80001-OracleManager.json rename to for-developers/abis/420-dev-OracleManager.json index 55a2a6b..37d96ba 100644 --- a/for-developers/abis/80001-OracleManager.json +++ b/for-developers/abis/420-dev-OracleManager.json @@ -1,5 +1,5 @@ { - "address": "0x12aE0D5CD26f212bFE242DA78139d463019f7a73", + "address": "0x47b8f4EC2D0ef7ADfa97927A597d2C73B3A7e81d", "abi": [ { "inputs": [ diff --git a/for-developers/abis/84531-snxAccountNFT.json b/for-developers/abis/420-dev-PerpsAccountNFT.json similarity index 99% rename from for-developers/abis/84531-snxAccountNFT.json rename to for-developers/abis/420-dev-PerpsAccountNFT.json index b1d3dc1..b11e8da 100644 --- a/for-developers/abis/84531-snxAccountNFT.json +++ b/for-developers/abis/420-dev-PerpsAccountNFT.json @@ -1,5 +1,5 @@ { - "address": "0x1b791d05E437C78039424749243F5A79E747525e", + "address": "0x6fBe7F0f515C2126638aAF60a351a98b27f62925", "abi": [ { "inputs": [ diff --git a/for-developers/abis/420-dev-PerpsMarket.json b/for-developers/abis/420-dev-PerpsMarket.json new file mode 100644 index 0000000..a33c533 --- /dev/null +++ b/for-developers/abis/420-dev-PerpsMarket.json @@ -0,0 +1,4090 @@ +{ + "address": "0x8EdfbD5c6aB7167cf7dc7E62D9FeAA59720a2e7E", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes32", + "name": "which", + "type": "bytes32" + } + ], + "name": "FeatureUnavailable", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "InvalidAccountId", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + } + ], + "name": "InvalidPermission", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "origin", + "type": "address" + } + ], + "name": "OnlyAccountTokenProxy", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "PermissionDenied", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "PermissionNotGranted", + "type": "error" + }, + { + "inputs": [], + "name": "PositionOutOfBounds", + "type": "error" + }, + { + "inputs": [], + "name": "ValueAlreadyInSet", + "type": "error" + }, + { + "inputs": [], + "name": "ValueNotInSet", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "AccountCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "PermissionGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "PermissionRevoked", + "type": "event" + }, + { + "inputs": [], + "name": "createAccount", + "outputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "requestedAccountId", + "type": "uint128" + } + ], + "name": "createAccount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getAccountLastInteraction", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getAccountOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getAccountPermissions", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "bytes32[]", + "name": "permissions", + "type": "bytes32[]" + } + ], + "internalType": "struct IAccountModule.AccountPermissions[]", + "name": "accountPerms", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAccountTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "grantPermission", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "hasPermission", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "isAuthorized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "notifyAccountTransfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + } + ], + "name": "renouncePermission", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "revokePermission", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expected", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actual", + "type": "bytes32" + } + ], + "name": "MismatchAssociatedSystemKind", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "MissingAssociatedSystem", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "Unauthorized", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "proxy", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "AssociatedSystemSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "getAssociatedSystem", + "outputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeNft", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "endpoint", + "type": "address" + } + ], + "name": "registerUnmanagedSystem", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "DeniedMulticallTarget", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "RecursiveMulticall", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ImplementationIsSterile", + "type": "error" + }, + { + "inputs": [], + "name": "NoChange", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contr", + "type": "address" + } + ], + "name": "NotAContract", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "NotNominated", + "type": "error" + }, + { + "inputs": [], + "name": "UpgradeSimulationFailed", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "self", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "simulateUpgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "InvalidMarket", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "parameter", + "type": "string" + }, + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "InvalidParameter", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt256ToUint256", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToInt256", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint128", + "type": "error" + }, + { + "inputs": [], + "name": "PerpsMarketAlreadyInitialized", + "type": "error" + }, + { + "inputs": [], + "name": "PerpsMarketNotInitialized", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint128", + "name": "globalPerpsMarketId", + "type": "uint128" + } + ], + "name": "FactoryInitialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "perpsMarketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "string", + "name": "marketName", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "marketSymbol", + "type": "string" + } + ], + "name": "MarketCreated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "requestedMarketId", + "type": "uint128" + }, + { + "internalType": "string", + "name": "marketName", + "type": "string" + }, + { + "internalType": "string", + "name": "marketSymbol", + "type": "string" + } + ], + "name": "createMarket", + "outputs": [ + { + "internalType": "uint128", + "name": "", + "type": "uint128" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ISynthetixSystem", + "name": "synthetix", + "type": "address" + }, + { + "internalType": "contract ISpotMarketSystem", + "name": "spotMarket", + "type": "address" + }, + { + "internalType": "string", + "name": "marketName", + "type": "string" + } + ], + "name": "initializeFactory", + "outputs": [ + { + "internalType": "uint128", + "name": "", + "type": "uint128" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "perpsMarketId", + "type": "uint128" + } + ], + "name": "minimumCredit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "perpsMarketId", + "type": "uint128" + } + ], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "perpsMarketId", + "type": "uint128" + } + ], + "name": "reportedDebt", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "marketName", + "type": "string" + } + ], + "name": "setPerpsMarketName", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "AccountLiquidatable", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "AccountNotFound", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "collateralAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "withdrawAmount", + "type": "uint256" + } + ], + "name": "InsufficientCollateral", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "availableUsdDenominated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "requiredUsdDenominated", + "type": "uint256" + } + ], + "name": "InsufficientCollateralAvailableForWithdraw", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "collateralAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "withdrawAmount", + "type": "uint256" + } + ], + "name": "InsufficientSynthCollateral", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "amountDelta", + "type": "int256" + } + ], + "name": "InvalidAmountDelta", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "maxAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateralAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "depositAmount", + "type": "uint256" + } + ], + "name": "MaxCollateralExceeded", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "maxCollateralsPerAccount", + "type": "uint128" + } + ], + "name": "MaxCollateralsPerAccountReached", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint128ToInt128", + "type": "error" + }, + { + "inputs": [], + "name": "PendingOrderExists", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "PriceFeedNotSet", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "SynthNotEnabledForCollateral", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "int256", + "name": "amountDelta", + "type": "int256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "CollateralModified", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getAvailableMargin", + "outputs": [ + { + "internalType": "int256", + "name": "availableMargin", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getCollateralAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getOpenPosition", + "outputs": [ + { + "internalType": "int256", + "name": "totalPnl", + "type": "int256" + }, + { + "internalType": "int256", + "name": "accruedFunding", + "type": "int256" + }, + { + "internalType": "int128", + "name": "positionSize", + "type": "int128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getRequiredMargins", + "outputs": [ + { + "internalType": "uint256", + "name": "requiredInitialMargin", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "requiredMaintenanceMargin", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAccumulatedLiquidationRewards", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxLiquidationReward", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getWithdrawableMargin", + "outputs": [ + { + "internalType": "int256", + "name": "withdrawableMargin", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "int256", + "name": "amountDelta", + "type": "int256" + } + ], + "name": "modifyCollateral", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "totalAccountOpenInterest", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "totalCollateralValue", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "currentFundingRate", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "currentFundingVelocity", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "orderSize", + "type": "int128" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "name": "fillPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketSummary", + "outputs": [ + { + "components": [ + { + "internalType": "int256", + "name": "skew", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "size", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxOpenInterest", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "currentFundingRate", + "type": "int256" + }, + { + "internalType": "int256", + "name": "currentFundingVelocity", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "indexPrice", + "type": "uint256" + } + ], + "internalType": "struct IPerpsMarketModule.MarketSummary", + "name": "summary", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "indexPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "maxOpenInterest", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "metadata", + "outputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "size", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "skew", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "fillPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "acceptablePrice", + "type": "uint256" + } + ], + "name": "AcceptablePriceExceeded", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "availableMargin", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "minMargin", + "type": "uint256" + } + ], + "name": "InsufficientMargin", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "settlementStrategyId", + "type": "uint128" + } + ], + "name": "InvalidSettlementStrategy", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "maxMarketSize", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "newSideSize", + "type": "int256" + } + ], + "name": "MaxOpenInterestReached", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "maxPositionsPerAccount", + "type": "uint128" + } + ], + "name": "MaxPositionsPerAccountReached", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt256ToInt128", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroSizeOrder", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "enum SettlementStrategy.Type", + "name": "orderType", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "acceptablePrice", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expirationTime", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "OrderCommitted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "acceptablePrice", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + } + ], + "name": "PreviousOrderExpired", + "type": "event" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + }, + { + "internalType": "uint128", + "name": "settlementStrategyId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "acceptablePrice", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "internalType": "struct AsyncOrder.OrderCommitmentRequest", + "name": "commitment", + "type": "tuple" + } + ], + "name": "commitOrder", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + }, + { + "internalType": "uint128", + "name": "settlementStrategyId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "acceptablePrice", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "internalType": "struct AsyncOrder.OrderCommitmentRequest", + "name": "request", + "type": "tuple" + } + ], + "internalType": "struct AsyncOrder.Data", + "name": "retOrder", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "fees", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + } + ], + "name": "computeOrderFees", + "outputs": [ + { + "internalType": "uint256", + "name": "orderFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "fillPrice", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getOrder", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + }, + { + "internalType": "uint128", + "name": "settlementStrategyId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "acceptablePrice", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "internalType": "struct AsyncOrder.OrderCommitmentRequest", + "name": "request", + "type": "tuple" + } + ], + "internalType": "struct AsyncOrder.Data", + "name": "order", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + } + ], + "name": "requiredMarginForOrder", + "outputs": [ + { + "internalType": "uint256", + "name": "requiredMargin", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "leftover", + "type": "uint256" + } + ], + "name": "InsufficientMarginError", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "string[]", + "name": "urls", + "type": "string[]" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "bytes4", + "name": "callbackFunction", + "type": "bytes4" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "OffchainLookup", + "type": "error" + }, + { + "inputs": [], + "name": "OrderNotValid", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt128ToUint128", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint64", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + } + ], + "name": "SettlementStrategyNotFound", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementExpiration", + "type": "uint256" + } + ], + "name": "SettlementWindowExpired", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + } + ], + "name": "SettlementWindowNotOpen", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "skew", + "type": "int256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "size", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "sizeDelta", + "type": "int256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "currentFundingRate", + "type": "int256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "currentFundingVelocity", + "type": "int256" + } + ], + "name": "MarketUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "fillPrice", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "pnl", + "type": "int256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "accruedFunding", + "type": "int256" + }, + { + "indexed": false, + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + }, + { + "indexed": false, + "internalType": "int128", + "name": "newSize", + "type": "int128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "referralFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "settlementReward", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "settler", + "type": "address" + } + ], + "name": "OrderSettled", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "settle", + "outputs": [], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "settlePythOrder", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "fillPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "acceptablePrice", + "type": "uint256" + } + ], + "name": "AcceptablePriceNotExceeded", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "desiredPrice", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "fillPrice", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "settlementReward", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "settler", + "type": "address" + } + ], + "name": "OrderCancelled", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "cancelOrder", + "outputs": [], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "cancelPythOrder", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "allowAll", + "type": "bool" + } + ], + "name": "FeatureFlagAllowAllSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "FeatureFlagAllowlistAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "FeatureFlagAllowlistRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "deniers", + "type": "address[]" + } + ], + "name": "FeatureFlagDeniersReset", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "denyAll", + "type": "bool" + } + ], + "name": "FeatureFlagDenyAllSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "addToFeatureFlagAllowlist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getDeniers", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagAllowAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagAllowlist", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagDenyAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "isFeatureAllowed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "removeFromFeatureFlagAllowlist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address[]", + "name": "deniers", + "type": "address[]" + } + ], + "name": "setDeniers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "allowAll", + "type": "bool" + } + ], + "name": "setFeatureFlagAllowAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "denyAll", + "type": "bool" + } + ], + "name": "setFeatureFlagDenyAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "NotEligibleForLiquidation", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reward", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "fullLiquidation", + "type": "bool" + } + ], + "name": "AccountLiquidated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountLiquidated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int128", + "name": "currentPositionSize", + "type": "int128" + } + ], + "name": "PositionLiquidated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "canLiquidate", + "outputs": [ + { + "internalType": "bool", + "name": "isEligible", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "flaggedAccounts", + "outputs": [ + { + "internalType": "uint256[]", + "name": "accountIds", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "liquidate", + "outputs": [ + { + "internalType": "uint256", + "name": "liquidationReward", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxNumberOfAccounts", + "type": "uint256" + } + ], + "name": "liquidateFlagged", + "outputs": [ + { + "internalType": "uint256", + "name": "liquidationReward", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128[]", + "name": "accountIds", + "type": "uint128[]" + } + ], + "name": "liquidateFlaggedAccounts", + "outputs": [ + { + "internalType": "uint256", + "name": "liquidationReward", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "liquidationCapacity", + "outputs": [ + { + "internalType": "uint256", + "name": "capacity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxLiquidationInWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "latestLiquidationTimestamp", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "InvalidSettlementWindowDuration", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "skewScale", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maxFundingVelocity", + "type": "uint256" + } + ], + "name": "FundingParametersSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "initialMarginRatioD18", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maintenanceMarginRatioD18", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "minimumInitialMarginRatioD18", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "liquidationRewardRatioD18", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "minimumPositionMargin", + "type": "uint256" + } + ], + "name": "LiquidationParametersSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "lockedOiRatioD18", + "type": "uint256" + } + ], + "name": "LockedOiRatioSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "feedId", + "type": "bytes32" + } + ], + "name": "MarketPriceDataUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maxLiquidationLimitAccumulationMultiplier", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maxSecondsInLiquidationWindow", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maxLiquidationPd", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "endorsedLiquidator", + "type": "address" + } + ], + "name": "MaxLiquidationParametersSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maxMarketSize", + "type": "uint256" + } + ], + "name": "MaxMarketSizeSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "makerFeeRatio", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "takerFeeRatio", + "type": "uint256" + } + ], + "name": "OrderFeesSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "components": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "settlementDelay", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementWindowDuration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "priceWindowDuration", + "type": "uint256" + }, + { + "internalType": "address", + "name": "priceVerificationContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "feedId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "url", + "type": "string" + }, + { + "internalType": "uint256", + "name": "settlementReward", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct SettlementStrategy.Data", + "name": "strategy", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + } + ], + "name": "SettlementStrategyAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "SettlementStrategyEnabled", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "components": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "settlementDelay", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementWindowDuration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "priceWindowDuration", + "type": "uint256" + }, + { + "internalType": "address", + "name": "priceVerificationContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "feedId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "url", + "type": "string" + }, + { + "internalType": "uint256", + "name": "settlementReward", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + } + ], + "internalType": "struct SettlementStrategy.Data", + "name": "strategy", + "type": "tuple" + } + ], + "name": "addSettlementStrategy", + "outputs": [ + { + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getFundingParameters", + "outputs": [ + { + "internalType": "uint256", + "name": "skewScale", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxFundingVelocity", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getLiquidationParameters", + "outputs": [ + { + "internalType": "uint256", + "name": "initialMarginRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumInitialMarginRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maintenanceMarginScalarD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRewardRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumPositionMargin", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getLockedOiRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMaxLiquidationParameters", + "outputs": [ + { + "internalType": "uint256", + "name": "maxLiquidationLimitAccumulationMultiplier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxSecondsInLiquidationWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxLiquidationPd", + "type": "uint256" + }, + { + "internalType": "address", + "name": "endorsedLiquidator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMaxMarketSize", + "outputs": [ + { + "internalType": "uint256", + "name": "maxMarketSize", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getOrderFees", + "outputs": [ + { + "internalType": "uint256", + "name": "makerFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "takerFee", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + } + ], + "name": "getSettlementStrategy", + "outputs": [ + { + "components": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "settlementDelay", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementWindowDuration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "priceWindowDuration", + "type": "uint256" + }, + { + "internalType": "address", + "name": "priceVerificationContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "feedId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "url", + "type": "string" + }, + { + "internalType": "uint256", + "name": "settlementReward", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + } + ], + "internalType": "struct SettlementStrategy.Data", + "name": "settlementStrategy", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "skewScale", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxFundingVelocity", + "type": "uint256" + } + ], + "name": "setFundingParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "initialMarginRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumInitialMarginRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maintenanceMarginScalarD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRewardRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumPositionMargin", + "type": "uint256" + } + ], + "name": "setLiquidationParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "lockedOiRatioD18", + "type": "uint256" + } + ], + "name": "setLockedOiRatio", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "maxLiquidationLimitAccumulationMultiplier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxSecondsInLiquidationWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxLiquidationPd", + "type": "uint256" + }, + { + "internalType": "address", + "name": "endorsedLiquidator", + "type": "address" + } + ], + "name": "setMaxLiquidationParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "maxMarketSize", + "type": "uint256" + } + ], + "name": "setMaxMarketSize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "makerFeeRatio", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "takerFeeRatio", + "type": "uint256" + } + ], + "name": "setOrderFees", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "setSettlementStrategyEnabled", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "perpsMarketId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "feedId", + "type": "bytes32" + } + ], + "name": "updatePriceData", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "invalidFeeCollector", + "type": "address" + } + ], + "name": "InvalidFeeCollectorInterface", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shareRatioD18", + "type": "uint256" + } + ], + "name": "InvalidReferrerShareRatio", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "feeCollector", + "type": "address" + } + ], + "name": "FeeCollectorSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "minLiquidationRewardUsd", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "maxLiquidationRewardUsd", + "type": "uint256" + } + ], + "name": "LiquidationRewardGuardsSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralAmount", + "type": "uint256" + } + ], + "name": "MaxCollateralAmountSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint128", + "name": "maxPositionsPerAccount", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "maxCollateralsPerAccount", + "type": "uint128" + } + ], + "name": "PerAccountCapsSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shareRatioD18", + "type": "uint256" + } + ], + "name": "ReferrerShareUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint128[]", + "name": "newSynthDeductionPriority", + "type": "uint128[]" + } + ], + "name": "SynthDeductionPrioritySet", + "type": "event" + }, + { + "inputs": [], + "name": "getFeeCollector", + "outputs": [ + { + "internalType": "address", + "name": "feeCollector", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getLiquidationRewardGuards", + "outputs": [ + { + "internalType": "uint256", + "name": "minLiquidationRewardUsd", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxLiquidationRewardUsd", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMarkets", + "outputs": [ + { + "internalType": "uint256[]", + "name": "marketIds", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getMaxCollateralAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getPerAccountCaps", + "outputs": [ + { + "internalType": "uint128", + "name": "maxPositionsPerAccount", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "maxCollateralsPerAccount", + "type": "uint128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "getReferrerShare", + "outputs": [ + { + "internalType": "uint256", + "name": "shareRatioD18", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getSynthDeductionPriority", + "outputs": [ + { + "internalType": "uint128[]", + "name": "", + "type": "uint128[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "feeCollector", + "type": "address" + } + ], + "name": "setFeeCollector", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minLiquidationRewardUsd", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxLiquidationRewardUsd", + "type": "uint256" + } + ], + "name": "setLiquidationRewardGuards", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "collateralAmount", + "type": "uint256" + } + ], + "name": "setMaxCollateralAmount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "maxPositionsPerAccount", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "maxCollateralsPerAccount", + "type": "uint128" + } + ], + "name": "setPerAccountCaps", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128[]", + "name": "newSynthDeductionPriority", + "type": "uint128[]" + } + ], + "name": "setSynthDeductionPriority", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "totalGlobalCollateralValue", + "outputs": [ + { + "internalType": "uint256", + "name": "totalCollateralValue", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "shareRatioD18", + "type": "uint256" + } + ], + "name": "updateReferrerShare", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.upgrade_proxy" +} diff --git a/for-developers/abis/84531-SpotMarket.json b/for-developers/abis/420-dev-SpotMarket.json similarity index 98% rename from for-developers/abis/84531-SpotMarket.json rename to for-developers/abis/420-dev-SpotMarket.json index 5dce69b..ac7a1bd 100644 --- a/for-developers/abis/84531-SpotMarket.json +++ b/for-developers/abis/420-dev-SpotMarket.json @@ -1,6 +1,47 @@ { - "address": "0x5b5ff238F1d43087A033c9c1800BAAC03d4386F1", + "address": "0x9bC0DD3436669Ab76C553214B1740CE5E6EbF18e", "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "DeniedMulticallTarget", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "RecursiveMulticall", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -774,6 +815,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "renounceMarketOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -2148,22 +2202,6 @@ "name": "OverflowUint256ToUint64", "type": "error" }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "deviation", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "tolerance", - "type": "uint256" - } - ], - "name": "PriceDeviationToleranceExceeded", - "type": "error" - }, { "inputs": [ { @@ -2455,11 +2493,6 @@ "name": "settlementReward", "type": "uint256" }, - { - "internalType": "uint256", - "name": "priceDeviationTolerance", - "type": "uint256" - }, { "internalType": "uint256", "name": "minimumUsdExchangeAmount", @@ -2544,11 +2577,6 @@ "name": "settlementReward", "type": "uint256" }, - { - "internalType": "uint256", - "name": "priceDeviationTolerance", - "type": "uint256" - }, { "internalType": "uint256", "name": "minimumUsdExchangeAmount", diff --git a/for-developers/abis/420-dev-SynthetixCore.json b/for-developers/abis/420-dev-SynthetixCore.json new file mode 100644 index 0000000..f1db616 --- /dev/null +++ b/for-developers/abis/420-dev-SynthetixCore.json @@ -0,0 +1,5139 @@ +{ + "address": "0x3f1faD3d8C531A5a3f7ae8d045c37e2075A241A0", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ImplementationIsSterile", + "type": "error" + }, + { + "inputs": [], + "name": "NoChange", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contr", + "type": "address" + } + ], + "name": "NotAContract", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "NotNominated", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "Unauthorized", + "type": "error" + }, + { + "inputs": [], + "name": "UpgradeSimulationFailed", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "self", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "simulateUpgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "ValueAlreadyInSet", + "type": "error" + }, + { + "inputs": [], + "name": "ValueNotInSet", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "allowAll", + "type": "bool" + } + ], + "name": "FeatureFlagAllowAllSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "FeatureFlagAllowlistAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "FeatureFlagAllowlistRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "deniers", + "type": "address[]" + } + ], + "name": "FeatureFlagDeniersReset", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "denyAll", + "type": "bool" + } + ], + "name": "FeatureFlagDenyAllSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "addToFeatureFlagAllowlist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getDeniers", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagAllowAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagAllowlist", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagDenyAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "isFeatureAllowed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "removeFromFeatureFlagAllowlist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address[]", + "name": "deniers", + "type": "address[]" + } + ], + "name": "setDeniers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "allowAll", + "type": "bool" + } + ], + "name": "setFeatureFlagAllowAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "denyAll", + "type": "bool" + } + ], + "name": "setFeatureFlagDenyAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "which", + "type": "bytes32" + } + ], + "name": "FeatureUnavailable", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "InvalidAccountId", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + } + ], + "name": "InvalidPermission", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "origin", + "type": "address" + } + ], + "name": "OnlyAccountTokenProxy", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "PermissionDenied", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "PermissionNotGranted", + "type": "error" + }, + { + "inputs": [], + "name": "PositionOutOfBounds", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "AccountCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "PermissionGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "PermissionRevoked", + "type": "event" + }, + { + "inputs": [], + "name": "createAccount", + "outputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "requestedAccountId", + "type": "uint128" + } + ], + "name": "createAccount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getAccountLastInteraction", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getAccountOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getAccountPermissions", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "bytes32[]", + "name": "permissions", + "type": "bytes32[]" + } + ], + "internalType": "struct IAccountModule.AccountPermissions[]", + "name": "accountPerms", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAccountTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "grantPermission", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "hasPermission", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "isAuthorized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "notifyAccountTransfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + } + ], + "name": "renouncePermission", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "revokePermission", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "AccountNotFound", + "type": "error" + }, + { + "inputs": [], + "name": "EmptyDistribution", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "collateralValue", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "debt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "ratio", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minRatio", + "type": "uint256" + } + ], + "name": "InsufficientCollateralRatio", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "MarketNotFound", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "marketId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "poolId", + "type": "uint256" + } + ], + "name": "NotFundedByPool", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt256ToInt128", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt256ToUint256", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint128ToInt128", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToInt256", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint128", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "updatedDebt", + "type": "int256" + } + ], + "name": "DebtAssociated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "associateDebt", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expected", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actual", + "type": "bytes32" + } + ], + "name": "MismatchAssociatedSystemKind", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "MissingAssociatedSystem", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "proxy", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "AssociatedSystemSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "getAssociatedSystem", + "outputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeNft", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "endpoint", + "type": "address" + } + ], + "name": "registerUnmanagedSystem", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "InvalidMessage", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "NotCcipRouter", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "name": "UnsupportedNetwork", + "type": "error" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "messageId", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "sourceChainSelector", + "type": "uint64" + }, + { + "internalType": "bytes", + "name": "sender", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "internalType": "struct CcipClient.EVMTokenAmount[]", + "name": "tokenAmounts", + "type": "tuple[]" + } + ], + "internalType": "struct CcipClient.Any2EVMMessage", + "name": "message", + "type": "tuple" + } + ], + "name": "ccipReceive", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "currentTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "requiredTime", + "type": "uint256" + } + ], + "name": "AccountActivityTimeoutPending", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "CollateralDepositDisabled", + "type": "error" + }, + { + "inputs": [], + "name": "CollateralNotFound", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "FailedTransfer", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amountAvailableForDelegationD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountD18", + "type": "uint256" + } + ], + "name": "InsufficentAvailableCollateral", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "InsufficientAccountCollateral", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "required", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "existing", + "type": "uint256" + } + ], + "name": "InsufficientAllowance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "parameter", + "type": "string" + }, + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "InvalidParameter", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint64", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + } + ], + "name": "PrecisionLost", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "expireTimestamp", + "type": "uint64" + } + ], + "name": "CollateralLockCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "expireTimestamp", + "type": "uint64" + } + ], + "name": "CollateralLockExpired", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "Deposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "Withdrawn", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "count", + "type": "uint256" + } + ], + "name": "cleanExpiredLocks", + "outputs": [ + { + "internalType": "uint256", + "name": "cleared", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint64", + "name": "expireTimestamp", + "type": "uint64" + } + ], + "name": "createLock", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getAccountAvailableCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getAccountCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "totalDeposited", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAssigned", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalLocked", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "count", + "type": "uint256" + } + ], + "name": "getLocks", + "outputs": [ + { + "components": [ + { + "internalType": "uint128", + "name": "amountD18", + "type": "uint128" + }, + { + "internalType": "uint64", + "name": "lockExpirationTime", + "type": "uint64" + } + ], + "internalType": "struct CollateralLock.Data[]", + "name": "locks", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "components": [ + { + "internalType": "bool", + "name": "depositingEnabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "issuanceRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRewardD18", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "oracleNodeId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "minDelegationD18", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct CollateralConfiguration.Data", + "name": "config", + "type": "tuple" + } + ], + "name": "CollateralConfigured", + "type": "event" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bool", + "name": "depositingEnabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "issuanceRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRewardD18", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "oracleNodeId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "minDelegationD18", + "type": "uint256" + } + ], + "internalType": "struct CollateralConfiguration.Data", + "name": "config", + "type": "tuple" + } + ], + "name": "configureCollateral", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getCollateralConfiguration", + "outputs": [ + { + "components": [ + { + "internalType": "bool", + "name": "depositingEnabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "issuanceRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRewardD18", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "oracleNodeId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "minDelegationD18", + "type": "uint256" + } + ], + "internalType": "struct CollateralConfiguration.Data", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "hideDisabled", + "type": "bool" + } + ], + "name": "getCollateralConfigurations", + "outputs": [ + { + "components": [ + { + "internalType": "bool", + "name": "depositingEnabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "issuanceRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRewardD18", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "oracleNodeId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "minDelegationD18", + "type": "uint256" + } + ], + "internalType": "struct CollateralConfiguration.Data[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getCollateralPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "requiredAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "availableAmount", + "type": "uint256" + } + ], + "name": "InsufficientCcipFee", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint64", + "name": "destChainId", + "type": "uint64" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "TransferCrossChainInitiated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "destChainId", + "type": "uint64" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferCrossChain", + "outputs": [ + { + "internalType": "uint256", + "name": "gasTokenUsed", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "currentDebt", + "type": "int256" + } + ], + "name": "InsufficientDebt", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "PoolNotFound", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + } + ], + "name": "IssuanceFeePaid", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "UsdBurned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "UsdMinted", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnUsd", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "mintUsd", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "CannotScaleEmptyMapping", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "collateralValue", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "debt", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "currentCRatio", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "cratio", + "type": "uint256" + } + ], + "name": "IneligibleForLiquidation", + "type": "error" + }, + { + "inputs": [], + "name": "InsufficientMappedAmount", + "type": "error" + }, + { + "inputs": [], + "name": "MustBeVaultLiquidated", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt128ToUint128", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "debtLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateralLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountRewarded", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct ILiquidationModule.LiquidationData", + "name": "liquidationData", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "liquidateAsAccountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "Liquidation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "debtLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateralLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountRewarded", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct ILiquidationModule.LiquidationData", + "name": "liquidationData", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "liquidateAsAccountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "VaultLiquidation", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "isPositionLiquidatable", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "isVaultLiquidatable", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint128", + "name": "liquidateAsAccountId", + "type": "uint128" + } + ], + "name": "liquidate", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "debtLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateralLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountRewarded", + "type": "uint256" + } + ], + "internalType": "struct ILiquidationModule.LiquidationData", + "name": "liquidationData", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint128", + "name": "liquidateAsAccountId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "maxUsd", + "type": "uint256" + } + ], + "name": "liquidateVault", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "debtLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateralLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountRewarded", + "type": "uint256" + } + ], + "internalType": "struct ILiquidationModule.LiquidationData", + "name": "liquidationData", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenAmountToDeposit", + "type": "uint256" + } + ], + "name": "InsufficientMarketCollateralDepositable", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenAmountToWithdraw", + "type": "uint256" + } + ], + "name": "InsufficientMarketCollateralWithdrawable", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "MarketCollateralDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "MarketCollateralWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "systemAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "MaximumMarketCollateralConfigured", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "configureMaximumMarketCollateral", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "depositMarketCollateral", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getMarketCollateralAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "collateralAmountD18", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketCollateralValue", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getMaximumMarketCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "withdrawMarketCollateral", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "market", + "type": "address" + } + ], + "name": "IncorrectMarketInterface", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "NotEnoughLiquidity", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "market", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "MarketRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + } + ], + "name": "MarketSystemFeePaid", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "market", + "type": "address" + } + ], + "name": "MarketUsdDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "market", + "type": "address" + } + ], + "name": "MarketUsdWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "minLiquidityRatio", + "type": "uint256" + } + ], + "name": "SetMarketMinLiquidityRatio", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "minDelegateTime", + "type": "uint32" + } + ], + "name": "SetMinDelegateTime", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "depositMarketUsd", + "outputs": [ + { + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "maxIter", + "type": "uint256" + } + ], + "name": "distributeDebtToPools", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketDebtPerShare", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "getMarketFees", + "outputs": [ + { + "internalType": "uint256", + "name": "depositFeeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "withdrawFeeAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketMinDelegateTime", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketNetIssuance", + "outputs": [ + { + "internalType": "int128", + "name": "", + "type": "int128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "getMarketPoolDebtDistribution", + "outputs": [ + { + "internalType": "uint256", + "name": "sharesD18", + "type": "uint256" + }, + { + "internalType": "uint128", + "name": "totalSharesD18", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "valuePerShareD27", + "type": "int128" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketPools", + "outputs": [ + { + "internalType": "uint128[]", + "name": "inRangePoolIds", + "type": "uint128[]" + }, + { + "internalType": "uint128[]", + "name": "outRangePoolIds", + "type": "uint128[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketReportedDebt", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketTotalDebt", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMinLiquidityRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOracleManager", + "outputs": [ + { + "internalType": "contract IOracleManager", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getUsdToken", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getWithdrawableMarketUsd", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "isMarketCapacityLocked", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "market", + "type": "address" + } + ], + "name": "registerMarket", + "outputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint32", + "name": "minDelegateTime", + "type": "uint32" + } + ], + "name": "setMarketMinDelegateTime", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "minLiquidityRatio", + "type": "uint256" + } + ], + "name": "setMinLiquidityRatio", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdrawMarketUsd", + "outputs": [ + { + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "DeniedMulticallTarget", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "RecursiveMulticall", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "poolId", + "type": "uint256" + } + ], + "name": "PoolApprovedAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "poolId", + "type": "uint256" + } + ], + "name": "PoolApprovedRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "poolId", + "type": "uint256" + } + ], + "name": "PreferredPoolSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "addApprovedPool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getApprovedPools", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getPreferredPool", + "outputs": [ + { + "internalType": "uint128", + "name": "", + "type": "uint128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "removeApprovedPool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "setPreferredPool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "marketId", + "type": "uint256" + } + ], + "name": "CapacityLocked", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "uint32", + "name": "timeRemaining", + "type": "uint32" + } + ], + "name": "MinDelegationTimeoutPending", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "PoolAlreadyExists", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "collateralLimitD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "issuanceRatioD18", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct PoolCollateralConfiguration.Data", + "name": "config", + "type": "tuple" + } + ], + "name": "PoolCollateralConfigurationUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "bool", + "name": "disabled", + "type": "bool" + } + ], + "name": "PoolCollateralDisabledByDefaultSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "components": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "weightD18", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "maxDebtShareValueD18", + "type": "int128" + } + ], + "indexed": false, + "internalType": "struct MarketConfiguration.Data[]", + "name": "markets", + "type": "tuple[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "PoolConfigurationSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "PoolCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "PoolNameUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "PoolNominationRenounced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "PoolNominationRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "nominatedOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "PoolOwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "PoolOwnershipAccepted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "minLiquidityRatio", + "type": "uint256" + } + ], + "name": "SetMinLiquidityRatio", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "acceptPoolOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "requestedPoolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "createPool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getMinLiquidityRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "getNominatedPoolOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateral", + "type": "address" + } + ], + "name": "getPoolCollateralIssuanceRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "getPoolConfiguration", + "outputs": [ + { + "components": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "weightD18", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "maxDebtShareValueD18", + "type": "int128" + } + ], + "internalType": "struct MarketConfiguration.Data[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "getPoolName", + "outputs": [ + { + "internalType": "string", + "name": "poolName", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "getPoolOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "nominatedOwner", + "type": "address" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "nominatePoolOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "optionalCollateralType", + "type": "address" + } + ], + "name": "rebalancePool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "renouncePoolNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "revokePoolNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minLiquidityRatio", + "type": "uint256" + } + ], + "name": "setMinLiquidityRatio", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "collateralLimitD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "issuanceRatioD18", + "type": "uint256" + } + ], + "internalType": "struct PoolCollateralConfiguration.Data", + "name": "newConfig", + "type": "tuple" + } + ], + "name": "setPoolCollateralConfiguration", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + } + ], + "name": "setPoolCollateralDisabledByDefault", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "components": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "weightD18", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "maxDebtShareValueD18", + "type": "int128" + } + ], + "internalType": "struct MarketConfiguration.Data[]", + "name": "newMarketConfigurations", + "type": "tuple[]" + } + ], + "name": "setPoolConfiguration", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "setPoolName", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint32", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint32ToInt32", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint64ToInt64", + "type": "error" + }, + { + "inputs": [], + "name": "RewardDistributorNotFound", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "distributor", + "type": "address" + } + ], + "name": "RewardUnavailable", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "distributor", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardsClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "distributor", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "start", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "RewardsDistributed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "distributor", + "type": "address" + } + ], + "name": "RewardsDistributorRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "distributor", + "type": "address" + } + ], + "name": "RewardsDistributorRemoved", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "address", + "name": "distributor", + "type": "address" + } + ], + "name": "claimRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint64", + "name": "start", + "type": "uint64" + }, + { + "internalType": "uint32", + "name": "duration", + "type": "uint32" + } + ], + "name": "distributeRewards", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "address", + "name": "distributor", + "type": "address" + } + ], + "name": "getRewardRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "address", + "name": "distributor", + "type": "address" + } + ], + "name": "registerRewardsDistributor", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "address", + "name": "distributor", + "type": "address" + } + ], + "name": "removeRewardsDistributor", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "updateRewards", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + }, + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint64", + "name": "newChainId", + "type": "uint64" + } + ], + "name": "NewSupportedCrossChainNetwork", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "ccipRouter", + "type": "address" + }, + { + "internalType": "address", + "name": "ccipTokenPool", + "type": "address" + } + ], + "name": "configureChainlinkCrossChain", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "oracleManagerAddress", + "type": "address" + } + ], + "name": "configureOracleManager", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "k", + "type": "bytes32" + } + ], + "name": "getConfig", + "outputs": [ + { + "internalType": "bytes32", + "name": "v", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "k", + "type": "bytes32" + } + ], + "name": "getConfigAddress", + "outputs": [ + { + "internalType": "address", + "name": "v", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "k", + "type": "bytes32" + } + ], + "name": "getConfigUint", + "outputs": [ + { + "internalType": "uint256", + "name": "v", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTrustedForwarder", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "forwarder", + "type": "address" + } + ], + "name": "isTrustedForwarder", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "k", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "v", + "type": "bytes32" + } + ], + "name": "setConfig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint64[]", + "name": "supportedNetworks", + "type": "uint64[]" + }, + { + "internalType": "uint64[]", + "name": "ccipSelectors", + "type": "uint64[]" + } + ], + "name": "setSupportedCrossChainNetworks", + "outputs": [ + { + "internalType": "uint256", + "name": "numRegistered", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minDelegation", + "type": "uint256" + } + ], + "name": "InsufficientDelegation", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidCollateralAmount", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "leverage", + "type": "uint256" + } + ], + "name": "InvalidLeverage", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "currentCollateral", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxCollateral", + "type": "uint256" + } + ], + "name": "PoolCollateralLimitExceeded", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "leverage", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "DelegationUpdated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "newCollateralAmountD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "leverage", + "type": "uint256" + } + ], + "name": "delegateCollateral", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getPosition", + "outputs": [ + { + "internalType": "uint256", + "name": "collateralAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateralValue", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "debt", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "collateralizationRatio", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getPositionCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getPositionCollateralRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getPositionDebt", + "outputs": [ + { + "internalType": "int256", + "name": "debt", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getVaultCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getVaultCollateralRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getVaultDebt", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.upgrade_core_proxy" +} diff --git a/for-developers/abis/5-snxAccountNFT.json b/for-developers/abis/420-dev-snxAccountNFT.json similarity index 99% rename from for-developers/abis/5-snxAccountNFT.json rename to for-developers/abis/420-dev-snxAccountNFT.json index b1d3dc1..4ea811b 100644 --- a/for-developers/abis/5-snxAccountNFT.json +++ b/for-developers/abis/420-dev-snxAccountNFT.json @@ -1,5 +1,5 @@ { - "address": "0x1b791d05E437C78039424749243F5A79E747525e", + "address": "0x1daA414B74A7581405e8B17bac5B29F31042B7C6", "abi": [ { "inputs": [ diff --git a/for-developers/abis/5-snxUSDToken.json b/for-developers/abis/420-dev-snxUSDToken.json similarity index 99% rename from for-developers/abis/5-snxUSDToken.json rename to for-developers/abis/420-dev-snxUSDToken.json index a15db91..28573fd 100644 --- a/for-developers/abis/5-snxUSDToken.json +++ b/for-developers/abis/420-dev-snxUSDToken.json @@ -1,5 +1,5 @@ { - "address": "0xe487Ad4291019b33e2230F8E2FB1fb6490325260", + "address": "0xE0D30C1f189496388B0f5F1c32e75327135F26b8", "abi": [ { "inputs": [ diff --git a/for-developers/abis/420-OracleManager.json b/for-developers/abis/420-main-OracleManager.json similarity index 100% rename from for-developers/abis/420-OracleManager.json rename to for-developers/abis/420-main-OracleManager.json diff --git a/for-developers/abis/420-PerpsAccountNFT.json b/for-developers/abis/420-main-PerpsAccountNFT.json similarity index 100% rename from for-developers/abis/420-PerpsAccountNFT.json rename to for-developers/abis/420-main-PerpsAccountNFT.json diff --git a/for-developers/abis/420-main-PerpsMarket.json b/for-developers/abis/420-main-PerpsMarket.json new file mode 100644 index 0000000..d190729 --- /dev/null +++ b/for-developers/abis/420-main-PerpsMarket.json @@ -0,0 +1,4090 @@ +{ + "address": "0xf272382cB3BE898A8CdB1A23BE056fA2Fcf4513b", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes32", + "name": "which", + "type": "bytes32" + } + ], + "name": "FeatureUnavailable", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "InvalidAccountId", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + } + ], + "name": "InvalidPermission", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "origin", + "type": "address" + } + ], + "name": "OnlyAccountTokenProxy", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "PermissionDenied", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "PermissionNotGranted", + "type": "error" + }, + { + "inputs": [], + "name": "PositionOutOfBounds", + "type": "error" + }, + { + "inputs": [], + "name": "ValueAlreadyInSet", + "type": "error" + }, + { + "inputs": [], + "name": "ValueNotInSet", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "AccountCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "PermissionGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "PermissionRevoked", + "type": "event" + }, + { + "inputs": [], + "name": "createAccount", + "outputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "requestedAccountId", + "type": "uint128" + } + ], + "name": "createAccount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getAccountLastInteraction", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getAccountOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getAccountPermissions", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "bytes32[]", + "name": "permissions", + "type": "bytes32[]" + } + ], + "internalType": "struct IAccountModule.AccountPermissions[]", + "name": "accountPerms", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAccountTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "grantPermission", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "hasPermission", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "isAuthorized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "notifyAccountTransfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + } + ], + "name": "renouncePermission", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "revokePermission", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expected", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actual", + "type": "bytes32" + } + ], + "name": "MismatchAssociatedSystemKind", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "MissingAssociatedSystem", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "Unauthorized", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "proxy", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "AssociatedSystemSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "getAssociatedSystem", + "outputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeNft", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "endpoint", + "type": "address" + } + ], + "name": "registerUnmanagedSystem", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "DeniedMulticallTarget", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "RecursiveMulticall", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ImplementationIsSterile", + "type": "error" + }, + { + "inputs": [], + "name": "NoChange", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contr", + "type": "address" + } + ], + "name": "NotAContract", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "NotNominated", + "type": "error" + }, + { + "inputs": [], + "name": "UpgradeSimulationFailed", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "self", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "simulateUpgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "InvalidMarket", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "parameter", + "type": "string" + }, + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "InvalidParameter", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt256ToUint256", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToInt256", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint128", + "type": "error" + }, + { + "inputs": [], + "name": "PerpsMarketAlreadyInitialized", + "type": "error" + }, + { + "inputs": [], + "name": "PerpsMarketNotInitialized", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint128", + "name": "globalPerpsMarketId", + "type": "uint128" + } + ], + "name": "FactoryInitialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "perpsMarketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "string", + "name": "marketName", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "marketSymbol", + "type": "string" + } + ], + "name": "MarketCreated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "requestedMarketId", + "type": "uint128" + }, + { + "internalType": "string", + "name": "marketName", + "type": "string" + }, + { + "internalType": "string", + "name": "marketSymbol", + "type": "string" + } + ], + "name": "createMarket", + "outputs": [ + { + "internalType": "uint128", + "name": "", + "type": "uint128" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ISynthetixSystem", + "name": "synthetix", + "type": "address" + }, + { + "internalType": "contract ISpotMarketSystem", + "name": "spotMarket", + "type": "address" + }, + { + "internalType": "string", + "name": "marketName", + "type": "string" + } + ], + "name": "initializeFactory", + "outputs": [ + { + "internalType": "uint128", + "name": "", + "type": "uint128" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "perpsMarketId", + "type": "uint128" + } + ], + "name": "minimumCredit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "perpsMarketId", + "type": "uint128" + } + ], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "perpsMarketId", + "type": "uint128" + } + ], + "name": "reportedDebt", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "marketName", + "type": "string" + } + ], + "name": "setPerpsMarketName", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "AccountLiquidatable", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "AccountNotFound", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "collateralAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "withdrawAmount", + "type": "uint256" + } + ], + "name": "InsufficientCollateral", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "availableUsdDenominated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "requiredUsdDenominated", + "type": "uint256" + } + ], + "name": "InsufficientCollateralAvailableForWithdraw", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "collateralAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "withdrawAmount", + "type": "uint256" + } + ], + "name": "InsufficientSynthCollateral", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "amountDelta", + "type": "int256" + } + ], + "name": "InvalidAmountDelta", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "maxAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateralAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "depositAmount", + "type": "uint256" + } + ], + "name": "MaxCollateralExceeded", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "maxCollateralsPerAccount", + "type": "uint128" + } + ], + "name": "MaxCollateralsPerAccountReached", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint128ToInt128", + "type": "error" + }, + { + "inputs": [], + "name": "PendingOrderExists", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "PriceFeedNotSet", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "SynthNotEnabledForCollateral", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "int256", + "name": "amountDelta", + "type": "int256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "CollateralModified", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getAvailableMargin", + "outputs": [ + { + "internalType": "int256", + "name": "availableMargin", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getCollateralAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getOpenPosition", + "outputs": [ + { + "internalType": "int256", + "name": "totalPnl", + "type": "int256" + }, + { + "internalType": "int256", + "name": "accruedFunding", + "type": "int256" + }, + { + "internalType": "int128", + "name": "positionSize", + "type": "int128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getRequiredMargins", + "outputs": [ + { + "internalType": "uint256", + "name": "requiredInitialMargin", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "requiredMaintenanceMargin", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAccumulatedLiquidationRewards", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxLiquidationReward", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getWithdrawableMargin", + "outputs": [ + { + "internalType": "int256", + "name": "withdrawableMargin", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "int256", + "name": "amountDelta", + "type": "int256" + } + ], + "name": "modifyCollateral", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "totalAccountOpenInterest", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "totalCollateralValue", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "currentFundingRate", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "currentFundingVelocity", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "orderSize", + "type": "int128" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "name": "fillPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketSummary", + "outputs": [ + { + "components": [ + { + "internalType": "int256", + "name": "skew", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "size", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxOpenInterest", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "currentFundingRate", + "type": "int256" + }, + { + "internalType": "int256", + "name": "currentFundingVelocity", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "indexPrice", + "type": "uint256" + } + ], + "internalType": "struct IPerpsMarketModule.MarketSummary", + "name": "summary", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "indexPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "maxOpenInterest", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "metadata", + "outputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "size", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "skew", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "fillPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "acceptablePrice", + "type": "uint256" + } + ], + "name": "AcceptablePriceExceeded", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "availableMargin", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "minMargin", + "type": "uint256" + } + ], + "name": "InsufficientMargin", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "settlementStrategyId", + "type": "uint128" + } + ], + "name": "InvalidSettlementStrategy", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "maxMarketSize", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "newSideSize", + "type": "int256" + } + ], + "name": "MaxOpenInterestReached", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "maxPositionsPerAccount", + "type": "uint128" + } + ], + "name": "MaxPositionsPerAccountReached", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt256ToInt128", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroSizeOrder", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "enum SettlementStrategy.Type", + "name": "orderType", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "acceptablePrice", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expirationTime", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "OrderCommitted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "acceptablePrice", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + } + ], + "name": "PreviousOrderExpired", + "type": "event" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + }, + { + "internalType": "uint128", + "name": "settlementStrategyId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "acceptablePrice", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "internalType": "struct AsyncOrder.OrderCommitmentRequest", + "name": "commitment", + "type": "tuple" + } + ], + "name": "commitOrder", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + }, + { + "internalType": "uint128", + "name": "settlementStrategyId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "acceptablePrice", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "internalType": "struct AsyncOrder.OrderCommitmentRequest", + "name": "request", + "type": "tuple" + } + ], + "internalType": "struct AsyncOrder.Data", + "name": "retOrder", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "fees", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + } + ], + "name": "computeOrderFees", + "outputs": [ + { + "internalType": "uint256", + "name": "orderFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "fillPrice", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getOrder", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + }, + { + "internalType": "uint128", + "name": "settlementStrategyId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "acceptablePrice", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "internalType": "struct AsyncOrder.OrderCommitmentRequest", + "name": "request", + "type": "tuple" + } + ], + "internalType": "struct AsyncOrder.Data", + "name": "order", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + } + ], + "name": "requiredMarginForOrder", + "outputs": [ + { + "internalType": "uint256", + "name": "requiredMargin", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "leftover", + "type": "uint256" + } + ], + "name": "InsufficientMarginError", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "string[]", + "name": "urls", + "type": "string[]" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "bytes4", + "name": "callbackFunction", + "type": "bytes4" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "OffchainLookup", + "type": "error" + }, + { + "inputs": [], + "name": "OrderNotValid", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt128ToUint128", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint64", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + } + ], + "name": "SettlementStrategyNotFound", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementExpiration", + "type": "uint256" + } + ], + "name": "SettlementWindowExpired", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + } + ], + "name": "SettlementWindowNotOpen", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "skew", + "type": "int256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "size", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "sizeDelta", + "type": "int256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "currentFundingRate", + "type": "int256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "currentFundingVelocity", + "type": "int256" + } + ], + "name": "MarketUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "fillPrice", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "pnl", + "type": "int256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "accruedFunding", + "type": "int256" + }, + { + "indexed": false, + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + }, + { + "indexed": false, + "internalType": "int128", + "name": "newSize", + "type": "int128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "referralFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "settlementReward", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "settler", + "type": "address" + } + ], + "name": "OrderSettled", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "settle", + "outputs": [], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "settlePythOrder", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "fillPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "acceptablePrice", + "type": "uint256" + } + ], + "name": "AcceptablePriceNotExceeded", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "desiredPrice", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "fillPrice", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "settlementReward", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "settler", + "type": "address" + } + ], + "name": "OrderCancelled", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "cancelOrder", + "outputs": [], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "cancelPythOrder", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "allowAll", + "type": "bool" + } + ], + "name": "FeatureFlagAllowAllSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "FeatureFlagAllowlistAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "FeatureFlagAllowlistRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "deniers", + "type": "address[]" + } + ], + "name": "FeatureFlagDeniersReset", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "denyAll", + "type": "bool" + } + ], + "name": "FeatureFlagDenyAllSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "addToFeatureFlagAllowlist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getDeniers", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagAllowAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagAllowlist", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagDenyAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "isFeatureAllowed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "removeFromFeatureFlagAllowlist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address[]", + "name": "deniers", + "type": "address[]" + } + ], + "name": "setDeniers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "allowAll", + "type": "bool" + } + ], + "name": "setFeatureFlagAllowAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "denyAll", + "type": "bool" + } + ], + "name": "setFeatureFlagDenyAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "NotEligibleForLiquidation", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reward", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "fullLiquidation", + "type": "bool" + } + ], + "name": "AccountLiquidated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountLiquidated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int128", + "name": "currentPositionSize", + "type": "int128" + } + ], + "name": "PositionLiquidated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "canLiquidate", + "outputs": [ + { + "internalType": "bool", + "name": "isEligible", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "flaggedAccounts", + "outputs": [ + { + "internalType": "uint256[]", + "name": "accountIds", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "liquidate", + "outputs": [ + { + "internalType": "uint256", + "name": "liquidationReward", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxNumberOfAccounts", + "type": "uint256" + } + ], + "name": "liquidateFlagged", + "outputs": [ + { + "internalType": "uint256", + "name": "liquidationReward", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128[]", + "name": "accountIds", + "type": "uint128[]" + } + ], + "name": "liquidateFlaggedAccounts", + "outputs": [ + { + "internalType": "uint256", + "name": "liquidationReward", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "liquidationCapacity", + "outputs": [ + { + "internalType": "uint256", + "name": "capacity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxLiquidationInWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "latestLiquidationTimestamp", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "InvalidSettlementWindowDuration", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "skewScale", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maxFundingVelocity", + "type": "uint256" + } + ], + "name": "FundingParametersSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "initialMarginRatioD18", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maintenanceMarginRatioD18", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "minimumInitialMarginRatioD18", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "liquidationRewardRatioD18", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "minimumPositionMargin", + "type": "uint256" + } + ], + "name": "LiquidationParametersSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "lockedOiRatioD18", + "type": "uint256" + } + ], + "name": "LockedOiRatioSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "feedId", + "type": "bytes32" + } + ], + "name": "MarketPriceDataUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maxLiquidationLimitAccumulationMultiplier", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maxSecondsInLiquidationWindow", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maxLiquidationPd", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "endorsedLiquidator", + "type": "address" + } + ], + "name": "MaxLiquidationParametersSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maxMarketSize", + "type": "uint256" + } + ], + "name": "MaxMarketSizeSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "makerFeeRatio", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "takerFeeRatio", + "type": "uint256" + } + ], + "name": "OrderFeesSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "components": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "settlementDelay", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementWindowDuration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "priceWindowDuration", + "type": "uint256" + }, + { + "internalType": "address", + "name": "priceVerificationContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "feedId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "url", + "type": "string" + }, + { + "internalType": "uint256", + "name": "settlementReward", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct SettlementStrategy.Data", + "name": "strategy", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + } + ], + "name": "SettlementStrategyAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "SettlementStrategyEnabled", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "components": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "settlementDelay", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementWindowDuration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "priceWindowDuration", + "type": "uint256" + }, + { + "internalType": "address", + "name": "priceVerificationContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "feedId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "url", + "type": "string" + }, + { + "internalType": "uint256", + "name": "settlementReward", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + } + ], + "internalType": "struct SettlementStrategy.Data", + "name": "strategy", + "type": "tuple" + } + ], + "name": "addSettlementStrategy", + "outputs": [ + { + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getFundingParameters", + "outputs": [ + { + "internalType": "uint256", + "name": "skewScale", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxFundingVelocity", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getLiquidationParameters", + "outputs": [ + { + "internalType": "uint256", + "name": "initialMarginRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumInitialMarginRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maintenanceMarginScalarD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRewardRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumPositionMargin", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getLockedOiRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMaxLiquidationParameters", + "outputs": [ + { + "internalType": "uint256", + "name": "maxLiquidationLimitAccumulationMultiplier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxSecondsInLiquidationWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxLiquidationPd", + "type": "uint256" + }, + { + "internalType": "address", + "name": "endorsedLiquidator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMaxMarketSize", + "outputs": [ + { + "internalType": "uint256", + "name": "maxMarketSize", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getOrderFees", + "outputs": [ + { + "internalType": "uint256", + "name": "makerFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "takerFee", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + } + ], + "name": "getSettlementStrategy", + "outputs": [ + { + "components": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "settlementDelay", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementWindowDuration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "priceWindowDuration", + "type": "uint256" + }, + { + "internalType": "address", + "name": "priceVerificationContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "feedId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "url", + "type": "string" + }, + { + "internalType": "uint256", + "name": "settlementReward", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + } + ], + "internalType": "struct SettlementStrategy.Data", + "name": "settlementStrategy", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "skewScale", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxFundingVelocity", + "type": "uint256" + } + ], + "name": "setFundingParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "initialMarginRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumInitialMarginRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maintenanceMarginScalarD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRewardRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumPositionMargin", + "type": "uint256" + } + ], + "name": "setLiquidationParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "lockedOiRatioD18", + "type": "uint256" + } + ], + "name": "setLockedOiRatio", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "maxLiquidationLimitAccumulationMultiplier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxSecondsInLiquidationWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxLiquidationPd", + "type": "uint256" + }, + { + "internalType": "address", + "name": "endorsedLiquidator", + "type": "address" + } + ], + "name": "setMaxLiquidationParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "maxMarketSize", + "type": "uint256" + } + ], + "name": "setMaxMarketSize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "makerFeeRatio", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "takerFeeRatio", + "type": "uint256" + } + ], + "name": "setOrderFees", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "setSettlementStrategyEnabled", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "perpsMarketId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "feedId", + "type": "bytes32" + } + ], + "name": "updatePriceData", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "invalidFeeCollector", + "type": "address" + } + ], + "name": "InvalidFeeCollectorInterface", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shareRatioD18", + "type": "uint256" + } + ], + "name": "InvalidReferrerShareRatio", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "feeCollector", + "type": "address" + } + ], + "name": "FeeCollectorSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "minLiquidationRewardUsd", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "maxLiquidationRewardUsd", + "type": "uint256" + } + ], + "name": "LiquidationRewardGuardsSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralAmount", + "type": "uint256" + } + ], + "name": "MaxCollateralAmountSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint128", + "name": "maxPositionsPerAccount", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "maxCollateralsPerAccount", + "type": "uint128" + } + ], + "name": "PerAccountCapsSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shareRatioD18", + "type": "uint256" + } + ], + "name": "ReferrerShareUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint128[]", + "name": "newSynthDeductionPriority", + "type": "uint128[]" + } + ], + "name": "SynthDeductionPrioritySet", + "type": "event" + }, + { + "inputs": [], + "name": "getFeeCollector", + "outputs": [ + { + "internalType": "address", + "name": "feeCollector", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getLiquidationRewardGuards", + "outputs": [ + { + "internalType": "uint256", + "name": "minLiquidationRewardUsd", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxLiquidationRewardUsd", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMarkets", + "outputs": [ + { + "internalType": "uint256[]", + "name": "marketIds", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getMaxCollateralAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getPerAccountCaps", + "outputs": [ + { + "internalType": "uint128", + "name": "maxPositionsPerAccount", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "maxCollateralsPerAccount", + "type": "uint128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "getReferrerShare", + "outputs": [ + { + "internalType": "uint256", + "name": "shareRatioD18", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getSynthDeductionPriority", + "outputs": [ + { + "internalType": "uint128[]", + "name": "", + "type": "uint128[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "feeCollector", + "type": "address" + } + ], + "name": "setFeeCollector", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minLiquidationRewardUsd", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxLiquidationRewardUsd", + "type": "uint256" + } + ], + "name": "setLiquidationRewardGuards", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "collateralAmount", + "type": "uint256" + } + ], + "name": "setMaxCollateralAmount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "maxPositionsPerAccount", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "maxCollateralsPerAccount", + "type": "uint128" + } + ], + "name": "setPerAccountCaps", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128[]", + "name": "newSynthDeductionPriority", + "type": "uint128[]" + } + ], + "name": "setSynthDeductionPriority", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "totalGlobalCollateralValue", + "outputs": [ + { + "internalType": "uint256", + "name": "totalCollateralValue", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "shareRatioD18", + "type": "uint256" + } + ], + "name": "updateReferrerShare", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.upgrade_proxy" +} diff --git a/for-developers/abis/420-main-SpotMarket.json b/for-developers/abis/420-main-SpotMarket.json new file mode 100644 index 0000000..3b54e0e --- /dev/null +++ b/for-developers/abis/420-main-SpotMarket.json @@ -0,0 +1,3797 @@ +{ + "address": "0x5FF4b3aacdeC86782d8c757FAa638d8790799E83", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "DeniedMulticallTarget", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "RecursiveMulticall", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ImplementationIsSterile", + "type": "error" + }, + { + "inputs": [], + "name": "NoChange", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contr", + "type": "address" + } + ], + "name": "NotAContract", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "NotNominated", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "Unauthorized", + "type": "error" + }, + { + "inputs": [], + "name": "UpgradeSimulationFailed", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "self", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "simulateUpgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "which", + "type": "bytes32" + } + ], + "name": "FeatureUnavailable", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidMarketOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "synthImplementation", + "type": "uint256" + } + ], + "name": "InvalidSynthImplementation", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expected", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actual", + "type": "bytes32" + } + ], + "name": "MismatchAssociatedSystemKind", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "MissingAssociatedSystem", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "marketOwner", + "type": "address" + }, + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "OnlyMarketOwner", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt256ToUint256", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "proxy", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "AssociatedSystemSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rate", + "type": "uint256" + } + ], + "name": "DecayRateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "nominee", + "type": "address" + } + ], + "name": "MarketNominationRenounced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "MarketOwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "MarketOwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "synthImplementation", + "type": "address" + } + ], + "name": "SynthImplementationSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "proxy", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "SynthImplementationUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "buyFeedId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "sellFeedId", + "type": "bytes32" + } + ], + "name": "SynthPriceDataUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "synthTokenAddress", + "type": "address" + } + ], + "name": "SynthRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "synthetix", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "usdTokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "oracleManager", + "type": "address" + } + ], + "name": "SynthetixSystemSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "acceptMarketOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "string", + "name": "tokenSymbol", + "type": "string" + }, + { + "internalType": "address", + "name": "synthOwner", + "type": "address" + } + ], + "name": "createSynth", + "outputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "getAssociatedSystem", + "outputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getMarketOwner", + "outputs": [ + { + "internalType": "address", + "name": "marketOwner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getSynth", + "outputs": [ + { + "internalType": "address", + "name": "synthAddress", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getSynthImpl", + "outputs": [ + { + "internalType": "address", + "name": "implAddress", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeNft", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "minimumCredit", + "outputs": [ + { + "internalType": "uint256", + "name": "lockedAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "marketName", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateMarketOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "endpoint", + "type": "address" + } + ], + "name": "registerUnmanagedSystem", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "renounceMarketNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "renounceMarketOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "reportedDebt", + "outputs": [ + { + "internalType": "uint256", + "name": "reportedDebtAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + } + ], + "name": "setDecayRate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "synthImplementation", + "type": "address" + } + ], + "name": "setSynthImplementation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ISynthetixSystem", + "name": "synthetix", + "type": "address" + } + ], + "name": "setSynthetix", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "isSupported", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "buyFeedId", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "sellFeedId", + "type": "bytes32" + } + ], + "name": "updatePriceData", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "upgradeSynthImpl", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxSynthAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "synthAmountCharged", + "type": "uint256" + } + ], + "name": "ExceedsMaxSynthAmount", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxUsdAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "usdAmountCharged", + "type": "uint256" + } + ], + "name": "ExceedsMaxUsdAmount", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expected", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "current", + "type": "uint256" + } + ], + "name": "InsufficientAmountReceived", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "InvalidMarket", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidPrices", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToInt256", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "synthReturned", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "indexed": false, + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "name": "SynthBought", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountReturned", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "indexed": false, + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "name": "SynthSold", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "usdAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minAmountReceived", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "buy", + "outputs": [ + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "usdAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minAmountReceived", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "buyExactIn", + "outputs": [ + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxUsdAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "buyExactOut", + "outputs": [ + { + "internalType": "uint256", + "name": "usdAmountCharged", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "usdAmount", + "type": "uint256" + } + ], + "name": "quoteBuyExactIn", + "outputs": [ + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + } + ], + "name": "quoteBuyExactOut", + "outputs": [ + { + "internalType": "uint256", + "name": "usdAmountCharged", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + } + ], + "name": "quoteSellExactIn", + "outputs": [ + { + "internalType": "uint256", + "name": "returnAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "usdAmount", + "type": "uint256" + } + ], + "name": "quoteSellExactOut", + "outputs": [ + { + "internalType": "uint256", + "name": "synthToBurn", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minUsdAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "sell", + "outputs": [ + { + "internalType": "uint256", + "name": "usdAmountReceived", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minAmountReceived", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "sellExactIn", + "outputs": [ + { + "internalType": "uint256", + "name": "returnAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "usdAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxSynthAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "sellExactOut", + "outputs": [ + { + "internalType": "uint256", + "name": "synthToBurn", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationTime", + "type": "uint256" + } + ], + "name": "IneligibleForCancellation", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expected", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "actual", + "type": "uint256" + } + ], + "name": "InsufficientSharesAmount", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "enum Transaction.Type", + "name": "transactionType", + "type": "uint8" + } + ], + "name": "InvalidAsyncTransactionType", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "asyncOrderId", + "type": "uint256" + } + ], + "name": "InvalidClaim", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minimumAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "InvalidCommitmentAmount", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "settlementStrategyId", + "type": "uint256" + } + ], + "name": "InvalidSettlementStrategy", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "asyncOrderId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settledAt", + "type": "uint256" + } + ], + "name": "OrderAlreadySettled", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "asyncOrderId", + "type": "uint128" + }, + { + "components": [ + { + "internalType": "uint128", + "name": "id", + "type": "uint128" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "enum Transaction.Type", + "name": "orderType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "amountEscrowed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementStrategyId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumSettlementAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settledAt", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "indexed": false, + "internalType": "struct AsyncOrderClaim.Data", + "name": "asyncOrderClaim", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "OrderCancelled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "enum Transaction.Type", + "name": "orderType", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountProvided", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "asyncOrderId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "OrderCommitted", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "asyncOrderId", + "type": "uint128" + } + ], + "name": "cancelOrder", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "enum Transaction.Type", + "name": "orderType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "amountProvided", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementStrategyId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumSettlementAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "commitOrder", + "outputs": [ + { + "components": [ + { + "internalType": "uint128", + "name": "id", + "type": "uint128" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "enum Transaction.Type", + "name": "orderType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "amountEscrowed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementStrategyId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumSettlementAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settledAt", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "internalType": "struct AsyncOrderClaim.Data", + "name": "asyncOrderClaim", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "asyncOrderId", + "type": "uint128" + } + ], + "name": "getAsyncOrderClaim", + "outputs": [ + { + "components": [ + { + "internalType": "uint128", + "name": "id", + "type": "uint128" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "enum Transaction.Type", + "name": "orderType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "amountEscrowed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementStrategyId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumSettlementAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settledAt", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "internalType": "struct AsyncOrderClaim.Data", + "name": "asyncOrderClaim", + "type": "tuple" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + } + ], + "name": "InvalidSettlementStrategy", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidVerificationResponse", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minimum", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "actual", + "type": "uint256" + } + ], + "name": "MinimumSettlementAmountNotMet", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "string[]", + "name": "urls", + "type": "string[]" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "bytes4", + "name": "callbackFunction", + "type": "bytes4" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "OffchainLookup", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "startTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationTime", + "type": "uint256" + } + ], + "name": "OutsideSettlementWindow", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint64", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + } + ], + "name": "SettlementStrategyNotFound", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "asyncOrderId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "finalOrderAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "indexed": false, + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "settler", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "enum Transaction.Type", + "name": "orderType", + "type": "uint8" + } + ], + "name": "OrderSettled", + "type": "event" + }, + { + "inputs": [], + "name": "PRECISION", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "asyncOrderId", + "type": "uint128" + } + ], + "name": "settleOrder", + "outputs": [ + { + "internalType": "uint256", + "name": "finalOrderAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "settlePythOrder", + "outputs": [ + { + "internalType": "uint256", + "name": "finalOrderAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + } + ], + "name": "SettlementStrategyAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "SettlementStrategyUpdated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "components": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "settlementDelay", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementWindowDuration", + "type": "uint256" + }, + { + "internalType": "address", + "name": "priceVerificationContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "feedId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "url", + "type": "string" + }, + { + "internalType": "uint256", + "name": "settlementReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumUsdExchangeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxRoundingLoss", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + } + ], + "internalType": "struct SettlementStrategy.Data", + "name": "strategy", + "type": "tuple" + } + ], + "name": "addSettlementStrategy", + "outputs": [ + { + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + } + ], + "name": "getSettlementStrategy", + "outputs": [ + { + "components": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "settlementDelay", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementWindowDuration", + "type": "uint256" + }, + { + "internalType": "address", + "name": "priceVerificationContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "feedId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "url", + "type": "string" + }, + { + "internalType": "uint256", + "name": "settlementReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumUsdExchangeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxRoundingLoss", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + } + ], + "internalType": "struct SettlementStrategy.Data", + "name": "settlementStrategy", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "setSettlementStrategyEnabled", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "FailedTransfer", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "message", + "type": "bytes32" + } + ], + "name": "InvalidCollateralType", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxWrappableAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "currentSupply", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountToWrap", + "type": "uint256" + } + ], + "name": "WrapperExceedsMaxAmount", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountUnwrapped", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "indexed": false, + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "feesCollected", + "type": "uint256" + } + ], + "name": "SynthUnwrapped", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountWrapped", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "indexed": false, + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "feesCollected", + "type": "uint256" + } + ], + "name": "SynthWrapped", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "wrapCollateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maxWrappableAmount", + "type": "uint256" + } + ], + "name": "WrapperSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "wrapCollateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "maxWrappableAmount", + "type": "uint256" + } + ], + "name": "setWrapper", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "unwrapAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minAmountReceived", + "type": "uint256" + } + ], + "name": "unwrap", + "outputs": [ + { + "internalType": "uint256", + "name": "returnCollateralAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "wrapAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minAmountReceived", + "type": "uint256" + } + ], + "name": "wrap", + "outputs": [ + { + "internalType": "uint256", + "name": "amountToMint", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "InvalidCollateralLeverage", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "invalidFeeCollector", + "type": "address" + } + ], + "name": "InvalidFeeCollectorInterface", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidWrapperFees", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "asyncFixedFee", + "type": "uint256" + } + ], + "name": "AsyncFixedFeeSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "atomicFixedFee", + "type": "uint256" + } + ], + "name": "AtomicFixedFeeSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralLeverage", + "type": "uint256" + } + ], + "name": "CollateralLeverageSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "feeCollector", + "type": "address" + } + ], + "name": "FeeCollectorSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "skewScale", + "type": "uint256" + } + ], + "name": "MarketSkewScaleSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "utilizationFeeRate", + "type": "uint256" + } + ], + "name": "MarketUtilizationFeesSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "sharePercentage", + "type": "uint256" + } + ], + "name": "ReferrerShareUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "transactor", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "fixedFeeAmount", + "type": "uint256" + } + ], + "name": "TransactorFixedFeeSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "wrapFee", + "type": "int256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "unwrapFee", + "type": "int256" + } + ], + "name": "WrapperFeesSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getCollateralLeverage", + "outputs": [ + { + "internalType": "uint256", + "name": "collateralLeverage", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "transactor", + "type": "address" + } + ], + "name": "getCustomTransactorFees", + "outputs": [ + { + "internalType": "uint256", + "name": "fixedFeeAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getFeeCollector", + "outputs": [ + { + "internalType": "address", + "name": "feeCollector", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getMarketFees", + "outputs": [ + { + "internalType": "uint256", + "name": "atomicFixedFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "asyncFixedFee", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "wrapFee", + "type": "int256" + }, + { + "internalType": "int256", + "name": "unwrapFee", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getMarketSkewScale", + "outputs": [ + { + "internalType": "uint256", + "name": "skewScale", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getMarketUtilizationFees", + "outputs": [ + { + "internalType": "uint256", + "name": "utilizationFeeRate", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "getReferrerShare", + "outputs": [ + { + "internalType": "uint256", + "name": "sharePercentage", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "asyncFixedFee", + "type": "uint256" + } + ], + "name": "setAsyncFixedFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "atomicFixedFee", + "type": "uint256" + } + ], + "name": "setAtomicFixedFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "collateralLeverage", + "type": "uint256" + } + ], + "name": "setCollateralLeverage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "transactor", + "type": "address" + }, + { + "internalType": "uint256", + "name": "fixedFeeAmount", + "type": "uint256" + } + ], + "name": "setCustomTransactorFees", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "feeCollector", + "type": "address" + } + ], + "name": "setFeeCollector", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "skewScale", + "type": "uint256" + } + ], + "name": "setMarketSkewScale", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "utilizationFeeRate", + "type": "uint256" + } + ], + "name": "setMarketUtilizationFees", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "int256", + "name": "wrapFee", + "type": "int256" + }, + { + "internalType": "int256", + "name": "unwrapFee", + "type": "int256" + } + ], + "name": "setWrapperFees", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "sharePercentage", + "type": "uint256" + } + ], + "name": "updateReferrerShare", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "ValueAlreadyInSet", + "type": "error" + }, + { + "inputs": [], + "name": "ValueNotInSet", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "allowAll", + "type": "bool" + } + ], + "name": "FeatureFlagAllowAllSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "FeatureFlagAllowlistAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "FeatureFlagAllowlistRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "deniers", + "type": "address[]" + } + ], + "name": "FeatureFlagDeniersReset", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "denyAll", + "type": "bool" + } + ], + "name": "FeatureFlagDenyAllSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "addToFeatureFlagAllowlist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getDeniers", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagAllowAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagAllowlist", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagDenyAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "isFeatureAllowed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "removeFromFeatureFlagAllowlist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address[]", + "name": "deniers", + "type": "address[]" + } + ], + "name": "setDeniers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "allowAll", + "type": "bool" + } + ], + "name": "setFeatureFlagAllowAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "denyAll", + "type": "bool" + } + ], + "name": "setFeatureFlagDenyAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.upgradeSpotMarketProxy" +} diff --git a/for-developers/abis/420-main-SynthetixCore.json b/for-developers/abis/420-main-SynthetixCore.json new file mode 100644 index 0000000..548f046 --- /dev/null +++ b/for-developers/abis/420-main-SynthetixCore.json @@ -0,0 +1,5139 @@ +{ + "address": "0x76490713314fCEC173f44e99346F54c6e92a8E42", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ImplementationIsSterile", + "type": "error" + }, + { + "inputs": [], + "name": "NoChange", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contr", + "type": "address" + } + ], + "name": "NotAContract", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "NotNominated", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "Unauthorized", + "type": "error" + }, + { + "inputs": [], + "name": "UpgradeSimulationFailed", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "self", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "simulateUpgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "ValueAlreadyInSet", + "type": "error" + }, + { + "inputs": [], + "name": "ValueNotInSet", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "allowAll", + "type": "bool" + } + ], + "name": "FeatureFlagAllowAllSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "FeatureFlagAllowlistAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "FeatureFlagAllowlistRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "deniers", + "type": "address[]" + } + ], + "name": "FeatureFlagDeniersReset", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "denyAll", + "type": "bool" + } + ], + "name": "FeatureFlagDenyAllSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "addToFeatureFlagAllowlist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getDeniers", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagAllowAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagAllowlist", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagDenyAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "isFeatureAllowed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "removeFromFeatureFlagAllowlist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address[]", + "name": "deniers", + "type": "address[]" + } + ], + "name": "setDeniers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "allowAll", + "type": "bool" + } + ], + "name": "setFeatureFlagAllowAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "denyAll", + "type": "bool" + } + ], + "name": "setFeatureFlagDenyAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "which", + "type": "bytes32" + } + ], + "name": "FeatureUnavailable", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "InvalidAccountId", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + } + ], + "name": "InvalidPermission", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "origin", + "type": "address" + } + ], + "name": "OnlyAccountTokenProxy", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "PermissionDenied", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "PermissionNotGranted", + "type": "error" + }, + { + "inputs": [], + "name": "PositionOutOfBounds", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "AccountCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "PermissionGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "PermissionRevoked", + "type": "event" + }, + { + "inputs": [], + "name": "createAccount", + "outputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "requestedAccountId", + "type": "uint128" + } + ], + "name": "createAccount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getAccountLastInteraction", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getAccountOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getAccountPermissions", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "bytes32[]", + "name": "permissions", + "type": "bytes32[]" + } + ], + "internalType": "struct IAccountModule.AccountPermissions[]", + "name": "accountPerms", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAccountTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "grantPermission", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "hasPermission", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "isAuthorized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "notifyAccountTransfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + } + ], + "name": "renouncePermission", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "revokePermission", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "AccountNotFound", + "type": "error" + }, + { + "inputs": [], + "name": "EmptyDistribution", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "collateralValue", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "debt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "ratio", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minRatio", + "type": "uint256" + } + ], + "name": "InsufficientCollateralRatio", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "MarketNotFound", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "marketId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "poolId", + "type": "uint256" + } + ], + "name": "NotFundedByPool", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt256ToInt128", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt256ToUint256", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint128ToInt128", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToInt256", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint128", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "updatedDebt", + "type": "int256" + } + ], + "name": "DebtAssociated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "associateDebt", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expected", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actual", + "type": "bytes32" + } + ], + "name": "MismatchAssociatedSystemKind", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "MissingAssociatedSystem", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "proxy", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "AssociatedSystemSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "getAssociatedSystem", + "outputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeNft", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "endpoint", + "type": "address" + } + ], + "name": "registerUnmanagedSystem", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "InvalidMessage", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "NotCcipRouter", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "name": "UnsupportedNetwork", + "type": "error" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "messageId", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "sourceChainSelector", + "type": "uint64" + }, + { + "internalType": "bytes", + "name": "sender", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "internalType": "struct CcipClient.EVMTokenAmount[]", + "name": "tokenAmounts", + "type": "tuple[]" + } + ], + "internalType": "struct CcipClient.Any2EVMMessage", + "name": "message", + "type": "tuple" + } + ], + "name": "ccipReceive", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "currentTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "requiredTime", + "type": "uint256" + } + ], + "name": "AccountActivityTimeoutPending", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "CollateralDepositDisabled", + "type": "error" + }, + { + "inputs": [], + "name": "CollateralNotFound", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "FailedTransfer", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amountAvailableForDelegationD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountD18", + "type": "uint256" + } + ], + "name": "InsufficentAvailableCollateral", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "InsufficientAccountCollateral", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "required", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "existing", + "type": "uint256" + } + ], + "name": "InsufficientAllowance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "parameter", + "type": "string" + }, + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "InvalidParameter", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint64", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + } + ], + "name": "PrecisionLost", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "expireTimestamp", + "type": "uint64" + } + ], + "name": "CollateralLockCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "expireTimestamp", + "type": "uint64" + } + ], + "name": "CollateralLockExpired", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "Deposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "Withdrawn", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "count", + "type": "uint256" + } + ], + "name": "cleanExpiredLocks", + "outputs": [ + { + "internalType": "uint256", + "name": "cleared", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint64", + "name": "expireTimestamp", + "type": "uint64" + } + ], + "name": "createLock", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getAccountAvailableCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getAccountCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "totalDeposited", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAssigned", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalLocked", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "count", + "type": "uint256" + } + ], + "name": "getLocks", + "outputs": [ + { + "components": [ + { + "internalType": "uint128", + "name": "amountD18", + "type": "uint128" + }, + { + "internalType": "uint64", + "name": "lockExpirationTime", + "type": "uint64" + } + ], + "internalType": "struct CollateralLock.Data[]", + "name": "locks", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "components": [ + { + "internalType": "bool", + "name": "depositingEnabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "issuanceRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRewardD18", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "oracleNodeId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "minDelegationD18", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct CollateralConfiguration.Data", + "name": "config", + "type": "tuple" + } + ], + "name": "CollateralConfigured", + "type": "event" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bool", + "name": "depositingEnabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "issuanceRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRewardD18", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "oracleNodeId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "minDelegationD18", + "type": "uint256" + } + ], + "internalType": "struct CollateralConfiguration.Data", + "name": "config", + "type": "tuple" + } + ], + "name": "configureCollateral", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getCollateralConfiguration", + "outputs": [ + { + "components": [ + { + "internalType": "bool", + "name": "depositingEnabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "issuanceRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRewardD18", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "oracleNodeId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "minDelegationD18", + "type": "uint256" + } + ], + "internalType": "struct CollateralConfiguration.Data", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "hideDisabled", + "type": "bool" + } + ], + "name": "getCollateralConfigurations", + "outputs": [ + { + "components": [ + { + "internalType": "bool", + "name": "depositingEnabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "issuanceRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRewardD18", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "oracleNodeId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "minDelegationD18", + "type": "uint256" + } + ], + "internalType": "struct CollateralConfiguration.Data[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getCollateralPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "requiredAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "availableAmount", + "type": "uint256" + } + ], + "name": "InsufficientCcipFee", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint64", + "name": "destChainId", + "type": "uint64" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "TransferCrossChainInitiated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "destChainId", + "type": "uint64" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferCrossChain", + "outputs": [ + { + "internalType": "uint256", + "name": "gasTokenUsed", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "currentDebt", + "type": "int256" + } + ], + "name": "InsufficientDebt", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "PoolNotFound", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + } + ], + "name": "IssuanceFeePaid", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "UsdBurned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "UsdMinted", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnUsd", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "mintUsd", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "CannotScaleEmptyMapping", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "collateralValue", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "debt", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "currentCRatio", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "cratio", + "type": "uint256" + } + ], + "name": "IneligibleForLiquidation", + "type": "error" + }, + { + "inputs": [], + "name": "InsufficientMappedAmount", + "type": "error" + }, + { + "inputs": [], + "name": "MustBeVaultLiquidated", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt128ToUint128", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "debtLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateralLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountRewarded", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct ILiquidationModule.LiquidationData", + "name": "liquidationData", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "liquidateAsAccountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "Liquidation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "debtLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateralLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountRewarded", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct ILiquidationModule.LiquidationData", + "name": "liquidationData", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "liquidateAsAccountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "VaultLiquidation", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "isPositionLiquidatable", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "isVaultLiquidatable", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint128", + "name": "liquidateAsAccountId", + "type": "uint128" + } + ], + "name": "liquidate", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "debtLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateralLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountRewarded", + "type": "uint256" + } + ], + "internalType": "struct ILiquidationModule.LiquidationData", + "name": "liquidationData", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint128", + "name": "liquidateAsAccountId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "maxUsd", + "type": "uint256" + } + ], + "name": "liquidateVault", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "debtLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateralLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountRewarded", + "type": "uint256" + } + ], + "internalType": "struct ILiquidationModule.LiquidationData", + "name": "liquidationData", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenAmountToDeposit", + "type": "uint256" + } + ], + "name": "InsufficientMarketCollateralDepositable", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenAmountToWithdraw", + "type": "uint256" + } + ], + "name": "InsufficientMarketCollateralWithdrawable", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "MarketCollateralDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "MarketCollateralWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "systemAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "MaximumMarketCollateralConfigured", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "configureMaximumMarketCollateral", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "depositMarketCollateral", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getMarketCollateralAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "collateralAmountD18", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketCollateralValue", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getMaximumMarketCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "withdrawMarketCollateral", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "market", + "type": "address" + } + ], + "name": "IncorrectMarketInterface", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "NotEnoughLiquidity", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "market", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "MarketRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + } + ], + "name": "MarketSystemFeePaid", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "market", + "type": "address" + } + ], + "name": "MarketUsdDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "market", + "type": "address" + } + ], + "name": "MarketUsdWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "minLiquidityRatio", + "type": "uint256" + } + ], + "name": "SetMarketMinLiquidityRatio", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "minDelegateTime", + "type": "uint32" + } + ], + "name": "SetMinDelegateTime", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "depositMarketUsd", + "outputs": [ + { + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "maxIter", + "type": "uint256" + } + ], + "name": "distributeDebtToPools", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketDebtPerShare", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "getMarketFees", + "outputs": [ + { + "internalType": "uint256", + "name": "depositFeeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "withdrawFeeAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketMinDelegateTime", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketNetIssuance", + "outputs": [ + { + "internalType": "int128", + "name": "", + "type": "int128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "getMarketPoolDebtDistribution", + "outputs": [ + { + "internalType": "uint256", + "name": "sharesD18", + "type": "uint256" + }, + { + "internalType": "uint128", + "name": "totalSharesD18", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "valuePerShareD27", + "type": "int128" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketPools", + "outputs": [ + { + "internalType": "uint128[]", + "name": "inRangePoolIds", + "type": "uint128[]" + }, + { + "internalType": "uint128[]", + "name": "outRangePoolIds", + "type": "uint128[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketReportedDebt", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketTotalDebt", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMinLiquidityRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOracleManager", + "outputs": [ + { + "internalType": "contract IOracleManager", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getUsdToken", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getWithdrawableMarketUsd", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "isMarketCapacityLocked", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "market", + "type": "address" + } + ], + "name": "registerMarket", + "outputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint32", + "name": "minDelegateTime", + "type": "uint32" + } + ], + "name": "setMarketMinDelegateTime", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "minLiquidityRatio", + "type": "uint256" + } + ], + "name": "setMinLiquidityRatio", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdrawMarketUsd", + "outputs": [ + { + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "DeniedMulticallTarget", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "RecursiveMulticall", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "poolId", + "type": "uint256" + } + ], + "name": "PoolApprovedAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "poolId", + "type": "uint256" + } + ], + "name": "PoolApprovedRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "poolId", + "type": "uint256" + } + ], + "name": "PreferredPoolSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "addApprovedPool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getApprovedPools", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getPreferredPool", + "outputs": [ + { + "internalType": "uint128", + "name": "", + "type": "uint128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "removeApprovedPool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "setPreferredPool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "marketId", + "type": "uint256" + } + ], + "name": "CapacityLocked", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "uint32", + "name": "timeRemaining", + "type": "uint32" + } + ], + "name": "MinDelegationTimeoutPending", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "PoolAlreadyExists", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "collateralLimitD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "issuanceRatioD18", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct PoolCollateralConfiguration.Data", + "name": "config", + "type": "tuple" + } + ], + "name": "PoolCollateralConfigurationUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "bool", + "name": "disabled", + "type": "bool" + } + ], + "name": "PoolCollateralDisabledByDefaultSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "components": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "weightD18", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "maxDebtShareValueD18", + "type": "int128" + } + ], + "indexed": false, + "internalType": "struct MarketConfiguration.Data[]", + "name": "markets", + "type": "tuple[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "PoolConfigurationSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "PoolCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "PoolNameUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "PoolNominationRenounced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "PoolNominationRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "nominatedOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "PoolOwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "PoolOwnershipAccepted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "minLiquidityRatio", + "type": "uint256" + } + ], + "name": "SetMinLiquidityRatio", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "acceptPoolOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "requestedPoolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "createPool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getMinLiquidityRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "getNominatedPoolOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateral", + "type": "address" + } + ], + "name": "getPoolCollateralIssuanceRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "getPoolConfiguration", + "outputs": [ + { + "components": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "weightD18", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "maxDebtShareValueD18", + "type": "int128" + } + ], + "internalType": "struct MarketConfiguration.Data[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "getPoolName", + "outputs": [ + { + "internalType": "string", + "name": "poolName", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "getPoolOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "nominatedOwner", + "type": "address" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "nominatePoolOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "optionalCollateralType", + "type": "address" + } + ], + "name": "rebalancePool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "renouncePoolNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "revokePoolNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minLiquidityRatio", + "type": "uint256" + } + ], + "name": "setMinLiquidityRatio", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "collateralLimitD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "issuanceRatioD18", + "type": "uint256" + } + ], + "internalType": "struct PoolCollateralConfiguration.Data", + "name": "newConfig", + "type": "tuple" + } + ], + "name": "setPoolCollateralConfiguration", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + } + ], + "name": "setPoolCollateralDisabledByDefault", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "components": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "weightD18", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "maxDebtShareValueD18", + "type": "int128" + } + ], + "internalType": "struct MarketConfiguration.Data[]", + "name": "newMarketConfigurations", + "type": "tuple[]" + } + ], + "name": "setPoolConfiguration", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "setPoolName", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint32", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint32ToInt32", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint64ToInt64", + "type": "error" + }, + { + "inputs": [], + "name": "RewardDistributorNotFound", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "distributor", + "type": "address" + } + ], + "name": "RewardUnavailable", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "distributor", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardsClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "distributor", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "start", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "RewardsDistributed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "distributor", + "type": "address" + } + ], + "name": "RewardsDistributorRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "distributor", + "type": "address" + } + ], + "name": "RewardsDistributorRemoved", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "address", + "name": "distributor", + "type": "address" + } + ], + "name": "claimRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint64", + "name": "start", + "type": "uint64" + }, + { + "internalType": "uint32", + "name": "duration", + "type": "uint32" + } + ], + "name": "distributeRewards", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "address", + "name": "distributor", + "type": "address" + } + ], + "name": "getRewardRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "address", + "name": "distributor", + "type": "address" + } + ], + "name": "registerRewardsDistributor", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "address", + "name": "distributor", + "type": "address" + } + ], + "name": "removeRewardsDistributor", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "updateRewards", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + }, + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint64", + "name": "newChainId", + "type": "uint64" + } + ], + "name": "NewSupportedCrossChainNetwork", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "ccipRouter", + "type": "address" + }, + { + "internalType": "address", + "name": "ccipTokenPool", + "type": "address" + } + ], + "name": "configureChainlinkCrossChain", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "oracleManagerAddress", + "type": "address" + } + ], + "name": "configureOracleManager", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "k", + "type": "bytes32" + } + ], + "name": "getConfig", + "outputs": [ + { + "internalType": "bytes32", + "name": "v", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "k", + "type": "bytes32" + } + ], + "name": "getConfigAddress", + "outputs": [ + { + "internalType": "address", + "name": "v", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "k", + "type": "bytes32" + } + ], + "name": "getConfigUint", + "outputs": [ + { + "internalType": "uint256", + "name": "v", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTrustedForwarder", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "forwarder", + "type": "address" + } + ], + "name": "isTrustedForwarder", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "k", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "v", + "type": "bytes32" + } + ], + "name": "setConfig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint64[]", + "name": "supportedNetworks", + "type": "uint64[]" + }, + { + "internalType": "uint64[]", + "name": "ccipSelectors", + "type": "uint64[]" + } + ], + "name": "setSupportedCrossChainNetworks", + "outputs": [ + { + "internalType": "uint256", + "name": "numRegistered", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minDelegation", + "type": "uint256" + } + ], + "name": "InsufficientDelegation", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidCollateralAmount", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "leverage", + "type": "uint256" + } + ], + "name": "InvalidLeverage", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "currentCollateral", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxCollateral", + "type": "uint256" + } + ], + "name": "PoolCollateralLimitExceeded", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "leverage", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "DelegationUpdated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "newCollateralAmountD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "leverage", + "type": "uint256" + } + ], + "name": "delegateCollateral", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getPosition", + "outputs": [ + { + "internalType": "uint256", + "name": "collateralAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateralValue", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "debt", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "collateralizationRatio", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getPositionCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getPositionCollateralRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getPositionDebt", + "outputs": [ + { + "internalType": "int256", + "name": "debt", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getVaultCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getVaultCollateralRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getVaultDebt", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.upgrade_core_proxy" +} diff --git a/for-developers/abis/420-snxAccountNFT.json b/for-developers/abis/420-main-snxAccountNFT.json similarity index 100% rename from for-developers/abis/420-snxAccountNFT.json rename to for-developers/abis/420-main-snxAccountNFT.json diff --git a/for-developers/abis/420-snxUSDToken.json b/for-developers/abis/420-main-snxUSDToken.json similarity index 100% rename from for-developers/abis/420-snxUSDToken.json rename to for-developers/abis/420-main-snxUSDToken.json diff --git a/for-developers/abis/84531-OracleManager.json b/for-developers/abis/5-main-OracleManager.json similarity index 99% rename from for-developers/abis/84531-OracleManager.json rename to for-developers/abis/5-main-OracleManager.json index 55a2a6b..67df359 100644 --- a/for-developers/abis/84531-OracleManager.json +++ b/for-developers/abis/5-main-OracleManager.json @@ -1,5 +1,5 @@ { - "address": "0x12aE0D5CD26f212bFE242DA78139d463019f7a73", + "address": "0x21a642c7b2B511f934DDD1250E2335899696ED0e", "abi": [ { "inputs": [ diff --git a/for-developers/abis/84531-SynthetixCore.json b/for-developers/abis/5-main-SynthetixCore.json similarity index 99% rename from for-developers/abis/84531-SynthetixCore.json rename to for-developers/abis/5-main-SynthetixCore.json index 5e6d270..94d362a 100644 --- a/for-developers/abis/84531-SynthetixCore.json +++ b/for-developers/abis/5-main-SynthetixCore.json @@ -1,5 +1,5 @@ { - "address": "0x76490713314fCEC173f44e99346F54c6e92a8E42", + "address": "0x895CE54BBA4f14FeFbF0624673DC303054De0652", "abi": [ { "inputs": [ diff --git a/for-developers/abis/5-main-snxAccountNFT.json b/for-developers/abis/5-main-snxAccountNFT.json new file mode 100644 index 0000000..39db321 --- /dev/null +++ b/for-developers/abis/5-main-snxAccountNFT.json @@ -0,0 +1,815 @@ +{ + "address": "0xf19BdaE737d61A91cd0aeb3E32D0E11f9eF7aE5c", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ImplementationIsSterile", + "type": "error" + }, + { + "inputs": [], + "name": "NoChange", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contr", + "type": "address" + } + ], + "name": "NotAContract", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "NotNominated", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "Unauthorized", + "type": "error" + }, + { + "inputs": [], + "name": "UpgradeSimulationFailed", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "self", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "simulateUpgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "AlreadyInitialized", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "CannotSelfApprove", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "requestedIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + } + ], + "name": "IndexOverrun", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "InvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "parameter", + "type": "string" + }, + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "InvalidParameter", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "InvalidTransferRecipient", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint128", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "TokenAlreadyMinted", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "TokenDoesNotExist", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "holder", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "string", + "name": "tokenSymbol", + "type": "string" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "holder", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "isInitialized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "setAllowance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "uri", + "type": "string" + } + ], + "name": "setBaseTokenURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenOfOwnerByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.init_account" +} diff --git a/for-developers/abis/84531-snxUSDToken.json b/for-developers/abis/5-main-snxUSDToken.json similarity index 99% rename from for-developers/abis/84531-snxUSDToken.json rename to for-developers/abis/5-main-snxUSDToken.json index a15db91..dc31808 100644 --- a/for-developers/abis/84531-snxUSDToken.json +++ b/for-developers/abis/5-main-snxUSDToken.json @@ -1,5 +1,5 @@ { - "address": "0xe487Ad4291019b33e2230F8E2FB1fb6490325260", + "address": "0x50f194b9949759510cE3700f759D64ac429dcC76", "abi": [ { "inputs": [ diff --git a/for-developers/abis/5-OracleManager.json b/for-developers/abis/80001-main-OracleManager.json similarity index 100% rename from for-developers/abis/5-OracleManager.json rename to for-developers/abis/80001-main-OracleManager.json diff --git a/for-developers/abis/420-SynthetixCore.json b/for-developers/abis/80001-main-SynthetixCore.json similarity index 100% rename from for-developers/abis/420-SynthetixCore.json rename to for-developers/abis/80001-main-SynthetixCore.json diff --git a/for-developers/abis/80001-snxAccountNFT.json b/for-developers/abis/80001-main-snxAccountNFT.json similarity index 100% rename from for-developers/abis/80001-snxAccountNFT.json rename to for-developers/abis/80001-main-snxAccountNFT.json diff --git a/for-developers/abis/80001-snxUSDToken.json b/for-developers/abis/80001-main-snxUSDToken.json similarity index 100% rename from for-developers/abis/80001-snxUSDToken.json rename to for-developers/abis/80001-main-snxUSDToken.json diff --git a/for-developers/abis/84531-andromeda-FakeCollateralTKN.json b/for-developers/abis/84531-andromeda-FakeCollateralTKN.json new file mode 100644 index 0000000..3d3fedd --- /dev/null +++ b/for-developers/abis/84531-andromeda-FakeCollateralTKN.json @@ -0,0 +1,322 @@ +{ + "address": "0x7056F16f58638253B8A1E5023d67a8CF98000681", + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "uint256", + "name": "initialSupply", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "constructorArgs": ["Token", "TKN", "0"], + "linkedLibraries": {}, + "deployTxnHash": "0xa665d03b3434c33eec4b6e4005538e5d0d173623cd032c9f97ac5a713fe5d3ef", + "sourceName": "src/MintableTokenPermissionlessMint.sol", + "contractName": "MintableTokenPermissionlessMint", + "deployedOn": "contract.MintableToken", + "gasUsed": 642711, + "gasCost": "1500000051" +} diff --git a/for-developers/abis/84531-andromeda-OracleManager.json b/for-developers/abis/84531-andromeda-OracleManager.json new file mode 100644 index 0000000..51d931d --- /dev/null +++ b/for-developers/abis/84531-andromeda-OracleManager.json @@ -0,0 +1,564 @@ +{ + "address": "0xEC618B8994B76d89EfCD7051BA2D57Dcb6442E95", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ImplementationIsSterile", + "type": "error" + }, + { + "inputs": [], + "name": "NoChange", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contr", + "type": "address" + } + ], + "name": "NotAContract", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "NotNominated", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "Unauthorized", + "type": "error" + }, + { + "inputs": [], + "name": "UpgradeSimulationFailed", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "self", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "simulateUpgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "deviation", + "type": "int256" + } + ], + "name": "DeviationToleranceExceeded", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidInputPrice", + "type": "error" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "enum NodeDefinition.NodeType", + "name": "nodeType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "parameters", + "type": "bytes" + }, + { + "internalType": "bytes32[]", + "name": "parents", + "type": "bytes32[]" + } + ], + "internalType": "struct NodeDefinition.Data", + "name": "nodeType", + "type": "tuple" + } + ], + "name": "InvalidNodeDefinition", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "parameter", + "type": "string" + }, + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "InvalidParameter", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "price", + "type": "int256" + } + ], + "name": "InvalidPrice", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + } + ], + "name": "NodeNotRegistered", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt256ToUint256", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt56ToInt24", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToInt256", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint160", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint56ToInt56", + "type": "error" + }, + { + "inputs": [], + "name": "StalenessToleranceExceeded", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + } + ], + "name": "UnprocessableNode", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "enum ReducerNode.Operations", + "name": "operation", + "type": "uint8" + } + ], + "name": "UnsupportedOperation", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "enum NodeDefinition.NodeType", + "name": "nodeType", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "parameters", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes32[]", + "name": "parents", + "type": "bytes32[]" + } + ], + "name": "NodeRegistered", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + } + ], + "name": "getNode", + "outputs": [ + { + "components": [ + { + "internalType": "enum NodeDefinition.NodeType", + "name": "nodeType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "parameters", + "type": "bytes" + }, + { + "internalType": "bytes32[]", + "name": "parents", + "type": "bytes32[]" + } + ], + "internalType": "struct NodeDefinition.Data", + "name": "node", + "type": "tuple" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum NodeDefinition.NodeType", + "name": "nodeType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "parameters", + "type": "bytes" + }, + { + "internalType": "bytes32[]", + "name": "parents", + "type": "bytes32[]" + } + ], + "name": "getNodeId", + "outputs": [ + { + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + } + ], + "name": "process", + "outputs": [ + { + "components": [ + { + "internalType": "int256", + "name": "price", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__slotAvailableForFutureUse1", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__slotAvailableForFutureUse2", + "type": "uint256" + } + ], + "internalType": "struct NodeOutput.Data", + "name": "node", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "runtimeKeys", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[]", + "name": "runtimeValues", + "type": "bytes32[]" + } + ], + "name": "processWithRuntime", + "outputs": [ + { + "components": [ + { + "internalType": "int256", + "name": "price", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__slotAvailableForFutureUse1", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__slotAvailableForFutureUse2", + "type": "uint256" + } + ], + "internalType": "struct NodeOutput.Data", + "name": "node", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum NodeDefinition.NodeType", + "name": "nodeType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "parameters", + "type": "bytes" + }, + { + "internalType": "bytes32[]", + "name": "parents", + "type": "bytes32[]" + } + ], + "name": "registerNode", + "outputs": [ + { + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.upgrade_proxy", + "gasUsed": 0, + "gasCost": "0" +} diff --git a/for-developers/abis/84531-andromeda-PerpsAccountNFT.json b/for-developers/abis/84531-andromeda-PerpsAccountNFT.json new file mode 100644 index 0000000..c3bda35 --- /dev/null +++ b/for-developers/abis/84531-andromeda-PerpsAccountNFT.json @@ -0,0 +1,817 @@ +{ + "address": "0xfBD08C515DedDa6DbE59611b4bAC2E0f4a250301", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ImplementationIsSterile", + "type": "error" + }, + { + "inputs": [], + "name": "NoChange", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contr", + "type": "address" + } + ], + "name": "NotAContract", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "NotNominated", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "Unauthorized", + "type": "error" + }, + { + "inputs": [], + "name": "UpgradeSimulationFailed", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "self", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "simulateUpgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "AlreadyInitialized", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "CannotSelfApprove", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "requestedIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + } + ], + "name": "IndexOverrun", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "InvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "parameter", + "type": "string" + }, + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "InvalidParameter", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "InvalidTransferRecipient", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint128", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "TokenAlreadyMinted", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "TokenDoesNotExist", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "holder", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "string", + "name": "tokenSymbol", + "type": "string" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "holder", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "isInitialized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "setAllowance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "uri", + "type": "string" + } + ], + "name": "setBaseTokenURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenOfOwnerByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.init_account", + "gasUsed": 0, + "gasCost": "0" +} diff --git a/for-developers/abis/420-PerpsMarket.json b/for-developers/abis/84531-andromeda-PerpsMarket.json similarity index 97% rename from for-developers/abis/420-PerpsMarket.json rename to for-developers/abis/84531-andromeda-PerpsMarket.json index 84d2f9f..0b9413d 100644 --- a/for-developers/abis/420-PerpsMarket.json +++ b/for-developers/abis/84531-andromeda-PerpsMarket.json @@ -1,5 +1,5 @@ { - "address": "0xf272382cB3BE898A8CdB1A23BE056fA2Fcf4513b", + "address": "0xEED61f0CB02f3B38923b1b6EAa939D5f04f431b6", "abi": [ { "inputs": [ @@ -624,22 +624,6 @@ "name": "DeniedMulticallTarget", "type": "error" }, - { - "inputs": [ - { - "internalType": "string", - "name": "parameter", - "type": "string" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - } - ], - "name": "InvalidParameter", - "type": "error" - }, { "inputs": [ { @@ -651,19 +635,6 @@ "name": "RecursiveMulticall", "type": "error" }, - { - "inputs": [], - "name": "getMessageSender", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { @@ -680,56 +651,9 @@ "type": "bytes[]" } ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "to", - "type": "address[]" - }, - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - } - ], - "name": "multicallThrough", - "outputs": [ - { - "internalType": "bytes[]", - "name": "results", - "type": "bytes[]" - } - ], "stateMutability": "payable", "type": "function" }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "bool", - "name": "allowlisted", - "type": "bool" - } - ], - "name": "setAllowlistedMulticallTarget", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [ { @@ -927,6 +851,22 @@ "name": "InvalidMarket", "type": "error" }, + { + "inputs": [ + { + "internalType": "string", + "name": "parameter", + "type": "string" + }, + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "InvalidParameter", + "type": "error" + }, { "inputs": [], "name": "OverflowInt256ToUint256", @@ -2203,23 +2143,12 @@ }, { "inputs": [], - "name": "OverflowUint256ToUint64", + "name": "OverflowInt128ToUint128", "type": "error" }, { - "inputs": [ - { - "internalType": "uint256", - "name": "deviation", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "tolerance", - "type": "uint256" - } - ], - "name": "PriceDeviationToleranceExceeded", + "inputs": [], + "name": "OverflowUint256ToUint64", "type": "error" }, { @@ -2851,6 +2780,35 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "liquidationCapacity", + "outputs": [ + { + "internalType": "uint256", + "name": "capacity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxLiquidationInWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "latestLiquidationTimestamp", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, { "anonymous": false, "inputs": [ @@ -3089,11 +3047,6 @@ "name": "settlementReward", "type": "uint256" }, - { - "internalType": "uint256", - "name": "priceDeviationTolerance", - "type": "uint256" - }, { "internalType": "bool", "name": "disabled", @@ -3189,11 +3142,6 @@ "name": "settlementReward", "type": "uint256" }, - { - "internalType": "uint256", - "name": "priceDeviationTolerance", - "type": "uint256" - }, { "internalType": "bool", "name": "disabled", @@ -3432,11 +3380,6 @@ "name": "settlementReward", "type": "uint256" }, - { - "internalType": "uint256", - "name": "priceDeviationTolerance", - "type": "uint256" - }, { "internalType": "bool", "name": "disabled", @@ -3997,5 +3940,7 @@ "deployTxnHash": "", "sourceName": "", "contractName": "", - "deployedOn": "invoke.upgrade_proxy" + "deployedOn": "invoke.upgrade_proxy", + "gasUsed": 0, + "gasCost": "0" } diff --git a/for-developers/abis/84531-andromeda-SpotMarket.json b/for-developers/abis/84531-andromeda-SpotMarket.json new file mode 100644 index 0000000..710b40d --- /dev/null +++ b/for-developers/abis/84531-andromeda-SpotMarket.json @@ -0,0 +1,3799 @@ +{ + "address": "0x41A883a85b1AdE59F41d459Fa550b40fa56429DB", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "DeniedMulticallTarget", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "RecursiveMulticall", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ImplementationIsSterile", + "type": "error" + }, + { + "inputs": [], + "name": "NoChange", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contr", + "type": "address" + } + ], + "name": "NotAContract", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "NotNominated", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "Unauthorized", + "type": "error" + }, + { + "inputs": [], + "name": "UpgradeSimulationFailed", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "self", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "simulateUpgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "which", + "type": "bytes32" + } + ], + "name": "FeatureUnavailable", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidMarketOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "synthImplementation", + "type": "uint256" + } + ], + "name": "InvalidSynthImplementation", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expected", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actual", + "type": "bytes32" + } + ], + "name": "MismatchAssociatedSystemKind", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "MissingAssociatedSystem", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "marketOwner", + "type": "address" + }, + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "OnlyMarketOwner", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt256ToUint256", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "proxy", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "AssociatedSystemSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rate", + "type": "uint256" + } + ], + "name": "DecayRateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "nominee", + "type": "address" + } + ], + "name": "MarketNominationRenounced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "MarketOwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "MarketOwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "synthImplementation", + "type": "address" + } + ], + "name": "SynthImplementationSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "proxy", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "SynthImplementationUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "buyFeedId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "sellFeedId", + "type": "bytes32" + } + ], + "name": "SynthPriceDataUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "synthTokenAddress", + "type": "address" + } + ], + "name": "SynthRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "synthetix", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "usdTokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "oracleManager", + "type": "address" + } + ], + "name": "SynthetixSystemSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "acceptMarketOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "string", + "name": "tokenSymbol", + "type": "string" + }, + { + "internalType": "address", + "name": "synthOwner", + "type": "address" + } + ], + "name": "createSynth", + "outputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "getAssociatedSystem", + "outputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getMarketOwner", + "outputs": [ + { + "internalType": "address", + "name": "marketOwner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getSynth", + "outputs": [ + { + "internalType": "address", + "name": "synthAddress", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getSynthImpl", + "outputs": [ + { + "internalType": "address", + "name": "implAddress", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeNft", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "minimumCredit", + "outputs": [ + { + "internalType": "uint256", + "name": "lockedAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "marketName", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateMarketOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "endpoint", + "type": "address" + } + ], + "name": "registerUnmanagedSystem", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "renounceMarketNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "renounceMarketOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "reportedDebt", + "outputs": [ + { + "internalType": "uint256", + "name": "reportedDebtAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + } + ], + "name": "setDecayRate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "synthImplementation", + "type": "address" + } + ], + "name": "setSynthImplementation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ISynthetixSystem", + "name": "synthetix", + "type": "address" + } + ], + "name": "setSynthetix", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "isSupported", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "buyFeedId", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "sellFeedId", + "type": "bytes32" + } + ], + "name": "updatePriceData", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "upgradeSynthImpl", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxSynthAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "synthAmountCharged", + "type": "uint256" + } + ], + "name": "ExceedsMaxSynthAmount", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxUsdAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "usdAmountCharged", + "type": "uint256" + } + ], + "name": "ExceedsMaxUsdAmount", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expected", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "current", + "type": "uint256" + } + ], + "name": "InsufficientAmountReceived", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "InvalidMarket", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidPrices", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToInt256", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "synthReturned", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "indexed": false, + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "name": "SynthBought", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountReturned", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "indexed": false, + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "name": "SynthSold", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "usdAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minAmountReceived", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "buy", + "outputs": [ + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "usdAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minAmountReceived", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "buyExactIn", + "outputs": [ + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxUsdAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "buyExactOut", + "outputs": [ + { + "internalType": "uint256", + "name": "usdAmountCharged", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "usdAmount", + "type": "uint256" + } + ], + "name": "quoteBuyExactIn", + "outputs": [ + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + } + ], + "name": "quoteBuyExactOut", + "outputs": [ + { + "internalType": "uint256", + "name": "usdAmountCharged", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + } + ], + "name": "quoteSellExactIn", + "outputs": [ + { + "internalType": "uint256", + "name": "returnAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "usdAmount", + "type": "uint256" + } + ], + "name": "quoteSellExactOut", + "outputs": [ + { + "internalType": "uint256", + "name": "synthToBurn", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minUsdAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "sell", + "outputs": [ + { + "internalType": "uint256", + "name": "usdAmountReceived", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minAmountReceived", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "sellExactIn", + "outputs": [ + { + "internalType": "uint256", + "name": "returnAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "usdAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxSynthAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "sellExactOut", + "outputs": [ + { + "internalType": "uint256", + "name": "synthToBurn", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationTime", + "type": "uint256" + } + ], + "name": "IneligibleForCancellation", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expected", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "actual", + "type": "uint256" + } + ], + "name": "InsufficientSharesAmount", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "enum Transaction.Type", + "name": "transactionType", + "type": "uint8" + } + ], + "name": "InvalidAsyncTransactionType", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "asyncOrderId", + "type": "uint256" + } + ], + "name": "InvalidClaim", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minimumAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "InvalidCommitmentAmount", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "settlementStrategyId", + "type": "uint256" + } + ], + "name": "InvalidSettlementStrategy", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "asyncOrderId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settledAt", + "type": "uint256" + } + ], + "name": "OrderAlreadySettled", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "asyncOrderId", + "type": "uint128" + }, + { + "components": [ + { + "internalType": "uint128", + "name": "id", + "type": "uint128" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "enum Transaction.Type", + "name": "orderType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "amountEscrowed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementStrategyId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumSettlementAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settledAt", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "indexed": false, + "internalType": "struct AsyncOrderClaim.Data", + "name": "asyncOrderClaim", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "OrderCancelled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "enum Transaction.Type", + "name": "orderType", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountProvided", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "asyncOrderId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "OrderCommitted", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "asyncOrderId", + "type": "uint128" + } + ], + "name": "cancelOrder", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "enum Transaction.Type", + "name": "orderType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "amountProvided", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementStrategyId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumSettlementAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "commitOrder", + "outputs": [ + { + "components": [ + { + "internalType": "uint128", + "name": "id", + "type": "uint128" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "enum Transaction.Type", + "name": "orderType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "amountEscrowed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementStrategyId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumSettlementAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settledAt", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "internalType": "struct AsyncOrderClaim.Data", + "name": "asyncOrderClaim", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "asyncOrderId", + "type": "uint128" + } + ], + "name": "getAsyncOrderClaim", + "outputs": [ + { + "components": [ + { + "internalType": "uint128", + "name": "id", + "type": "uint128" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "enum Transaction.Type", + "name": "orderType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "amountEscrowed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementStrategyId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumSettlementAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settledAt", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "internalType": "struct AsyncOrderClaim.Data", + "name": "asyncOrderClaim", + "type": "tuple" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + } + ], + "name": "InvalidSettlementStrategy", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidVerificationResponse", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minimum", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "actual", + "type": "uint256" + } + ], + "name": "MinimumSettlementAmountNotMet", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "string[]", + "name": "urls", + "type": "string[]" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "bytes4", + "name": "callbackFunction", + "type": "bytes4" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "OffchainLookup", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "startTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationTime", + "type": "uint256" + } + ], + "name": "OutsideSettlementWindow", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint64", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + } + ], + "name": "SettlementStrategyNotFound", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "asyncOrderId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "finalOrderAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "indexed": false, + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "settler", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "enum Transaction.Type", + "name": "orderType", + "type": "uint8" + } + ], + "name": "OrderSettled", + "type": "event" + }, + { + "inputs": [], + "name": "PRECISION", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "asyncOrderId", + "type": "uint128" + } + ], + "name": "settleOrder", + "outputs": [ + { + "internalType": "uint256", + "name": "finalOrderAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "settlePythOrder", + "outputs": [ + { + "internalType": "uint256", + "name": "finalOrderAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + } + ], + "name": "SettlementStrategyAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "SettlementStrategyUpdated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "components": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "settlementDelay", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementWindowDuration", + "type": "uint256" + }, + { + "internalType": "address", + "name": "priceVerificationContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "feedId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "url", + "type": "string" + }, + { + "internalType": "uint256", + "name": "settlementReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumUsdExchangeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxRoundingLoss", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + } + ], + "internalType": "struct SettlementStrategy.Data", + "name": "strategy", + "type": "tuple" + } + ], + "name": "addSettlementStrategy", + "outputs": [ + { + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + } + ], + "name": "getSettlementStrategy", + "outputs": [ + { + "components": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "settlementDelay", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementWindowDuration", + "type": "uint256" + }, + { + "internalType": "address", + "name": "priceVerificationContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "feedId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "url", + "type": "string" + }, + { + "internalType": "uint256", + "name": "settlementReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumUsdExchangeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxRoundingLoss", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + } + ], + "internalType": "struct SettlementStrategy.Data", + "name": "settlementStrategy", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "setSettlementStrategyEnabled", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "FailedTransfer", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "message", + "type": "bytes32" + } + ], + "name": "InvalidCollateralType", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxWrappableAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "currentSupply", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountToWrap", + "type": "uint256" + } + ], + "name": "WrapperExceedsMaxAmount", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountUnwrapped", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "indexed": false, + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "feesCollected", + "type": "uint256" + } + ], + "name": "SynthUnwrapped", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountWrapped", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "indexed": false, + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "feesCollected", + "type": "uint256" + } + ], + "name": "SynthWrapped", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "wrapCollateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maxWrappableAmount", + "type": "uint256" + } + ], + "name": "WrapperSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "wrapCollateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "maxWrappableAmount", + "type": "uint256" + } + ], + "name": "setWrapper", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "unwrapAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minAmountReceived", + "type": "uint256" + } + ], + "name": "unwrap", + "outputs": [ + { + "internalType": "uint256", + "name": "returnCollateralAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "wrapAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minAmountReceived", + "type": "uint256" + } + ], + "name": "wrap", + "outputs": [ + { + "internalType": "uint256", + "name": "amountToMint", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "InvalidCollateralLeverage", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "invalidFeeCollector", + "type": "address" + } + ], + "name": "InvalidFeeCollectorInterface", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidWrapperFees", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "asyncFixedFee", + "type": "uint256" + } + ], + "name": "AsyncFixedFeeSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "atomicFixedFee", + "type": "uint256" + } + ], + "name": "AtomicFixedFeeSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralLeverage", + "type": "uint256" + } + ], + "name": "CollateralLeverageSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "feeCollector", + "type": "address" + } + ], + "name": "FeeCollectorSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "skewScale", + "type": "uint256" + } + ], + "name": "MarketSkewScaleSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "utilizationFeeRate", + "type": "uint256" + } + ], + "name": "MarketUtilizationFeesSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "sharePercentage", + "type": "uint256" + } + ], + "name": "ReferrerShareUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "transactor", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "fixedFeeAmount", + "type": "uint256" + } + ], + "name": "TransactorFixedFeeSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "wrapFee", + "type": "int256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "unwrapFee", + "type": "int256" + } + ], + "name": "WrapperFeesSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getCollateralLeverage", + "outputs": [ + { + "internalType": "uint256", + "name": "collateralLeverage", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "transactor", + "type": "address" + } + ], + "name": "getCustomTransactorFees", + "outputs": [ + { + "internalType": "uint256", + "name": "fixedFeeAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getFeeCollector", + "outputs": [ + { + "internalType": "address", + "name": "feeCollector", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getMarketFees", + "outputs": [ + { + "internalType": "uint256", + "name": "atomicFixedFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "asyncFixedFee", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "wrapFee", + "type": "int256" + }, + { + "internalType": "int256", + "name": "unwrapFee", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getMarketSkewScale", + "outputs": [ + { + "internalType": "uint256", + "name": "skewScale", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getMarketUtilizationFees", + "outputs": [ + { + "internalType": "uint256", + "name": "utilizationFeeRate", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "getReferrerShare", + "outputs": [ + { + "internalType": "uint256", + "name": "sharePercentage", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "asyncFixedFee", + "type": "uint256" + } + ], + "name": "setAsyncFixedFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "atomicFixedFee", + "type": "uint256" + } + ], + "name": "setAtomicFixedFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "collateralLeverage", + "type": "uint256" + } + ], + "name": "setCollateralLeverage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "transactor", + "type": "address" + }, + { + "internalType": "uint256", + "name": "fixedFeeAmount", + "type": "uint256" + } + ], + "name": "setCustomTransactorFees", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "feeCollector", + "type": "address" + } + ], + "name": "setFeeCollector", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "skewScale", + "type": "uint256" + } + ], + "name": "setMarketSkewScale", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "utilizationFeeRate", + "type": "uint256" + } + ], + "name": "setMarketUtilizationFees", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "int256", + "name": "wrapFee", + "type": "int256" + }, + { + "internalType": "int256", + "name": "unwrapFee", + "type": "int256" + } + ], + "name": "setWrapperFees", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "sharePercentage", + "type": "uint256" + } + ], + "name": "updateReferrerShare", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "ValueAlreadyInSet", + "type": "error" + }, + { + "inputs": [], + "name": "ValueNotInSet", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "allowAll", + "type": "bool" + } + ], + "name": "FeatureFlagAllowAllSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "FeatureFlagAllowlistAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "FeatureFlagAllowlistRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "deniers", + "type": "address[]" + } + ], + "name": "FeatureFlagDeniersReset", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "denyAll", + "type": "bool" + } + ], + "name": "FeatureFlagDenyAllSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "addToFeatureFlagAllowlist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getDeniers", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagAllowAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagAllowlist", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagDenyAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "isFeatureAllowed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "removeFromFeatureFlagAllowlist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address[]", + "name": "deniers", + "type": "address[]" + } + ], + "name": "setDeniers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "allowAll", + "type": "bool" + } + ], + "name": "setFeatureFlagAllowAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "denyAll", + "type": "bool" + } + ], + "name": "setFeatureFlagDenyAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.upgradeSpotMarketProxy", + "gasUsed": 0, + "gasCost": "0" +} diff --git a/for-developers/abis/80001-SynthetixCore.json b/for-developers/abis/84531-andromeda-SynthetixCore.json similarity index 99% rename from for-developers/abis/80001-SynthetixCore.json rename to for-developers/abis/84531-andromeda-SynthetixCore.json index 5e6d270..c529112 100644 --- a/for-developers/abis/80001-SynthetixCore.json +++ b/for-developers/abis/84531-andromeda-SynthetixCore.json @@ -1,5 +1,5 @@ { - "address": "0x76490713314fCEC173f44e99346F54c6e92a8E42", + "address": "0xd7cFdcf6499896a1E15Db92629AAC8085af8B2ac", "abi": [ { "inputs": [ @@ -2037,6 +2037,11 @@ "internalType": "address", "name": "collateralType", "type": "address" + }, + { + "internalType": "uint256", + "name": "collateralAmount", + "type": "uint256" } ], "name": "getCollateralPrice", @@ -3517,19 +3522,6 @@ "name": "RecursiveMulticall", "type": "error" }, - { - "inputs": [], - "name": "getMessageSender", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { @@ -3546,56 +3538,9 @@ "type": "bytes[]" } ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "to", - "type": "address[]" - }, - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - } - ], - "name": "multicallThrough", - "outputs": [ - { - "internalType": "bytes[]", - "name": "results", - "type": "bytes[]" - } - ], "stateMutability": "payable", "type": "function" }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "bool", - "name": "allowlisted", - "type": "bool" - } - ], - "name": "setAllowlistedMulticallTarget", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "anonymous": false, "inputs": [ @@ -4761,6 +4706,38 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "getTrustedForwarder", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "forwarder", + "type": "address" + } + ], + "name": "isTrustedForwarder", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [ { @@ -5168,5 +5145,7 @@ "deployTxnHash": "", "sourceName": "", "contractName": "", - "deployedOn": "invoke.upgrade_core_proxy" + "deployedOn": "invoke.upgrade_core_proxy", + "gasUsed": 0, + "gasCost": "0" } diff --git a/for-developers/abis/84531-andromeda-snxAccountNFT.json b/for-developers/abis/84531-andromeda-snxAccountNFT.json new file mode 100644 index 0000000..25038da --- /dev/null +++ b/for-developers/abis/84531-andromeda-snxAccountNFT.json @@ -0,0 +1,817 @@ +{ + "address": "0x09190c9Be3e79dF2Cb5DAEA6320f9A1129aD8e8c", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ImplementationIsSterile", + "type": "error" + }, + { + "inputs": [], + "name": "NoChange", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contr", + "type": "address" + } + ], + "name": "NotAContract", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "NotNominated", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "Unauthorized", + "type": "error" + }, + { + "inputs": [], + "name": "UpgradeSimulationFailed", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "self", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "simulateUpgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "AlreadyInitialized", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "CannotSelfApprove", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "requestedIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + } + ], + "name": "IndexOverrun", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "InvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "parameter", + "type": "string" + }, + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "InvalidParameter", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "InvalidTransferRecipient", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint128", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "TokenAlreadyMinted", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "TokenDoesNotExist", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "holder", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "string", + "name": "tokenSymbol", + "type": "string" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "holder", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "isInitialized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "setAllowance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "uri", + "type": "string" + } + ], + "name": "setBaseTokenURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenOfOwnerByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.init_account", + "gasUsed": 0, + "gasCost": "0" +} diff --git a/for-developers/abis/84531-andromeda-snxUSDToken.json b/for-developers/abis/84531-andromeda-snxUSDToken.json new file mode 100644 index 0000000..c3236db --- /dev/null +++ b/for-developers/abis/84531-andromeda-snxUSDToken.json @@ -0,0 +1,833 @@ +{ + "address": "0xC9ee9628f23b14483EA413C28712690E8D2dC6a3", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ImplementationIsSterile", + "type": "error" + }, + { + "inputs": [], + "name": "NoChange", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contr", + "type": "address" + } + ], + "name": "NotAContract", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "NotNominated", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "Unauthorized", + "type": "error" + }, + { + "inputs": [], + "name": "UpgradeSimulationFailed", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "self", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "simulateUpgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expected", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actual", + "type": "bytes32" + } + ], + "name": "MismatchAssociatedSystemKind", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "MissingAssociatedSystem", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "proxy", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "AssociatedSystemSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "getAssociatedSystem", + "outputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeNft", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "endpoint", + "type": "address" + } + ], + "name": "registerUnmanagedSystem", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "AlreadyInitialized", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "required", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "existing", + "type": "uint256" + } + ], + "name": "InsufficientAllowance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "required", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "existing", + "type": "uint256" + } + ], + "name": "InsufficientBalance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "parameter", + "type": "string" + }, + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "InvalidParameter", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnWithAllowance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "string", + "name": "tokenSymbol", + "type": "string" + }, + { + "internalType": "uint8", + "name": "tokenDecimals", + "type": "uint8" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isInitialized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "setAllowance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.init_usd", + "gasUsed": 0, + "gasCost": "0" +} diff --git a/for-developers/abis/84531-competition-FakeCollateralfSNX.json b/for-developers/abis/84531-competition-FakeCollateralfSNX.json new file mode 100644 index 0000000..bd25ec6 --- /dev/null +++ b/for-developers/abis/84531-competition-FakeCollateralfSNX.json @@ -0,0 +1,372 @@ +{ + "address": "0xB2b425098CfEe7dc29d7c437f8578EC02c44A5Ed", + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "uint256", + "name": "initialSupply", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "constructorArgs": ["Fake SNX", "fSNX", "0"], + "linkedLibraries": {}, + "deployTxnHash": "0xdfffdbfbeb38b9218bf6e84db6a2699da932bd792a530136116374566635b8a4", + "sourceName": "src/MintableToken.sol", + "contractName": "MintableToken", + "deployedOn": "contract.MintableToken" +} diff --git a/for-developers/abis/84531-competition-OracleManager.json b/for-developers/abis/84531-competition-OracleManager.json new file mode 100644 index 0000000..40d89fc --- /dev/null +++ b/for-developers/abis/84531-competition-OracleManager.json @@ -0,0 +1,562 @@ +{ + "address": "0xbAbfb6e9f914C1EfBBFFAdeE6cd86B23927434C8", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ImplementationIsSterile", + "type": "error" + }, + { + "inputs": [], + "name": "NoChange", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contr", + "type": "address" + } + ], + "name": "NotAContract", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "NotNominated", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "Unauthorized", + "type": "error" + }, + { + "inputs": [], + "name": "UpgradeSimulationFailed", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "self", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "simulateUpgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "deviation", + "type": "int256" + } + ], + "name": "DeviationToleranceExceeded", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidInputPrice", + "type": "error" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "enum NodeDefinition.NodeType", + "name": "nodeType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "parameters", + "type": "bytes" + }, + { + "internalType": "bytes32[]", + "name": "parents", + "type": "bytes32[]" + } + ], + "internalType": "struct NodeDefinition.Data", + "name": "nodeType", + "type": "tuple" + } + ], + "name": "InvalidNodeDefinition", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "parameter", + "type": "string" + }, + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "InvalidParameter", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "price", + "type": "int256" + } + ], + "name": "InvalidPrice", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + } + ], + "name": "NodeNotRegistered", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt256ToUint256", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt56ToInt24", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToInt256", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint160", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint56ToInt56", + "type": "error" + }, + { + "inputs": [], + "name": "StalenessToleranceExceeded", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + } + ], + "name": "UnprocessableNode", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "enum ReducerNode.Operations", + "name": "operation", + "type": "uint8" + } + ], + "name": "UnsupportedOperation", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "enum NodeDefinition.NodeType", + "name": "nodeType", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "parameters", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes32[]", + "name": "parents", + "type": "bytes32[]" + } + ], + "name": "NodeRegistered", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + } + ], + "name": "getNode", + "outputs": [ + { + "components": [ + { + "internalType": "enum NodeDefinition.NodeType", + "name": "nodeType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "parameters", + "type": "bytes" + }, + { + "internalType": "bytes32[]", + "name": "parents", + "type": "bytes32[]" + } + ], + "internalType": "struct NodeDefinition.Data", + "name": "node", + "type": "tuple" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum NodeDefinition.NodeType", + "name": "nodeType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "parameters", + "type": "bytes" + }, + { + "internalType": "bytes32[]", + "name": "parents", + "type": "bytes32[]" + } + ], + "name": "getNodeId", + "outputs": [ + { + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + } + ], + "name": "process", + "outputs": [ + { + "components": [ + { + "internalType": "int256", + "name": "price", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__slotAvailableForFutureUse1", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__slotAvailableForFutureUse2", + "type": "uint256" + } + ], + "internalType": "struct NodeOutput.Data", + "name": "node", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "runtimeKeys", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[]", + "name": "runtimeValues", + "type": "bytes32[]" + } + ], + "name": "processWithRuntime", + "outputs": [ + { + "components": [ + { + "internalType": "int256", + "name": "price", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__slotAvailableForFutureUse1", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__slotAvailableForFutureUse2", + "type": "uint256" + } + ], + "internalType": "struct NodeOutput.Data", + "name": "node", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum NodeDefinition.NodeType", + "name": "nodeType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "parameters", + "type": "bytes" + }, + { + "internalType": "bytes32[]", + "name": "parents", + "type": "bytes32[]" + } + ], + "name": "registerNode", + "outputs": [ + { + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.upgrade_proxy" +} diff --git a/for-developers/abis/84531-competition-PerpsAccountNFT.json b/for-developers/abis/84531-competition-PerpsAccountNFT.json new file mode 100644 index 0000000..9bcdf6e --- /dev/null +++ b/for-developers/abis/84531-competition-PerpsAccountNFT.json @@ -0,0 +1,815 @@ +{ + "address": "0x518F2905b24AE298Ca06C1137b806DD5ACD493b6", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ImplementationIsSterile", + "type": "error" + }, + { + "inputs": [], + "name": "NoChange", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contr", + "type": "address" + } + ], + "name": "NotAContract", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "NotNominated", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "Unauthorized", + "type": "error" + }, + { + "inputs": [], + "name": "UpgradeSimulationFailed", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "self", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "simulateUpgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "AlreadyInitialized", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "CannotSelfApprove", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "requestedIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + } + ], + "name": "IndexOverrun", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "InvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "parameter", + "type": "string" + }, + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "InvalidParameter", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "InvalidTransferRecipient", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint128", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "TokenAlreadyMinted", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "TokenDoesNotExist", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "holder", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "string", + "name": "tokenSymbol", + "type": "string" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "holder", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "isInitialized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "setAllowance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "uri", + "type": "string" + } + ], + "name": "setBaseTokenURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenOfOwnerByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.init_account" +} diff --git a/for-developers/abis/84531-competition-PerpsMarket.json b/for-developers/abis/84531-competition-PerpsMarket.json new file mode 100644 index 0000000..73dd694 --- /dev/null +++ b/for-developers/abis/84531-competition-PerpsMarket.json @@ -0,0 +1,4090 @@ +{ + "address": "0x9863Dae3f4b5F4Ffe3A841a21565d57F2BA10E87", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes32", + "name": "which", + "type": "bytes32" + } + ], + "name": "FeatureUnavailable", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "InvalidAccountId", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + } + ], + "name": "InvalidPermission", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "origin", + "type": "address" + } + ], + "name": "OnlyAccountTokenProxy", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "PermissionDenied", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "PermissionNotGranted", + "type": "error" + }, + { + "inputs": [], + "name": "PositionOutOfBounds", + "type": "error" + }, + { + "inputs": [], + "name": "ValueAlreadyInSet", + "type": "error" + }, + { + "inputs": [], + "name": "ValueNotInSet", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "AccountCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "PermissionGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "PermissionRevoked", + "type": "event" + }, + { + "inputs": [], + "name": "createAccount", + "outputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "requestedAccountId", + "type": "uint128" + } + ], + "name": "createAccount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getAccountLastInteraction", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getAccountOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getAccountPermissions", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "bytes32[]", + "name": "permissions", + "type": "bytes32[]" + } + ], + "internalType": "struct IAccountModule.AccountPermissions[]", + "name": "accountPerms", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAccountTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "grantPermission", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "hasPermission", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "isAuthorized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "notifyAccountTransfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + } + ], + "name": "renouncePermission", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "revokePermission", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expected", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actual", + "type": "bytes32" + } + ], + "name": "MismatchAssociatedSystemKind", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "MissingAssociatedSystem", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "Unauthorized", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "proxy", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "AssociatedSystemSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "getAssociatedSystem", + "outputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeNft", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "endpoint", + "type": "address" + } + ], + "name": "registerUnmanagedSystem", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "DeniedMulticallTarget", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "RecursiveMulticall", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ImplementationIsSterile", + "type": "error" + }, + { + "inputs": [], + "name": "NoChange", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contr", + "type": "address" + } + ], + "name": "NotAContract", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "NotNominated", + "type": "error" + }, + { + "inputs": [], + "name": "UpgradeSimulationFailed", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "self", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "simulateUpgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "InvalidMarket", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "parameter", + "type": "string" + }, + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "InvalidParameter", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt256ToUint256", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToInt256", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint128", + "type": "error" + }, + { + "inputs": [], + "name": "PerpsMarketAlreadyInitialized", + "type": "error" + }, + { + "inputs": [], + "name": "PerpsMarketNotInitialized", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint128", + "name": "globalPerpsMarketId", + "type": "uint128" + } + ], + "name": "FactoryInitialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "perpsMarketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "string", + "name": "marketName", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "marketSymbol", + "type": "string" + } + ], + "name": "MarketCreated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "requestedMarketId", + "type": "uint128" + }, + { + "internalType": "string", + "name": "marketName", + "type": "string" + }, + { + "internalType": "string", + "name": "marketSymbol", + "type": "string" + } + ], + "name": "createMarket", + "outputs": [ + { + "internalType": "uint128", + "name": "", + "type": "uint128" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ISynthetixSystem", + "name": "synthetix", + "type": "address" + }, + { + "internalType": "contract ISpotMarketSystem", + "name": "spotMarket", + "type": "address" + }, + { + "internalType": "string", + "name": "marketName", + "type": "string" + } + ], + "name": "initializeFactory", + "outputs": [ + { + "internalType": "uint128", + "name": "", + "type": "uint128" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "perpsMarketId", + "type": "uint128" + } + ], + "name": "minimumCredit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "perpsMarketId", + "type": "uint128" + } + ], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "perpsMarketId", + "type": "uint128" + } + ], + "name": "reportedDebt", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "marketName", + "type": "string" + } + ], + "name": "setPerpsMarketName", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "AccountLiquidatable", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "AccountNotFound", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "collateralAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "withdrawAmount", + "type": "uint256" + } + ], + "name": "InsufficientCollateral", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "availableUsdDenominated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "requiredUsdDenominated", + "type": "uint256" + } + ], + "name": "InsufficientCollateralAvailableForWithdraw", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "collateralAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "withdrawAmount", + "type": "uint256" + } + ], + "name": "InsufficientSynthCollateral", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "amountDelta", + "type": "int256" + } + ], + "name": "InvalidAmountDelta", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "maxAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateralAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "depositAmount", + "type": "uint256" + } + ], + "name": "MaxCollateralExceeded", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "maxCollateralsPerAccount", + "type": "uint128" + } + ], + "name": "MaxCollateralsPerAccountReached", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint128ToInt128", + "type": "error" + }, + { + "inputs": [], + "name": "PendingOrderExists", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "PriceFeedNotSet", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "SynthNotEnabledForCollateral", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "int256", + "name": "amountDelta", + "type": "int256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "CollateralModified", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getAvailableMargin", + "outputs": [ + { + "internalType": "int256", + "name": "availableMargin", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getCollateralAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getOpenPosition", + "outputs": [ + { + "internalType": "int256", + "name": "totalPnl", + "type": "int256" + }, + { + "internalType": "int256", + "name": "accruedFunding", + "type": "int256" + }, + { + "internalType": "int128", + "name": "positionSize", + "type": "int128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getRequiredMargins", + "outputs": [ + { + "internalType": "uint256", + "name": "requiredInitialMargin", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "requiredMaintenanceMargin", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAccumulatedLiquidationRewards", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxLiquidationReward", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getWithdrawableMargin", + "outputs": [ + { + "internalType": "int256", + "name": "withdrawableMargin", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "int256", + "name": "amountDelta", + "type": "int256" + } + ], + "name": "modifyCollateral", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "totalAccountOpenInterest", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "totalCollateralValue", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "currentFundingRate", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "currentFundingVelocity", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "orderSize", + "type": "int128" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "name": "fillPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketSummary", + "outputs": [ + { + "components": [ + { + "internalType": "int256", + "name": "skew", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "size", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxOpenInterest", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "currentFundingRate", + "type": "int256" + }, + { + "internalType": "int256", + "name": "currentFundingVelocity", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "indexPrice", + "type": "uint256" + } + ], + "internalType": "struct IPerpsMarketModule.MarketSummary", + "name": "summary", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "indexPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "maxOpenInterest", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "metadata", + "outputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "size", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "skew", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "fillPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "acceptablePrice", + "type": "uint256" + } + ], + "name": "AcceptablePriceExceeded", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "availableMargin", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "minMargin", + "type": "uint256" + } + ], + "name": "InsufficientMargin", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "settlementStrategyId", + "type": "uint128" + } + ], + "name": "InvalidSettlementStrategy", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "maxMarketSize", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "newSideSize", + "type": "int256" + } + ], + "name": "MaxOpenInterestReached", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "maxPositionsPerAccount", + "type": "uint128" + } + ], + "name": "MaxPositionsPerAccountReached", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt256ToInt128", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroSizeOrder", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "enum SettlementStrategy.Type", + "name": "orderType", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "acceptablePrice", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expirationTime", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "OrderCommitted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "acceptablePrice", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + } + ], + "name": "PreviousOrderExpired", + "type": "event" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + }, + { + "internalType": "uint128", + "name": "settlementStrategyId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "acceptablePrice", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "internalType": "struct AsyncOrder.OrderCommitmentRequest", + "name": "commitment", + "type": "tuple" + } + ], + "name": "commitOrder", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + }, + { + "internalType": "uint128", + "name": "settlementStrategyId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "acceptablePrice", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "internalType": "struct AsyncOrder.OrderCommitmentRequest", + "name": "request", + "type": "tuple" + } + ], + "internalType": "struct AsyncOrder.Data", + "name": "retOrder", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "fees", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + } + ], + "name": "computeOrderFees", + "outputs": [ + { + "internalType": "uint256", + "name": "orderFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "fillPrice", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getOrder", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + }, + { + "internalType": "uint128", + "name": "settlementStrategyId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "acceptablePrice", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "internalType": "struct AsyncOrder.OrderCommitmentRequest", + "name": "request", + "type": "tuple" + } + ], + "internalType": "struct AsyncOrder.Data", + "name": "order", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + } + ], + "name": "requiredMarginForOrder", + "outputs": [ + { + "internalType": "uint256", + "name": "requiredMargin", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "leftover", + "type": "uint256" + } + ], + "name": "InsufficientMarginError", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "string[]", + "name": "urls", + "type": "string[]" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "bytes4", + "name": "callbackFunction", + "type": "bytes4" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "OffchainLookup", + "type": "error" + }, + { + "inputs": [], + "name": "OrderNotValid", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt128ToUint128", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint64", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + } + ], + "name": "SettlementStrategyNotFound", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementExpiration", + "type": "uint256" + } + ], + "name": "SettlementWindowExpired", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + } + ], + "name": "SettlementWindowNotOpen", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "skew", + "type": "int256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "size", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "sizeDelta", + "type": "int256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "currentFundingRate", + "type": "int256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "currentFundingVelocity", + "type": "int256" + } + ], + "name": "MarketUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "fillPrice", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "pnl", + "type": "int256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "accruedFunding", + "type": "int256" + }, + { + "indexed": false, + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + }, + { + "indexed": false, + "internalType": "int128", + "name": "newSize", + "type": "int128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "referralFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "settlementReward", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "settler", + "type": "address" + } + ], + "name": "OrderSettled", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "settle", + "outputs": [], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "settlePythOrder", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "fillPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "acceptablePrice", + "type": "uint256" + } + ], + "name": "AcceptablePriceNotExceeded", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "desiredPrice", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "fillPrice", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int128", + "name": "sizeDelta", + "type": "int128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "settlementReward", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "trackingCode", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "settler", + "type": "address" + } + ], + "name": "OrderCancelled", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "cancelOrder", + "outputs": [], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "cancelPythOrder", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "allowAll", + "type": "bool" + } + ], + "name": "FeatureFlagAllowAllSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "FeatureFlagAllowlistAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "FeatureFlagAllowlistRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "deniers", + "type": "address[]" + } + ], + "name": "FeatureFlagDeniersReset", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "denyAll", + "type": "bool" + } + ], + "name": "FeatureFlagDenyAllSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "addToFeatureFlagAllowlist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getDeniers", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagAllowAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagAllowlist", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagDenyAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "isFeatureAllowed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "removeFromFeatureFlagAllowlist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address[]", + "name": "deniers", + "type": "address[]" + } + ], + "name": "setDeniers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "allowAll", + "type": "bool" + } + ], + "name": "setFeatureFlagAllowAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "denyAll", + "type": "bool" + } + ], + "name": "setFeatureFlagDenyAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "NotEligibleForLiquidation", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reward", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "fullLiquidation", + "type": "bool" + } + ], + "name": "AccountLiquidated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountLiquidated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int128", + "name": "currentPositionSize", + "type": "int128" + } + ], + "name": "PositionLiquidated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "canLiquidate", + "outputs": [ + { + "internalType": "bool", + "name": "isEligible", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "flaggedAccounts", + "outputs": [ + { + "internalType": "uint256[]", + "name": "accountIds", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "liquidate", + "outputs": [ + { + "internalType": "uint256", + "name": "liquidationReward", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxNumberOfAccounts", + "type": "uint256" + } + ], + "name": "liquidateFlagged", + "outputs": [ + { + "internalType": "uint256", + "name": "liquidationReward", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128[]", + "name": "accountIds", + "type": "uint128[]" + } + ], + "name": "liquidateFlaggedAccounts", + "outputs": [ + { + "internalType": "uint256", + "name": "liquidationReward", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "liquidationCapacity", + "outputs": [ + { + "internalType": "uint256", + "name": "capacity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxLiquidationInWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "latestLiquidationTimestamp", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "InvalidSettlementWindowDuration", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "skewScale", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maxFundingVelocity", + "type": "uint256" + } + ], + "name": "FundingParametersSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "initialMarginRatioD18", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maintenanceMarginRatioD18", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "minimumInitialMarginRatioD18", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "liquidationRewardRatioD18", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "minimumPositionMargin", + "type": "uint256" + } + ], + "name": "LiquidationParametersSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "lockedOiRatioD18", + "type": "uint256" + } + ], + "name": "LockedOiRatioSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "feedId", + "type": "bytes32" + } + ], + "name": "MarketPriceDataUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maxLiquidationLimitAccumulationMultiplier", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maxSecondsInLiquidationWindow", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maxLiquidationPd", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "endorsedLiquidator", + "type": "address" + } + ], + "name": "MaxLiquidationParametersSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maxMarketSize", + "type": "uint256" + } + ], + "name": "MaxMarketSizeSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "makerFeeRatio", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "takerFeeRatio", + "type": "uint256" + } + ], + "name": "OrderFeesSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "components": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "settlementDelay", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementWindowDuration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "priceWindowDuration", + "type": "uint256" + }, + { + "internalType": "address", + "name": "priceVerificationContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "feedId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "url", + "type": "string" + }, + { + "internalType": "uint256", + "name": "settlementReward", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct SettlementStrategy.Data", + "name": "strategy", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + } + ], + "name": "SettlementStrategyAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "SettlementStrategyEnabled", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "components": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "settlementDelay", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementWindowDuration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "priceWindowDuration", + "type": "uint256" + }, + { + "internalType": "address", + "name": "priceVerificationContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "feedId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "url", + "type": "string" + }, + { + "internalType": "uint256", + "name": "settlementReward", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + } + ], + "internalType": "struct SettlementStrategy.Data", + "name": "strategy", + "type": "tuple" + } + ], + "name": "addSettlementStrategy", + "outputs": [ + { + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getFundingParameters", + "outputs": [ + { + "internalType": "uint256", + "name": "skewScale", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxFundingVelocity", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getLiquidationParameters", + "outputs": [ + { + "internalType": "uint256", + "name": "initialMarginRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumInitialMarginRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maintenanceMarginScalarD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRewardRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumPositionMargin", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getLockedOiRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMaxLiquidationParameters", + "outputs": [ + { + "internalType": "uint256", + "name": "maxLiquidationLimitAccumulationMultiplier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxSecondsInLiquidationWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxLiquidationPd", + "type": "uint256" + }, + { + "internalType": "address", + "name": "endorsedLiquidator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMaxMarketSize", + "outputs": [ + { + "internalType": "uint256", + "name": "maxMarketSize", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getOrderFees", + "outputs": [ + { + "internalType": "uint256", + "name": "makerFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "takerFee", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + } + ], + "name": "getSettlementStrategy", + "outputs": [ + { + "components": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "settlementDelay", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementWindowDuration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "priceWindowDuration", + "type": "uint256" + }, + { + "internalType": "address", + "name": "priceVerificationContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "feedId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "url", + "type": "string" + }, + { + "internalType": "uint256", + "name": "settlementReward", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + } + ], + "internalType": "struct SettlementStrategy.Data", + "name": "settlementStrategy", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "skewScale", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxFundingVelocity", + "type": "uint256" + } + ], + "name": "setFundingParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "initialMarginRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumInitialMarginRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maintenanceMarginScalarD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRewardRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumPositionMargin", + "type": "uint256" + } + ], + "name": "setLiquidationParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "lockedOiRatioD18", + "type": "uint256" + } + ], + "name": "setLockedOiRatio", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "maxLiquidationLimitAccumulationMultiplier", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxSecondsInLiquidationWindow", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxLiquidationPd", + "type": "uint256" + }, + { + "internalType": "address", + "name": "endorsedLiquidator", + "type": "address" + } + ], + "name": "setMaxLiquidationParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "maxMarketSize", + "type": "uint256" + } + ], + "name": "setMaxMarketSize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "makerFeeRatio", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "takerFeeRatio", + "type": "uint256" + } + ], + "name": "setOrderFees", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "setSettlementStrategyEnabled", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "perpsMarketId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "feedId", + "type": "bytes32" + } + ], + "name": "updatePriceData", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "invalidFeeCollector", + "type": "address" + } + ], + "name": "InvalidFeeCollectorInterface", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shareRatioD18", + "type": "uint256" + } + ], + "name": "InvalidReferrerShareRatio", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "feeCollector", + "type": "address" + } + ], + "name": "FeeCollectorSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "minLiquidationRewardUsd", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "maxLiquidationRewardUsd", + "type": "uint256" + } + ], + "name": "LiquidationRewardGuardsSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralAmount", + "type": "uint256" + } + ], + "name": "MaxCollateralAmountSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint128", + "name": "maxPositionsPerAccount", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "maxCollateralsPerAccount", + "type": "uint128" + } + ], + "name": "PerAccountCapsSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shareRatioD18", + "type": "uint256" + } + ], + "name": "ReferrerShareUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint128[]", + "name": "newSynthDeductionPriority", + "type": "uint128[]" + } + ], + "name": "SynthDeductionPrioritySet", + "type": "event" + }, + { + "inputs": [], + "name": "getFeeCollector", + "outputs": [ + { + "internalType": "address", + "name": "feeCollector", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getLiquidationRewardGuards", + "outputs": [ + { + "internalType": "uint256", + "name": "minLiquidationRewardUsd", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxLiquidationRewardUsd", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMarkets", + "outputs": [ + { + "internalType": "uint256[]", + "name": "marketIds", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getMaxCollateralAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getPerAccountCaps", + "outputs": [ + { + "internalType": "uint128", + "name": "maxPositionsPerAccount", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "maxCollateralsPerAccount", + "type": "uint128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "getReferrerShare", + "outputs": [ + { + "internalType": "uint256", + "name": "shareRatioD18", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getSynthDeductionPriority", + "outputs": [ + { + "internalType": "uint128[]", + "name": "", + "type": "uint128[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "feeCollector", + "type": "address" + } + ], + "name": "setFeeCollector", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minLiquidationRewardUsd", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxLiquidationRewardUsd", + "type": "uint256" + } + ], + "name": "setLiquidationRewardGuards", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "collateralAmount", + "type": "uint256" + } + ], + "name": "setMaxCollateralAmount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "maxPositionsPerAccount", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "maxCollateralsPerAccount", + "type": "uint128" + } + ], + "name": "setPerAccountCaps", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128[]", + "name": "newSynthDeductionPriority", + "type": "uint128[]" + } + ], + "name": "setSynthDeductionPriority", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "totalGlobalCollateralValue", + "outputs": [ + { + "internalType": "uint256", + "name": "totalCollateralValue", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "shareRatioD18", + "type": "uint256" + } + ], + "name": "updateReferrerShare", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.upgrade_proxy" +} diff --git a/for-developers/abis/84531-competition-SpotMarket.json b/for-developers/abis/84531-competition-SpotMarket.json new file mode 100644 index 0000000..73313b7 --- /dev/null +++ b/for-developers/abis/84531-competition-SpotMarket.json @@ -0,0 +1,3797 @@ +{ + "address": "0x17633A63083dbd4941891F87Bdf31B896e91e2B9", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "DeniedMulticallTarget", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "RecursiveMulticall", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ImplementationIsSterile", + "type": "error" + }, + { + "inputs": [], + "name": "NoChange", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contr", + "type": "address" + } + ], + "name": "NotAContract", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "NotNominated", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "Unauthorized", + "type": "error" + }, + { + "inputs": [], + "name": "UpgradeSimulationFailed", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "self", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "simulateUpgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "which", + "type": "bytes32" + } + ], + "name": "FeatureUnavailable", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidMarketOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "synthImplementation", + "type": "uint256" + } + ], + "name": "InvalidSynthImplementation", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expected", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actual", + "type": "bytes32" + } + ], + "name": "MismatchAssociatedSystemKind", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "MissingAssociatedSystem", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "marketOwner", + "type": "address" + }, + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "OnlyMarketOwner", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt256ToUint256", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "proxy", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "AssociatedSystemSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rate", + "type": "uint256" + } + ], + "name": "DecayRateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "nominee", + "type": "address" + } + ], + "name": "MarketNominationRenounced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "MarketOwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "MarketOwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "synthImplementation", + "type": "address" + } + ], + "name": "SynthImplementationSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "proxy", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "SynthImplementationUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "buyFeedId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "sellFeedId", + "type": "bytes32" + } + ], + "name": "SynthPriceDataUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "synthTokenAddress", + "type": "address" + } + ], + "name": "SynthRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "synthetix", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "usdTokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "oracleManager", + "type": "address" + } + ], + "name": "SynthetixSystemSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "acceptMarketOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "string", + "name": "tokenSymbol", + "type": "string" + }, + { + "internalType": "address", + "name": "synthOwner", + "type": "address" + } + ], + "name": "createSynth", + "outputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "getAssociatedSystem", + "outputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getMarketOwner", + "outputs": [ + { + "internalType": "address", + "name": "marketOwner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getSynth", + "outputs": [ + { + "internalType": "address", + "name": "synthAddress", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getSynthImpl", + "outputs": [ + { + "internalType": "address", + "name": "implAddress", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeNft", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "minimumCredit", + "outputs": [ + { + "internalType": "uint256", + "name": "lockedAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "marketName", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateMarketOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "endpoint", + "type": "address" + } + ], + "name": "registerUnmanagedSystem", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "renounceMarketNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "renounceMarketOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "reportedDebt", + "outputs": [ + { + "internalType": "uint256", + "name": "reportedDebtAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + } + ], + "name": "setDecayRate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "synthImplementation", + "type": "address" + } + ], + "name": "setSynthImplementation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ISynthetixSystem", + "name": "synthetix", + "type": "address" + } + ], + "name": "setSynthetix", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "isSupported", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "buyFeedId", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "sellFeedId", + "type": "bytes32" + } + ], + "name": "updatePriceData", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "upgradeSynthImpl", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxSynthAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "synthAmountCharged", + "type": "uint256" + } + ], + "name": "ExceedsMaxSynthAmount", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxUsdAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "usdAmountCharged", + "type": "uint256" + } + ], + "name": "ExceedsMaxUsdAmount", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expected", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "current", + "type": "uint256" + } + ], + "name": "InsufficientAmountReceived", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "InvalidMarket", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidPrices", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToInt256", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "synthReturned", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "indexed": false, + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "name": "SynthBought", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountReturned", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "indexed": false, + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "name": "SynthSold", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "usdAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minAmountReceived", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "buy", + "outputs": [ + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "usdAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minAmountReceived", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "buyExactIn", + "outputs": [ + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxUsdAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "buyExactOut", + "outputs": [ + { + "internalType": "uint256", + "name": "usdAmountCharged", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "usdAmount", + "type": "uint256" + } + ], + "name": "quoteBuyExactIn", + "outputs": [ + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + } + ], + "name": "quoteBuyExactOut", + "outputs": [ + { + "internalType": "uint256", + "name": "usdAmountCharged", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + } + ], + "name": "quoteSellExactIn", + "outputs": [ + { + "internalType": "uint256", + "name": "returnAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "usdAmount", + "type": "uint256" + } + ], + "name": "quoteSellExactOut", + "outputs": [ + { + "internalType": "uint256", + "name": "synthToBurn", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minUsdAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "sell", + "outputs": [ + { + "internalType": "uint256", + "name": "usdAmountReceived", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "synthAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minAmountReceived", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "sellExactIn", + "outputs": [ + { + "internalType": "uint256", + "name": "returnAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "usdAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxSynthAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "sellExactOut", + "outputs": [ + { + "internalType": "uint256", + "name": "synthToBurn", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationTime", + "type": "uint256" + } + ], + "name": "IneligibleForCancellation", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expected", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "actual", + "type": "uint256" + } + ], + "name": "InsufficientSharesAmount", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "enum Transaction.Type", + "name": "transactionType", + "type": "uint8" + } + ], + "name": "InvalidAsyncTransactionType", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "asyncOrderId", + "type": "uint256" + } + ], + "name": "InvalidClaim", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minimumAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "InvalidCommitmentAmount", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "settlementStrategyId", + "type": "uint256" + } + ], + "name": "InvalidSettlementStrategy", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "asyncOrderId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settledAt", + "type": "uint256" + } + ], + "name": "OrderAlreadySettled", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "asyncOrderId", + "type": "uint128" + }, + { + "components": [ + { + "internalType": "uint128", + "name": "id", + "type": "uint128" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "enum Transaction.Type", + "name": "orderType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "amountEscrowed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementStrategyId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumSettlementAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settledAt", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "indexed": false, + "internalType": "struct AsyncOrderClaim.Data", + "name": "asyncOrderClaim", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "OrderCancelled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "enum Transaction.Type", + "name": "orderType", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountProvided", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "asyncOrderId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "OrderCommitted", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "asyncOrderId", + "type": "uint128" + } + ], + "name": "cancelOrder", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "enum Transaction.Type", + "name": "orderType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "amountProvided", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementStrategyId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumSettlementAmount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "commitOrder", + "outputs": [ + { + "components": [ + { + "internalType": "uint128", + "name": "id", + "type": "uint128" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "enum Transaction.Type", + "name": "orderType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "amountEscrowed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementStrategyId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumSettlementAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settledAt", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "internalType": "struct AsyncOrderClaim.Data", + "name": "asyncOrderClaim", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "asyncOrderId", + "type": "uint128" + } + ], + "name": "getAsyncOrderClaim", + "outputs": [ + { + "components": [ + { + "internalType": "uint128", + "name": "id", + "type": "uint128" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "enum Transaction.Type", + "name": "orderType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "amountEscrowed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementStrategyId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumSettlementAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settledAt", + "type": "uint256" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "internalType": "struct AsyncOrderClaim.Data", + "name": "asyncOrderClaim", + "type": "tuple" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + } + ], + "name": "InvalidSettlementStrategy", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidVerificationResponse", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minimum", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "actual", + "type": "uint256" + } + ], + "name": "MinimumSettlementAmountNotMet", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "string[]", + "name": "urls", + "type": "string[]" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "bytes4", + "name": "callbackFunction", + "type": "bytes4" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "OffchainLookup", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "startTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationTime", + "type": "uint256" + } + ], + "name": "OutsideSettlementWindow", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint64", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + } + ], + "name": "SettlementStrategyNotFound", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "asyncOrderId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "finalOrderAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "indexed": false, + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "settler", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "enum Transaction.Type", + "name": "orderType", + "type": "uint8" + } + ], + "name": "OrderSettled", + "type": "event" + }, + { + "inputs": [], + "name": "PRECISION", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "asyncOrderId", + "type": "uint128" + } + ], + "name": "settleOrder", + "outputs": [ + { + "internalType": "uint256", + "name": "finalOrderAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "result", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "settlePythOrder", + "outputs": [ + { + "internalType": "uint256", + "name": "finalOrderAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + } + ], + "name": "SettlementStrategyAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "SettlementStrategyUpdated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "components": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "settlementDelay", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementWindowDuration", + "type": "uint256" + }, + { + "internalType": "address", + "name": "priceVerificationContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "feedId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "url", + "type": "string" + }, + { + "internalType": "uint256", + "name": "settlementReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumUsdExchangeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxRoundingLoss", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + } + ], + "internalType": "struct SettlementStrategy.Data", + "name": "strategy", + "type": "tuple" + } + ], + "name": "addSettlementStrategy", + "outputs": [ + { + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + } + ], + "name": "getSettlementStrategy", + "outputs": [ + { + "components": [ + { + "internalType": "enum SettlementStrategy.Type", + "name": "strategyType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "settlementDelay", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "settlementWindowDuration", + "type": "uint256" + }, + { + "internalType": "address", + "name": "priceVerificationContract", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "feedId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "url", + "type": "string" + }, + { + "internalType": "uint256", + "name": "settlementReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumUsdExchangeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxRoundingLoss", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + } + ], + "internalType": "struct SettlementStrategy.Data", + "name": "settlementStrategy", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "strategyId", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "setSettlementStrategyEnabled", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "FailedTransfer", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "message", + "type": "bytes32" + } + ], + "name": "InvalidCollateralType", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxWrappableAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "currentSupply", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountToWrap", + "type": "uint256" + } + ], + "name": "WrapperExceedsMaxAmount", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountUnwrapped", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "indexed": false, + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "feesCollected", + "type": "uint256" + } + ], + "name": "SynthUnwrapped", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountWrapped", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "indexed": false, + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "feesCollected", + "type": "uint256" + } + ], + "name": "SynthWrapped", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "wrapCollateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maxWrappableAmount", + "type": "uint256" + } + ], + "name": "WrapperSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "wrapCollateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "maxWrappableAmount", + "type": "uint256" + } + ], + "name": "setWrapper", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "unwrapAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minAmountReceived", + "type": "uint256" + } + ], + "name": "unwrap", + "outputs": [ + { + "internalType": "uint256", + "name": "returnCollateralAmount", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "wrapAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minAmountReceived", + "type": "uint256" + } + ], + "name": "wrap", + "outputs": [ + { + "internalType": "uint256", + "name": "amountToMint", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "fixedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "utilizationFees", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "skewFees", + "type": "int256" + }, + { + "internalType": "int256", + "name": "wrapperFees", + "type": "int256" + } + ], + "internalType": "struct OrderFees.Data", + "name": "fees", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "InvalidCollateralLeverage", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "invalidFeeCollector", + "type": "address" + } + ], + "name": "InvalidFeeCollectorInterface", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidWrapperFees", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "asyncFixedFee", + "type": "uint256" + } + ], + "name": "AsyncFixedFeeSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "atomicFixedFee", + "type": "uint256" + } + ], + "name": "AtomicFixedFeeSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collateralLeverage", + "type": "uint256" + } + ], + "name": "CollateralLeverageSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "feeCollector", + "type": "address" + } + ], + "name": "FeeCollectorSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "skewScale", + "type": "uint256" + } + ], + "name": "MarketSkewScaleSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "utilizationFeeRate", + "type": "uint256" + } + ], + "name": "MarketUtilizationFeesSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "sharePercentage", + "type": "uint256" + } + ], + "name": "ReferrerShareUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "transactor", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "fixedFeeAmount", + "type": "uint256" + } + ], + "name": "TransactorFixedFeeSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "synthMarketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "wrapFee", + "type": "int256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "unwrapFee", + "type": "int256" + } + ], + "name": "WrapperFeesSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getCollateralLeverage", + "outputs": [ + { + "internalType": "uint256", + "name": "collateralLeverage", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "transactor", + "type": "address" + } + ], + "name": "getCustomTransactorFees", + "outputs": [ + { + "internalType": "uint256", + "name": "fixedFeeAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getFeeCollector", + "outputs": [ + { + "internalType": "address", + "name": "feeCollector", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getMarketFees", + "outputs": [ + { + "internalType": "uint256", + "name": "atomicFixedFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "asyncFixedFee", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "wrapFee", + "type": "int256" + }, + { + "internalType": "int256", + "name": "unwrapFee", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getMarketSkewScale", + "outputs": [ + { + "internalType": "uint256", + "name": "skewScale", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + } + ], + "name": "getMarketUtilizationFees", + "outputs": [ + { + "internalType": "uint256", + "name": "utilizationFeeRate", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + } + ], + "name": "getReferrerShare", + "outputs": [ + { + "internalType": "uint256", + "name": "sharePercentage", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "asyncFixedFee", + "type": "uint256" + } + ], + "name": "setAsyncFixedFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "atomicFixedFee", + "type": "uint256" + } + ], + "name": "setAtomicFixedFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "collateralLeverage", + "type": "uint256" + } + ], + "name": "setCollateralLeverage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "transactor", + "type": "address" + }, + { + "internalType": "uint256", + "name": "fixedFeeAmount", + "type": "uint256" + } + ], + "name": "setCustomTransactorFees", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "feeCollector", + "type": "address" + } + ], + "name": "setFeeCollector", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "skewScale", + "type": "uint256" + } + ], + "name": "setMarketSkewScale", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "utilizationFeeRate", + "type": "uint256" + } + ], + "name": "setMarketUtilizationFees", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "int256", + "name": "wrapFee", + "type": "int256" + }, + { + "internalType": "int256", + "name": "unwrapFee", + "type": "int256" + } + ], + "name": "setWrapperFees", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "synthMarketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "referrer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "sharePercentage", + "type": "uint256" + } + ], + "name": "updateReferrerShare", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "ValueAlreadyInSet", + "type": "error" + }, + { + "inputs": [], + "name": "ValueNotInSet", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "allowAll", + "type": "bool" + } + ], + "name": "FeatureFlagAllowAllSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "FeatureFlagAllowlistAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "FeatureFlagAllowlistRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "deniers", + "type": "address[]" + } + ], + "name": "FeatureFlagDeniersReset", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "denyAll", + "type": "bool" + } + ], + "name": "FeatureFlagDenyAllSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "addToFeatureFlagAllowlist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getDeniers", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagAllowAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagAllowlist", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagDenyAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "isFeatureAllowed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "removeFromFeatureFlagAllowlist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address[]", + "name": "deniers", + "type": "address[]" + } + ], + "name": "setDeniers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "allowAll", + "type": "bool" + } + ], + "name": "setFeatureFlagAllowAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "denyAll", + "type": "bool" + } + ], + "name": "setFeatureFlagDenyAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.upgradeSpotMarketProxy" +} diff --git a/for-developers/abis/84531-competition-SynthetixCore.json b/for-developers/abis/84531-competition-SynthetixCore.json new file mode 100644 index 0000000..3b3db69 --- /dev/null +++ b/for-developers/abis/84531-competition-SynthetixCore.json @@ -0,0 +1,5139 @@ +{ + "address": "0xa53346A1684DAB73EFfd048fA40Fb1fA9327fDe9", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ImplementationIsSterile", + "type": "error" + }, + { + "inputs": [], + "name": "NoChange", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contr", + "type": "address" + } + ], + "name": "NotAContract", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "NotNominated", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "Unauthorized", + "type": "error" + }, + { + "inputs": [], + "name": "UpgradeSimulationFailed", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "self", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "simulateUpgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "ValueAlreadyInSet", + "type": "error" + }, + { + "inputs": [], + "name": "ValueNotInSet", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "allowAll", + "type": "bool" + } + ], + "name": "FeatureFlagAllowAllSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "FeatureFlagAllowlistAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "FeatureFlagAllowlistRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "deniers", + "type": "address[]" + } + ], + "name": "FeatureFlagDeniersReset", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "denyAll", + "type": "bool" + } + ], + "name": "FeatureFlagDenyAllSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "addToFeatureFlagAllowlist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getDeniers", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagAllowAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagAllowlist", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + } + ], + "name": "getFeatureFlagDenyAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "isFeatureAllowed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "removeFromFeatureFlagAllowlist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "address[]", + "name": "deniers", + "type": "address[]" + } + ], + "name": "setDeniers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "allowAll", + "type": "bool" + } + ], + "name": "setFeatureFlagAllowAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "feature", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "denyAll", + "type": "bool" + } + ], + "name": "setFeatureFlagDenyAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "which", + "type": "bytes32" + } + ], + "name": "FeatureUnavailable", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "InvalidAccountId", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + } + ], + "name": "InvalidPermission", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "origin", + "type": "address" + } + ], + "name": "OnlyAccountTokenProxy", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "PermissionDenied", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "PermissionNotGranted", + "type": "error" + }, + { + "inputs": [], + "name": "PositionOutOfBounds", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "AccountCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "PermissionGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "PermissionRevoked", + "type": "event" + }, + { + "inputs": [], + "name": "createAccount", + "outputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "requestedAccountId", + "type": "uint128" + } + ], + "name": "createAccount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getAccountLastInteraction", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getAccountOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "getAccountPermissions", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "bytes32[]", + "name": "permissions", + "type": "bytes32[]" + } + ], + "internalType": "struct IAccountModule.AccountPermissions[]", + "name": "accountPerms", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAccountTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "grantPermission", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "hasPermission", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "isAuthorized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "notifyAccountTransfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + } + ], + "name": "renouncePermission", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "bytes32", + "name": "permission", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "revokePermission", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "AccountNotFound", + "type": "error" + }, + { + "inputs": [], + "name": "EmptyDistribution", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "collateralValue", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "debt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "ratio", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minRatio", + "type": "uint256" + } + ], + "name": "InsufficientCollateralRatio", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "MarketNotFound", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "marketId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "poolId", + "type": "uint256" + } + ], + "name": "NotFundedByPool", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt256ToInt128", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt256ToUint256", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint128ToInt128", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToInt256", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint128", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "updatedDebt", + "type": "int256" + } + ], + "name": "DebtAssociated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "associateDebt", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expected", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actual", + "type": "bytes32" + } + ], + "name": "MismatchAssociatedSystemKind", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "MissingAssociatedSystem", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "proxy", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "AssociatedSystemSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "getAssociatedSystem", + "outputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeNft", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "endpoint", + "type": "address" + } + ], + "name": "registerUnmanagedSystem", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "InvalidMessage", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "NotCcipRouter", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "name": "UnsupportedNetwork", + "type": "error" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "messageId", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "sourceChainSelector", + "type": "uint64" + }, + { + "internalType": "bytes", + "name": "sender", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "internalType": "struct CcipClient.EVMTokenAmount[]", + "name": "tokenAmounts", + "type": "tuple[]" + } + ], + "internalType": "struct CcipClient.Any2EVMMessage", + "name": "message", + "type": "tuple" + } + ], + "name": "ccipReceive", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "currentTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "requiredTime", + "type": "uint256" + } + ], + "name": "AccountActivityTimeoutPending", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "CollateralDepositDisabled", + "type": "error" + }, + { + "inputs": [], + "name": "CollateralNotFound", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "FailedTransfer", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amountAvailableForDelegationD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountD18", + "type": "uint256" + } + ], + "name": "InsufficentAvailableCollateral", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "InsufficientAccountCollateral", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "required", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "existing", + "type": "uint256" + } + ], + "name": "InsufficientAllowance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "parameter", + "type": "string" + }, + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "InvalidParameter", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint64", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + } + ], + "name": "PrecisionLost", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "expireTimestamp", + "type": "uint64" + } + ], + "name": "CollateralLockCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "expireTimestamp", + "type": "uint64" + } + ], + "name": "CollateralLockExpired", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "Deposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "Withdrawn", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "count", + "type": "uint256" + } + ], + "name": "cleanExpiredLocks", + "outputs": [ + { + "internalType": "uint256", + "name": "cleared", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint64", + "name": "expireTimestamp", + "type": "uint64" + } + ], + "name": "createLock", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getAccountAvailableCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getAccountCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "totalDeposited", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAssigned", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalLocked", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "offset", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "count", + "type": "uint256" + } + ], + "name": "getLocks", + "outputs": [ + { + "components": [ + { + "internalType": "uint128", + "name": "amountD18", + "type": "uint128" + }, + { + "internalType": "uint64", + "name": "lockExpirationTime", + "type": "uint64" + } + ], + "internalType": "struct CollateralLock.Data[]", + "name": "locks", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "components": [ + { + "internalType": "bool", + "name": "depositingEnabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "issuanceRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRewardD18", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "oracleNodeId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "minDelegationD18", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct CollateralConfiguration.Data", + "name": "config", + "type": "tuple" + } + ], + "name": "CollateralConfigured", + "type": "event" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bool", + "name": "depositingEnabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "issuanceRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRewardD18", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "oracleNodeId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "minDelegationD18", + "type": "uint256" + } + ], + "internalType": "struct CollateralConfiguration.Data", + "name": "config", + "type": "tuple" + } + ], + "name": "configureCollateral", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getCollateralConfiguration", + "outputs": [ + { + "components": [ + { + "internalType": "bool", + "name": "depositingEnabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "issuanceRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRewardD18", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "oracleNodeId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "minDelegationD18", + "type": "uint256" + } + ], + "internalType": "struct CollateralConfiguration.Data", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "hideDisabled", + "type": "bool" + } + ], + "name": "getCollateralConfigurations", + "outputs": [ + { + "components": [ + { + "internalType": "bool", + "name": "depositingEnabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "issuanceRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRatioD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidationRewardD18", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "oracleNodeId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "minDelegationD18", + "type": "uint256" + } + ], + "internalType": "struct CollateralConfiguration.Data[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getCollateralPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "requiredAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "availableAmount", + "type": "uint256" + } + ], + "name": "InsufficientCcipFee", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint64", + "name": "destChainId", + "type": "uint64" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "TransferCrossChainInitiated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "destChainId", + "type": "uint64" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferCrossChain", + "outputs": [ + { + "internalType": "uint256", + "name": "gasTokenUsed", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "currentDebt", + "type": "int256" + } + ], + "name": "InsufficientDebt", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "PoolNotFound", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + } + ], + "name": "IssuanceFeePaid", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "UsdBurned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "UsdMinted", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnUsd", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "mintUsd", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "CannotScaleEmptyMapping", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "collateralValue", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "debt", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "currentCRatio", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "cratio", + "type": "uint256" + } + ], + "name": "IneligibleForLiquidation", + "type": "error" + }, + { + "inputs": [], + "name": "InsufficientMappedAmount", + "type": "error" + }, + { + "inputs": [], + "name": "MustBeVaultLiquidated", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt128ToUint128", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "debtLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateralLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountRewarded", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct ILiquidationModule.LiquidationData", + "name": "liquidationData", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "liquidateAsAccountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "Liquidation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "debtLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateralLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountRewarded", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct ILiquidationModule.LiquidationData", + "name": "liquidationData", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "liquidateAsAccountId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "VaultLiquidation", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "isPositionLiquidatable", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "isVaultLiquidatable", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint128", + "name": "liquidateAsAccountId", + "type": "uint128" + } + ], + "name": "liquidate", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "debtLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateralLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountRewarded", + "type": "uint256" + } + ], + "internalType": "struct ILiquidationModule.LiquidationData", + "name": "liquidationData", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint128", + "name": "liquidateAsAccountId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "maxUsd", + "type": "uint256" + } + ], + "name": "liquidateVault", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "debtLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateralLiquidated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountRewarded", + "type": "uint256" + } + ], + "internalType": "struct ILiquidationModule.LiquidationData", + "name": "liquidationData", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenAmountToDeposit", + "type": "uint256" + } + ], + "name": "InsufficientMarketCollateralDepositable", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenAmountToWithdraw", + "type": "uint256" + } + ], + "name": "InsufficientMarketCollateralWithdrawable", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "MarketCollateralDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "MarketCollateralWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "systemAmount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "MaximumMarketCollateralConfigured", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "configureMaximumMarketCollateral", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "depositMarketCollateral", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getMarketCollateralAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "collateralAmountD18", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketCollateralValue", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getMaximumMarketCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "withdrawMarketCollateral", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "market", + "type": "address" + } + ], + "name": "IncorrectMarketInterface", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "NotEnoughLiquidity", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "market", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "MarketRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + } + ], + "name": "MarketSystemFeePaid", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "market", + "type": "address" + } + ], + "name": "MarketUsdDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "market", + "type": "address" + } + ], + "name": "MarketUsdWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "minLiquidityRatio", + "type": "uint256" + } + ], + "name": "SetMarketMinLiquidityRatio", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "minDelegateTime", + "type": "uint32" + } + ], + "name": "SetMinDelegateTime", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "depositMarketUsd", + "outputs": [ + { + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "maxIter", + "type": "uint256" + } + ], + "name": "distributeDebtToPools", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketDebtPerShare", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "getMarketFees", + "outputs": [ + { + "internalType": "uint256", + "name": "depositFeeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "withdrawFeeAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketMinDelegateTime", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketNetIssuance", + "outputs": [ + { + "internalType": "int128", + "name": "", + "type": "int128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "getMarketPoolDebtDistribution", + "outputs": [ + { + "internalType": "uint256", + "name": "sharesD18", + "type": "uint256" + }, + { + "internalType": "uint128", + "name": "totalSharesD18", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "valuePerShareD27", + "type": "int128" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketPools", + "outputs": [ + { + "internalType": "uint128[]", + "name": "inRangePoolIds", + "type": "uint128[]" + }, + { + "internalType": "uint128[]", + "name": "outRangePoolIds", + "type": "uint128[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketReportedDebt", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMarketTotalDebt", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getMinLiquidityRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOracleManager", + "outputs": [ + { + "internalType": "contract IOracleManager", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getUsdToken", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "getWithdrawableMarketUsd", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "name": "isMarketCapacityLocked", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "market", + "type": "address" + } + ], + "name": "registerMarket", + "outputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint32", + "name": "minDelegateTime", + "type": "uint32" + } + ], + "name": "setMarketMinDelegateTime", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "minLiquidityRatio", + "type": "uint256" + } + ], + "name": "setMinLiquidityRatio", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdrawMarketUsd", + "outputs": [ + { + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "DeniedMulticallTarget", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "RecursiveMulticall", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "poolId", + "type": "uint256" + } + ], + "name": "PoolApprovedAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "poolId", + "type": "uint256" + } + ], + "name": "PoolApprovedRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "poolId", + "type": "uint256" + } + ], + "name": "PreferredPoolSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "addApprovedPool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getApprovedPools", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getPreferredPool", + "outputs": [ + { + "internalType": "uint128", + "name": "", + "type": "uint128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "removeApprovedPool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "setPreferredPool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "marketId", + "type": "uint256" + } + ], + "name": "CapacityLocked", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "uint32", + "name": "timeRemaining", + "type": "uint32" + } + ], + "name": "MinDelegationTimeoutPending", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "PoolAlreadyExists", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "collateralLimitD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "issuanceRatioD18", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct PoolCollateralConfiguration.Data", + "name": "config", + "type": "tuple" + } + ], + "name": "PoolCollateralConfigurationUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "bool", + "name": "disabled", + "type": "bool" + } + ], + "name": "PoolCollateralDisabledByDefaultSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "components": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "weightD18", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "maxDebtShareValueD18", + "type": "int128" + } + ], + "indexed": false, + "internalType": "struct MarketConfiguration.Data[]", + "name": "markets", + "type": "tuple[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "PoolConfigurationSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "PoolCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "PoolNameUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "PoolNominationRenounced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "PoolNominationRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "nominatedOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "PoolOwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "PoolOwnershipAccepted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "minLiquidityRatio", + "type": "uint256" + } + ], + "name": "SetMinLiquidityRatio", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "acceptPoolOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "requestedPoolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "createPool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getMinLiquidityRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "getNominatedPoolOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateral", + "type": "address" + } + ], + "name": "getPoolCollateralIssuanceRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "getPoolConfiguration", + "outputs": [ + { + "components": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "weightD18", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "maxDebtShareValueD18", + "type": "int128" + } + ], + "internalType": "struct MarketConfiguration.Data[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "getPoolName", + "outputs": [ + { + "internalType": "string", + "name": "poolName", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "getPoolOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "nominatedOwner", + "type": "address" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "nominatePoolOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "optionalCollateralType", + "type": "address" + } + ], + "name": "rebalancePool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "renouncePoolNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + } + ], + "name": "revokePoolNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minLiquidityRatio", + "type": "uint256" + } + ], + "name": "setMinLiquidityRatio", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "collateralLimitD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "issuanceRatioD18", + "type": "uint256" + } + ], + "internalType": "struct PoolCollateralConfiguration.Data", + "name": "newConfig", + "type": "tuple" + } + ], + "name": "setPoolCollateralConfiguration", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + } + ], + "name": "setPoolCollateralDisabledByDefault", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "components": [ + { + "internalType": "uint128", + "name": "marketId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "weightD18", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "maxDebtShareValueD18", + "type": "int128" + } + ], + "internalType": "struct MarketConfiguration.Data[]", + "name": "newMarketConfigurations", + "type": "tuple[]" + } + ], + "name": "setPoolConfiguration", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "setPoolName", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint32", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint32ToInt32", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint64ToInt64", + "type": "error" + }, + { + "inputs": [], + "name": "RewardDistributorNotFound", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "distributor", + "type": "address" + } + ], + "name": "RewardUnavailable", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "distributor", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardsClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "distributor", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "start", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "RewardsDistributed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "distributor", + "type": "address" + } + ], + "name": "RewardsDistributorRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "distributor", + "type": "address" + } + ], + "name": "RewardsDistributorRemoved", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "address", + "name": "distributor", + "type": "address" + } + ], + "name": "claimRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint64", + "name": "start", + "type": "uint64" + }, + { + "internalType": "uint32", + "name": "duration", + "type": "uint32" + } + ], + "name": "distributeRewards", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "address", + "name": "distributor", + "type": "address" + } + ], + "name": "getRewardRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "address", + "name": "distributor", + "type": "address" + } + ], + "name": "registerRewardsDistributor", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "address", + "name": "distributor", + "type": "address" + } + ], + "name": "removeRewardsDistributor", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + } + ], + "name": "updateRewards", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + }, + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint64", + "name": "newChainId", + "type": "uint64" + } + ], + "name": "NewSupportedCrossChainNetwork", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "ccipRouter", + "type": "address" + }, + { + "internalType": "address", + "name": "ccipTokenPool", + "type": "address" + } + ], + "name": "configureChainlinkCrossChain", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "oracleManagerAddress", + "type": "address" + } + ], + "name": "configureOracleManager", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "k", + "type": "bytes32" + } + ], + "name": "getConfig", + "outputs": [ + { + "internalType": "bytes32", + "name": "v", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "k", + "type": "bytes32" + } + ], + "name": "getConfigAddress", + "outputs": [ + { + "internalType": "address", + "name": "v", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "k", + "type": "bytes32" + } + ], + "name": "getConfigUint", + "outputs": [ + { + "internalType": "uint256", + "name": "v", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTrustedForwarder", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "forwarder", + "type": "address" + } + ], + "name": "isTrustedForwarder", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "k", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "v", + "type": "bytes32" + } + ], + "name": "setConfig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint64[]", + "name": "supportedNetworks", + "type": "uint64[]" + }, + { + "internalType": "uint64[]", + "name": "ccipSelectors", + "type": "uint64[]" + } + ], + "name": "setSupportedCrossChainNetworks", + "outputs": [ + { + "internalType": "uint256", + "name": "numRegistered", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minDelegation", + "type": "uint256" + } + ], + "name": "InsufficientDelegation", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidCollateralAmount", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "leverage", + "type": "uint256" + } + ], + "name": "InvalidLeverage", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "currentCollateral", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxCollateral", + "type": "uint256" + } + ], + "name": "PoolCollateralLimitExceeded", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "indexed": true, + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "leverage", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "DelegationUpdated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "newCollateralAmountD18", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "leverage", + "type": "uint256" + } + ], + "name": "delegateCollateral", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getPosition", + "outputs": [ + { + "internalType": "uint256", + "name": "collateralAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collateralValue", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "debt", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "collateralizationRatio", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getPositionCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getPositionCollateralRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "accountId", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getPositionDebt", + "outputs": [ + { + "internalType": "int256", + "name": "debt", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getVaultCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getVaultCollateralRatio", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint128", + "name": "poolId", + "type": "uint128" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + } + ], + "name": "getVaultDebt", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.upgrade_core_proxy" +} diff --git a/for-developers/abis/84531-competition-snxAccountNFT.json b/for-developers/abis/84531-competition-snxAccountNFT.json new file mode 100644 index 0000000..668a157 --- /dev/null +++ b/for-developers/abis/84531-competition-snxAccountNFT.json @@ -0,0 +1,815 @@ +{ + "address": "0xdD066734028Cb1f07AC8CEdd054BA64Ea05b8461", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ImplementationIsSterile", + "type": "error" + }, + { + "inputs": [], + "name": "NoChange", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contr", + "type": "address" + } + ], + "name": "NotAContract", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "NotNominated", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "Unauthorized", + "type": "error" + }, + { + "inputs": [], + "name": "UpgradeSimulationFailed", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "self", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "simulateUpgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "AlreadyInitialized", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "CannotSelfApprove", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "requestedIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + } + ], + "name": "IndexOverrun", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "InvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "parameter", + "type": "string" + }, + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "InvalidParameter", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "InvalidTransferRecipient", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint128", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "TokenAlreadyMinted", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "TokenDoesNotExist", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "holder", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "string", + "name": "tokenSymbol", + "type": "string" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "holder", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "isInitialized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "setAllowance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "uri", + "type": "string" + } + ], + "name": "setBaseTokenURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenOfOwnerByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.init_account" +} diff --git a/for-developers/abis/84531-competition-snxUSDToken.json b/for-developers/abis/84531-competition-snxUSDToken.json new file mode 100644 index 0000000..279f699 --- /dev/null +++ b/for-developers/abis/84531-competition-snxUSDToken.json @@ -0,0 +1,831 @@ +{ + "address": "0x579c612E4Bf390f5504DB9f76b6F5759A3172279", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ImplementationIsSterile", + "type": "error" + }, + { + "inputs": [], + "name": "NoChange", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contr", + "type": "address" + } + ], + "name": "NotAContract", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "NotNominated", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "Unauthorized", + "type": "error" + }, + { + "inputs": [], + "name": "UpgradeSimulationFailed", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "self", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "simulateUpgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expected", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actual", + "type": "bytes32" + } + ], + "name": "MismatchAssociatedSystemKind", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "MissingAssociatedSystem", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "proxy", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "AssociatedSystemSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "getAssociatedSystem", + "outputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeNft", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "endpoint", + "type": "address" + } + ], + "name": "registerUnmanagedSystem", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "AlreadyInitialized", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "required", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "existing", + "type": "uint256" + } + ], + "name": "InsufficientAllowance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "required", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "existing", + "type": "uint256" + } + ], + "name": "InsufficientBalance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "parameter", + "type": "string" + }, + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "InvalidParameter", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnWithAllowance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "string", + "name": "tokenSymbol", + "type": "string" + }, + { + "internalType": "uint8", + "name": "tokenDecimals", + "type": "uint8" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isInitialized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "setAllowance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.init_usd" +} diff --git a/for-developers/abis/84531-main-OracleManager.json b/for-developers/abis/84531-main-OracleManager.json new file mode 100644 index 0000000..6f17a5e --- /dev/null +++ b/for-developers/abis/84531-main-OracleManager.json @@ -0,0 +1,562 @@ +{ + "address": "0xDca879a959f7B2AB73A6AC59bF84F647Eb6f203e", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ImplementationIsSterile", + "type": "error" + }, + { + "inputs": [], + "name": "NoChange", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contr", + "type": "address" + } + ], + "name": "NotAContract", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "NotNominated", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "Unauthorized", + "type": "error" + }, + { + "inputs": [], + "name": "UpgradeSimulationFailed", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "self", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "simulateUpgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "deviation", + "type": "int256" + } + ], + "name": "DeviationToleranceExceeded", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidInputPrice", + "type": "error" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "enum NodeDefinition.NodeType", + "name": "nodeType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "parameters", + "type": "bytes" + }, + { + "internalType": "bytes32[]", + "name": "parents", + "type": "bytes32[]" + } + ], + "internalType": "struct NodeDefinition.Data", + "name": "nodeType", + "type": "tuple" + } + ], + "name": "InvalidNodeDefinition", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "parameter", + "type": "string" + }, + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "InvalidParameter", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "price", + "type": "int256" + } + ], + "name": "InvalidPrice", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + } + ], + "name": "NodeNotRegistered", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt256ToUint256", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowInt56ToInt24", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToInt256", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint160", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint56ToInt56", + "type": "error" + }, + { + "inputs": [], + "name": "StalenessToleranceExceeded", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + } + ], + "name": "UnprocessableNode", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "enum ReducerNode.Operations", + "name": "operation", + "type": "uint8" + } + ], + "name": "UnsupportedOperation", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "enum NodeDefinition.NodeType", + "name": "nodeType", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "parameters", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes32[]", + "name": "parents", + "type": "bytes32[]" + } + ], + "name": "NodeRegistered", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + } + ], + "name": "getNode", + "outputs": [ + { + "components": [ + { + "internalType": "enum NodeDefinition.NodeType", + "name": "nodeType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "parameters", + "type": "bytes" + }, + { + "internalType": "bytes32[]", + "name": "parents", + "type": "bytes32[]" + } + ], + "internalType": "struct NodeDefinition.Data", + "name": "node", + "type": "tuple" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum NodeDefinition.NodeType", + "name": "nodeType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "parameters", + "type": "bytes" + }, + { + "internalType": "bytes32[]", + "name": "parents", + "type": "bytes32[]" + } + ], + "name": "getNodeId", + "outputs": [ + { + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + } + ], + "name": "process", + "outputs": [ + { + "components": [ + { + "internalType": "int256", + "name": "price", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__slotAvailableForFutureUse1", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__slotAvailableForFutureUse2", + "type": "uint256" + } + ], + "internalType": "struct NodeOutput.Data", + "name": "node", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "runtimeKeys", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[]", + "name": "runtimeValues", + "type": "bytes32[]" + } + ], + "name": "processWithRuntime", + "outputs": [ + { + "components": [ + { + "internalType": "int256", + "name": "price", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__slotAvailableForFutureUse1", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__slotAvailableForFutureUse2", + "type": "uint256" + } + ], + "internalType": "struct NodeOutput.Data", + "name": "node", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum NodeDefinition.NodeType", + "name": "nodeType", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "parameters", + "type": "bytes" + }, + { + "internalType": "bytes32[]", + "name": "parents", + "type": "bytes32[]" + } + ], + "name": "registerNode", + "outputs": [ + { + "internalType": "bytes32", + "name": "nodeId", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.upgrade_proxy" +} diff --git a/for-developers/abis/420-SpotMarket.json b/for-developers/abis/84531-main-SpotMarket.json similarity index 99% rename from for-developers/abis/420-SpotMarket.json rename to for-developers/abis/84531-main-SpotMarket.json index ee47645..9ea780b 100644 --- a/for-developers/abis/420-SpotMarket.json +++ b/for-developers/abis/84531-main-SpotMarket.json @@ -1,5 +1,5 @@ { - "address": "0x5FF4b3aacdeC86782d8c757FAa638d8790799E83", + "address": "0x897CAf492D824a88d374f742E898f56FbD33d631", "abi": [ { "inputs": [ diff --git a/for-developers/abis/5-SynthetixCore.json b/for-developers/abis/84531-main-SynthetixCore.json similarity index 99% rename from for-developers/abis/5-SynthetixCore.json rename to for-developers/abis/84531-main-SynthetixCore.json index 5e6d270..4ebc4f9 100644 --- a/for-developers/abis/5-SynthetixCore.json +++ b/for-developers/abis/84531-main-SynthetixCore.json @@ -1,5 +1,5 @@ { - "address": "0x76490713314fCEC173f44e99346F54c6e92a8E42", + "address": "0x3a0B49f5B93a95453BdaCfc3653E15F982A0187A", "abi": [ { "inputs": [ diff --git a/for-developers/abis/84531-main-snxAccountNFT.json b/for-developers/abis/84531-main-snxAccountNFT.json new file mode 100644 index 0000000..627133d --- /dev/null +++ b/for-developers/abis/84531-main-snxAccountNFT.json @@ -0,0 +1,815 @@ +{ + "address": "0x1146D135842015662c46f284FBDb253EDE225fCE", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ImplementationIsSterile", + "type": "error" + }, + { + "inputs": [], + "name": "NoChange", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contr", + "type": "address" + } + ], + "name": "NotAContract", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "NotNominated", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "Unauthorized", + "type": "error" + }, + { + "inputs": [], + "name": "UpgradeSimulationFailed", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "self", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "simulateUpgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "AlreadyInitialized", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "CannotSelfApprove", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "requestedIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + } + ], + "name": "IndexOverrun", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "InvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "parameter", + "type": "string" + }, + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "InvalidParameter", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "InvalidTransferRecipient", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowUint256ToUint128", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "TokenAlreadyMinted", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "TokenDoesNotExist", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "holder", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "string", + "name": "tokenSymbol", + "type": "string" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "holder", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "isInitialized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "setAllowance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "uri", + "type": "string" + } + ], + "name": "setBaseTokenURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenOfOwnerByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.init_account" +} diff --git a/for-developers/abis/84531-main-snxUSDToken.json b/for-developers/abis/84531-main-snxUSDToken.json new file mode 100644 index 0000000..e23db50 --- /dev/null +++ b/for-developers/abis/84531-main-snxUSDToken.json @@ -0,0 +1,831 @@ +{ + "address": "0x2b99243d983d515c611a09Ae673399553452ce18", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ImplementationIsSterile", + "type": "error" + }, + { + "inputs": [], + "name": "NoChange", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contr", + "type": "address" + } + ], + "name": "NotAContract", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "NotNominated", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "Unauthorized", + "type": "error" + }, + { + "inputs": [], + "name": "UpgradeSimulationFailed", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "self", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newNominatedOwner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceNomination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "simulateUpgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expected", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actual", + "type": "bytes32" + } + ], + "name": "MismatchAssociatedSystemKind", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "MissingAssociatedSystem", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "proxy", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "AssociatedSystemSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "getAssociatedSystem", + "outputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "kind", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeNft", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals", + "type": "uint8" + }, + { + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "initOrUpgradeToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "endpoint", + "type": "address" + } + ], + "name": "registerUnmanagedSystem", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "AlreadyInitialized", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "required", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "existing", + "type": "uint256" + } + ], + "name": "InsufficientAllowance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "required", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "existing", + "type": "uint256" + } + ], + "name": "InsufficientBalance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "parameter", + "type": "string" + }, + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "InvalidParameter", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnWithAllowance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "string", + "name": "tokenSymbol", + "type": "string" + }, + { + "internalType": "uint8", + "name": "tokenDecimals", + "type": "uint8" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isInitialized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "setAllowance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "deployTxnHash": "", + "sourceName": "", + "contractName": "", + "deployedOn": "invoke.init_usd" +} diff --git a/for-developers/addresses-+-abis.md b/for-developers/addresses-+-abis.md index 5c5b092..e1405d3 100644 --- a/for-developers/addresses-+-abis.md +++ b/for-developers/addresses-+-abis.md @@ -4,91 +4,140 @@ See the [synthetix-deployments](https://github.com/synthetixio/synthetix-deploym To download the Addresses + ABIs for Synthetix via the command line, you can run the following command: -```bash -npx @usecannon/cli inspect synthetix-omnibus --write-deployments ./deployments --chain-id +```sh +npx @usecannon/cli inspect synthetix-omnibus \ + --write-deployments ./deployments \ + --chain-id \ + --preset ``` ## Mainnet Chain ID: 1 -| System | Address | ABI | -| --- | --- | --- | -| Synthetix Core | [0xffffffaEff0B96Ea8e4f94b2253f31abdD875847](https://etherscan.io/address/0xffffffaEff0B96Ea8e4f94b2253f31abdD875847) | [View/Download](./abis/1-SynthetixCore.json) | -| snxAccount NFT | [0x0E429603D3Cb1DFae4E6F52Add5fE82d96d77Dac](https://etherscan.io/address/0x0E429603D3Cb1DFae4E6F52Add5fE82d96d77Dac) | [View/Download](./abis/1-snxAccountNFT.json) | -| snxUSD Token | [0xb2F30A7C980f052f02563fb518dcc39e6bf38175](https://etherscan.io/address/0xb2F30A7C980f052f02563fb518dcc39e6bf38175) | [View/Download](./abis/1-snxUSDToken.json) | -| Oracle Manager | [0x0aaF300E148378489a8A471DD3e9E53E30cb42e3](https://etherscan.io/address/0x0aaF300E148378489a8A471DD3e9E53E30cb42e3) | [View/Download](./abis/1-OracleManager.json) | -| SNX Token | [0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F](https://etherscan.io/address/0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F) | _ERC-20 compliant_ | +| System | Address | ABI | +| -------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------- | +| Synthetix Core | [0xffffffaEff0B96Ea8e4f94b2253f31abdD875847](https://etherscan.io/address/0xffffffaEff0B96Ea8e4f94b2253f31abdD875847) | [View/Download](./abis/1-main-SynthetixCore.json) | +| snxAccount NFT | [0x0E429603D3Cb1DFae4E6F52Add5fE82d96d77Dac](https://etherscan.io/address/0x0E429603D3Cb1DFae4E6F52Add5fE82d96d77Dac) | [View/Download](./abis/1-main-snxAccountNFT.json) | +| snxUSD Token | [0xb2F30A7C980f052f02563fb518dcc39e6bf38175](https://etherscan.io/address/0xb2F30A7C980f052f02563fb518dcc39e6bf38175) | [View/Download](./abis/1-main-snxUSDToken.json) | +| Oracle Manager | [0x0aaF300E148378489a8A471DD3e9E53E30cb42e3](https://etherscan.io/address/0x0aaF300E148378489a8A471DD3e9E53E30cb42e3) | [View/Download](./abis/1-main-OracleManager.json) | +| SNX Token | [0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F](https://etherscan.io/address/0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F) | _ERC-20 compliant_ | ## Goerli Chain ID: 5 -| System | Address | ABI | -| --- | --- | --- | -| Synthetix Core | [0x76490713314fCEC173f44e99346F54c6e92a8E42](https://goerli.etherscan.io/address/0x76490713314fCEC173f44e99346F54c6e92a8E42) | [View/Download](./abis/5-SynthetixCore.json) | -| snxAccount NFT | [0x1b791d05E437C78039424749243F5A79E747525e](https://goerli.etherscan.io/address/0x1b791d05E437C78039424749243F5A79E747525e) | [View/Download](./abis/5-snxAccountNFT.json) | -| snxUSD Token | [0xe487Ad4291019b33e2230F8E2FB1fb6490325260](https://goerli.etherscan.io/address/0xe487Ad4291019b33e2230F8E2FB1fb6490325260) | [View/Download](./abis/5-snxUSDToken.json) | -| Oracle Manager | [0x12aE0D5CD26f212bFE242DA78139d463019f7a73](https://goerli.etherscan.io/address/0x12aE0D5CD26f212bFE242DA78139d463019f7a73) | [View/Download](./abis/5-OracleManager.json) | -| SNX Token | [0x51f44ca59b867E005e48FA573Cb8df83FC7f7597](https://goerli.etherscan.io/address/0x51f44ca59b867E005e48FA573Cb8df83FC7f7597) | _ERC-20 compliant_ | +| System | Address | ABI | +| -------------- | ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------- | +| Synthetix Core | [0x895CE54BBA4f14FeFbF0624673DC303054De0652](https://goerli.etherscan.io/address/0x895CE54BBA4f14FeFbF0624673DC303054De0652) | [View/Download](./abis/5-main-SynthetixCore.json) | +| snxAccount NFT | [0xf19BdaE737d61A91cd0aeb3E32D0E11f9eF7aE5c](https://goerli.etherscan.io/address/0xf19BdaE737d61A91cd0aeb3E32D0E11f9eF7aE5c) | [View/Download](./abis/5-main-snxAccountNFT.json) | +| snxUSD Token | [0x50f194b9949759510cE3700f759D64ac429dcC76](https://goerli.etherscan.io/address/0x50f194b9949759510cE3700f759D64ac429dcC76) | [View/Download](./abis/5-main-snxUSDToken.json) | +| Oracle Manager | [0x21a642c7b2B511f934DDD1250E2335899696ED0e](https://goerli.etherscan.io/address/0x21a642c7b2B511f934DDD1250E2335899696ED0e) | [View/Download](./abis/5-main-OracleManager.json) | +| SNX Token | [0x51f44ca59b867E005e48FA573Cb8df83FC7f7597](https://goerli.etherscan.io/address/0x51f44ca59b867E005e48FA573Cb8df83FC7f7597) | _ERC-20 compliant_ | ## Sepolia Chain ID: 11155111 -| System | Address | ABI | -| --- | --- | --- | -| Synthetix Core | [0x76490713314fCEC173f44e99346F54c6e92a8E42](https://sepolia.etherscan.io/address/0x76490713314fCEC173f44e99346F54c6e92a8E42) | [View/Download](./abis/11155111-SynthetixCore.json) | -| snxAccount NFT | [0xe487Ad4291019b33e2230F8E2FB1fb6490325260](https://sepolia.etherscan.io/address/0xe487Ad4291019b33e2230F8E2FB1fb6490325260) | [View/Download](./abis/11155111-snxAccountNFT.json) | -| snxUSD Token | [0x1b791d05E437C78039424749243F5A79E747525e](https://sepolia.etherscan.io/address/0x1b791d05E437C78039424749243F5A79E747525e) | [View/Download](./abis/11155111-snxUSDToken.json) | -| Oracle Manager | [0x12aE0D5CD26f212bFE242DA78139d463019f7a73](https://sepolia.etherscan.io/address/0x12aE0D5CD26f212bFE242DA78139d463019f7a73) | [View/Download](./abis/11155111-OracleManager.json) | +| System | Address | ABI | +| -------------- | ----------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | +| Synthetix Core | [0x76490713314fCEC173f44e99346F54c6e92a8E42](https://sepolia.etherscan.io/address/0x76490713314fCEC173f44e99346F54c6e92a8E42) | [View/Download](./abis/11155111-main-SynthetixCore.json) | +| snxAccount NFT | [0xe487Ad4291019b33e2230F8E2FB1fb6490325260](https://sepolia.etherscan.io/address/0xe487Ad4291019b33e2230F8E2FB1fb6490325260) | [View/Download](./abis/11155111-main-snxAccountNFT.json) | +| snxUSD Token | [0x1b791d05E437C78039424749243F5A79E747525e](https://sepolia.etherscan.io/address/0x1b791d05E437C78039424749243F5A79E747525e) | [View/Download](./abis/11155111-main-snxUSDToken.json) | +| Oracle Manager | [0x12aE0D5CD26f212bFE242DA78139d463019f7a73](https://sepolia.etherscan.io/address/0x12aE0D5CD26f212bFE242DA78139d463019f7a73) | [View/Download](./abis/11155111-main-OracleManager.json) | ## Optimism Chain ID: 10 -| System | Address | ABI | -| --- | --- | --- | -| Synthetix Core | [0xffffffaEff0B96Ea8e4f94b2253f31abdD875847](https://optimistic.etherscan.io/address/0xffffffaEff0B96Ea8e4f94b2253f31abdD875847) | [View/Download](./abis/10-SynthetixCore.json) | -| snxAccount NFT | [0x0E429603D3Cb1DFae4E6F52Add5fE82d96d77Dac](https://optimistic.etherscan.io/address/0x0E429603D3Cb1DFae4E6F52Add5fE82d96d77Dac) | [View/Download](./abis/10-snxAccountNFT.json) | -| snxUSD Token | [0xb2F30A7C980f052f02563fb518dcc39e6bf38175](https://optimistic.etherscan.io/address/0xb2F30A7C980f052f02563fb518dcc39e6bf38175) | [View/Download](./abis/10-snxUSDToken.json) | -| Oracle Manager | [0x0aaF300E148378489a8A471DD3e9E53E30cb42e3](https://optimistic.etherscan.io/address/0x0aaF300E148378489a8A471DD3e9E53E30cb42e3) | [View/Download](./abis/10-OracleManager.json) | -| Spot Market | [0x38908Ee087D7db73A1Bd1ecab9AAb8E8c9C74595](https://optimistic.etherscan.io/address/0x38908Ee087D7db73A1Bd1ecab9AAb8E8c9C74595) | [View/Download](./abis/10-SpotMarket.json) | -| SNX Token | [0x8700dAec35aF8Ff88c16BdF0418774CB3D7599B4](https://optimistic.etherscan.io/address/0x8700dAec35aF8Ff88c16BdF0418774CB3D7599B4) | _ERC-20 compliant_ | +| System | Address | ABI | +| -------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- | +| Synthetix Core | [0xffffffaEff0B96Ea8e4f94b2253f31abdD875847](https://optimistic.etherscan.io/address/0xffffffaEff0B96Ea8e4f94b2253f31abdD875847) | [View/Download](./abis/10-main-SynthetixCore.json) | +| snxAccount NFT | [0x0E429603D3Cb1DFae4E6F52Add5fE82d96d77Dac](https://optimistic.etherscan.io/address/0x0E429603D3Cb1DFae4E6F52Add5fE82d96d77Dac) | [View/Download](./abis/10-main-snxAccountNFT.json) | +| snxUSD Token | [0xb2F30A7C980f052f02563fb518dcc39e6bf38175](https://optimistic.etherscan.io/address/0xb2F30A7C980f052f02563fb518dcc39e6bf38175) | [View/Download](./abis/10-main-snxUSDToken.json) | +| Oracle Manager | [0x0aaF300E148378489a8A471DD3e9E53E30cb42e3](https://optimistic.etherscan.io/address/0x0aaF300E148378489a8A471DD3e9E53E30cb42e3) | [View/Download](./abis/10-main-OracleManager.json) | +| Spot Market | [0x38908Ee087D7db73A1Bd1ecab9AAb8E8c9C74595](https://optimistic.etherscan.io/address/0x38908Ee087D7db73A1Bd1ecab9AAb8E8c9C74595) | [View/Download](./abis/10-main-SpotMarket.json) | +| SNX Token | [0x8700dAec35aF8Ff88c16BdF0418774CB3D7599B4](https://optimistic.etherscan.io/address/0x8700dAec35aF8Ff88c16BdF0418774CB3D7599B4) | _ERC-20 compliant_ | ## Optimistic Goerli Chain ID: 420 -| System | Address | ABI | -| --- | --- | --- | -| Synthetix Core | [0x76490713314fCEC173f44e99346F54c6e92a8E42](https://goerli-optimism.etherscan.io/address/0x76490713314fCEC173f44e99346F54c6e92a8E42) | [View/Download](./abis/420-SynthetixCore.json) | -| snxAccount NFT | [0x1b791d05E437C78039424749243F5A79E747525e](https://goerli-optimism.etherscan.io/address/0x1b791d05E437C78039424749243F5A79E747525e) | [View/Download](./abis/420-snxAccountNFT.json) | -| snxUSD Token | [0xe487Ad4291019b33e2230F8E2FB1fb6490325260](https://goerli-optimism.etherscan.io/address/0xe487Ad4291019b33e2230F8E2FB1fb6490325260) | [View/Download](./abis/420-snxUSDToken.json) | -| Oracle Manager | [0x12aE0D5CD26f212bFE242DA78139d463019f7a73](https://goerli-optimism.etherscan.io/address/0x12aE0D5CD26f212bFE242DA78139d463019f7a73) | [View/Download](./abis/420-OracleManager.json) | -| Spot Market | [0x5FF4b3aacdeC86782d8c757FAa638d8790799E83](https://goerli-optimism.etherscan.io/address/0x5FF4b3aacdeC86782d8c757FAa638d8790799E83) | [View/Download](./abis/420-SpotMarket.json) | -| Perps Market | [0xf272382cB3BE898A8CdB1A23BE056fA2Fcf4513b](https://goerli-optimism.etherscan.io/address/0xf272382cB3BE898A8CdB1A23BE056fA2Fcf4513b) | [View/Download](./abis/420-PerpsMarket.json) | -| Perps Market Account NFT | [0x01C2f64ABd46AF20950736f3C3e1a9cfc5c36c82](https://goerli-optimism.etherscan.io/address/0x01C2f64ABd46AF20950736f3C3e1a9cfc5c36c82) | [View/Download](./abis/420-PerpsAccountNFT.json) | -| SNX Token | [0x2E5ED97596a8368EB9E44B1f3F25B2E813845303](https://goerli-optimism.etherscan.io/address/0x2E5ED97596a8368EB9E44B1f3F25B2E813845303) | _ERC-20 compliant_ | +| System | Address | ABI | +| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | +| Synthetix Core | [0x76490713314fCEC173f44e99346F54c6e92a8E42](https://goerli-optimism.etherscan.io/address/0x76490713314fCEC173f44e99346F54c6e92a8E42) | [View/Download](./abis/420-main-SynthetixCore.json) | +| snxAccount NFT | [0x1b791d05E437C78039424749243F5A79E747525e](https://goerli-optimism.etherscan.io/address/0x1b791d05E437C78039424749243F5A79E747525e) | [View/Download](./abis/420-main-snxAccountNFT.json) | +| snxUSD Token | [0xe487Ad4291019b33e2230F8E2FB1fb6490325260](https://goerli-optimism.etherscan.io/address/0xe487Ad4291019b33e2230F8E2FB1fb6490325260) | [View/Download](./abis/420-main-snxUSDToken.json) | +| Oracle Manager | [0x12aE0D5CD26f212bFE242DA78139d463019f7a73](https://goerli-optimism.etherscan.io/address/0x12aE0D5CD26f212bFE242DA78139d463019f7a73) | [View/Download](./abis/420-main-OracleManager.json) | +| Spot Market | [0x5FF4b3aacdeC86782d8c757FAa638d8790799E83](https://goerli-optimism.etherscan.io/address/0x5FF4b3aacdeC86782d8c757FAa638d8790799E83) | [View/Download](./abis/420-main-SpotMarket.json) | +| Perps Market | [0xf272382cB3BE898A8CdB1A23BE056fA2Fcf4513b](https://goerli-optimism.etherscan.io/address/0xf272382cB3BE898A8CdB1A23BE056fA2Fcf4513b) | [View/Download](./abis/420-main-PerpsMarket.json) | +| Perps Market Account NFT | [0x01C2f64ABd46AF20950736f3C3e1a9cfc5c36c82](https://goerli-optimism.etherscan.io/address/0x01C2f64ABd46AF20950736f3C3e1a9cfc5c36c82) | [View/Download](./abis/420-main-PerpsAccountNFT.json) | +| SNX Token | [0x2E5ED97596a8368EB9E44B1f3F25B2E813845303](https://goerli-optimism.etherscan.io/address/0x2E5ED97596a8368EB9E44B1f3F25B2E813845303) | _ERC-20 compliant_ | + +## Dev on Optimism Goerli + +Chain ID: 420 + +| System | Address | ABI | +| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | +| Synthetix Core | [0x3f1faD3d8C531A5a3f7ae8d045c37e2075A241A0](https://goerli-optimism.etherscan.io/address/0x3f1faD3d8C531A5a3f7ae8d045c37e2075A241A0) | [View/Download](./abis/420-dev-SynthetixCore.json) | +| snxAccount NFT | [0x1daA414B74A7581405e8B17bac5B29F31042B7C6](https://goerli-optimism.etherscan.io/address/0x1daA414B74A7581405e8B17bac5B29F31042B7C6) | [View/Download](./abis/420-dev-snxAccountNFT.json) | +| snxUSD Token | [0xE0D30C1f189496388B0f5F1c32e75327135F26b8](https://goerli-optimism.etherscan.io/address/0xE0D30C1f189496388B0f5F1c32e75327135F26b8) | [View/Download](./abis/420-dev-snxUSDToken.json) | +| Oracle Manager | [0x47b8f4EC2D0ef7ADfa97927A597d2C73B3A7e81d](https://goerli-optimism.etherscan.io/address/0x47b8f4EC2D0ef7ADfa97927A597d2C73B3A7e81d) | [View/Download](./abis/420-dev-OracleManager.json) | +| Spot Market | [0x9bC0DD3436669Ab76C553214B1740CE5E6EbF18e](https://goerli-optimism.etherscan.io/address/0x9bC0DD3436669Ab76C553214B1740CE5E6EbF18e) | [View/Download](./abis/420-dev-SpotMarket.json) | +| Perps Market | [0x8EdfbD5c6aB7167cf7dc7E62D9FeAA59720a2e7E](https://goerli-optimism.etherscan.io/address/0x8EdfbD5c6aB7167cf7dc7E62D9FeAA59720a2e7E) | [View/Download](./abis/420-dev-PerpsMarket.json) | +| Perps Market Account NFT | [0x6fBe7F0f515C2126638aAF60a351a98b27f62925](https://goerli-optimism.etherscan.io/address/0x6fBe7F0f515C2126638aAF60a351a98b27f62925) | [View/Download](./abis/420-dev-PerpsAccountNFT.json) | +| SNX Token | [0x2E5ED97596a8368EB9E44B1f3F25B2E813845303](https://goerli-optimism.etherscan.io/address/0x2E5ED97596a8368EB9E44B1f3F25B2E813845303) | _ERC-20 compliant_ | ## Polygon Mumbai Chain ID: 80001 -| System | Address | ABI | -| --- | --- | --- | -| Synthetix Core | [0x76490713314fCEC173f44e99346F54c6e92a8E42](https://mumbai.polygonscan.com/address/0x76490713314fCEC173f44e99346F54c6e92a8E42) | [View/Download](./abis/80001-SynthetixCore.json) | -| snxAccount NFT | [0xe487Ad4291019b33e2230F8E2FB1fb6490325260](https://mumbai.polygonscan.com/address/0xe487Ad4291019b33e2230F8E2FB1fb6490325260) | [View/Download](./abis/80001-snxAccountNFT.json) | -| snxUSD Token | [0x1b791d05E437C78039424749243F5A79E747525e](https://mumbai.polygonscan.com/address/0x1b791d05E437C78039424749243F5A79E747525e) | [View/Download](./abis/80001-snxUSDToken.json) | -| Oracle Manager | [0x12aE0D5CD26f212bFE242DA78139d463019f7a73](https://mumbai.polygonscan.com/address/0x12aE0D5CD26f212bFE242DA78139d463019f7a73) | [View/Download](./abis/80001-OracleManager.json) | +| System | Address | ABI | +| -------------- | ------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | +| Synthetix Core | [0x76490713314fCEC173f44e99346F54c6e92a8E42](https://mumbai.polygonscan.com/address/0x76490713314fCEC173f44e99346F54c6e92a8E42) | [View/Download](./abis/80001-main-SynthetixCore.json) | +| snxAccount NFT | [0xe487Ad4291019b33e2230F8E2FB1fb6490325260](https://mumbai.polygonscan.com/address/0xe487Ad4291019b33e2230F8E2FB1fb6490325260) | [View/Download](./abis/80001-main-snxAccountNFT.json) | +| snxUSD Token | [0x1b791d05E437C78039424749243F5A79E747525e](https://mumbai.polygonscan.com/address/0x1b791d05E437C78039424749243F5A79E747525e) | [View/Download](./abis/80001-main-snxUSDToken.json) | +| Oracle Manager | [0x12aE0D5CD26f212bFE242DA78139d463019f7a73](https://mumbai.polygonscan.com/address/0x12aE0D5CD26f212bFE242DA78139d463019f7a73) | [View/Download](./abis/80001-main-OracleManager.json) | ## Base Goerli Chain ID: 84531 -| System | Address | ABI | -| --- | --- | --- | -| Synthetix Core | [0x76490713314fCEC173f44e99346F54c6e92a8E42](https://goerli.basescan.org/address/0x76490713314fCEC173f44e99346F54c6e92a8E42) | [View/Download](./abis/84531-SynthetixCore.json) | -| snxAccount NFT | [0x1b791d05E437C78039424749243F5A79E747525e](https://goerli.basescan.org/address/0x1b791d05E437C78039424749243F5A79E747525e) | [View/Download](./abis/84531-snxAccountNFT.json) | -| snxUSD Token | [0xe487Ad4291019b33e2230F8E2FB1fb6490325260](https://goerli.basescan.org/address/0xe487Ad4291019b33e2230F8E2FB1fb6490325260) | [View/Download](./abis/84531-snxUSDToken.json) | -| Oracle Manager | [0x12aE0D5CD26f212bFE242DA78139d463019f7a73](https://goerli.basescan.org/address/0x12aE0D5CD26f212bFE242DA78139d463019f7a73) | [View/Download](./abis/84531-OracleManager.json) | +| System | Address | ABI | +| -------------- | ---------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | +| Synthetix Core | [0x3a0B49f5B93a95453BdaCfc3653E15F982A0187A](https://goerli.basescan.org/address/0x3a0B49f5B93a95453BdaCfc3653E15F982A0187A) | [View/Download](./abis/84531-main-SynthetixCore.json) | +| snxAccount NFT | [0x1146D135842015662c46f284FBDb253EDE225fCE](https://goerli.basescan.org/address/0x1146D135842015662c46f284FBDb253EDE225fCE) | [View/Download](./abis/84531-main-snxAccountNFT.json) | +| snxUSD Token | [0x2b99243d983d515c611a09Ae673399553452ce18](https://goerli.basescan.org/address/0x2b99243d983d515c611a09Ae673399553452ce18) | [View/Download](./abis/84531-main-snxUSDToken.json) | +| Oracle Manager | [0xDca879a959f7B2AB73A6AC59bF84F647Eb6f203e](https://goerli.basescan.org/address/0xDca879a959f7B2AB73A6AC59bF84F647Eb6f203e) | [View/Download](./abis/84531-main-OracleManager.json) | +| Spot Market | [0x897CAf492D824a88d374f742E898f56FbD33d631](https://goerli.basescan.org/address/0x897CAf492D824a88d374f742E898f56FbD33d631) | [View/Download](./abis/84531-main-SpotMarket.json) | + +## Competition on Base Goerli + +Chain ID: 84531 + +| System | Address | ABI | +| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | +| Synthetix Core | [0xa53346A1684DAB73EFfd048fA40Fb1fA9327fDe9](https://goerli.basescan.org/address/0xa53346A1684DAB73EFfd048fA40Fb1fA9327fDe9) | [View/Download](./abis/84531-competition-SynthetixCore.json) | +| snxAccount NFT | [0xdD066734028Cb1f07AC8CEdd054BA64Ea05b8461](https://goerli.basescan.org/address/0xdD066734028Cb1f07AC8CEdd054BA64Ea05b8461) | [View/Download](./abis/84531-competition-snxAccountNFT.json) | +| snxUSD Token | [0x579c612E4Bf390f5504DB9f76b6F5759A3172279](https://goerli.basescan.org/address/0x579c612E4Bf390f5504DB9f76b6F5759A3172279) | [View/Download](./abis/84531-competition-snxUSDToken.json) | +| Oracle Manager | [0xbAbfb6e9f914C1EfBBFFAdeE6cd86B23927434C8](https://goerli.basescan.org/address/0xbAbfb6e9f914C1EfBBFFAdeE6cd86B23927434C8) | [View/Download](./abis/84531-competition-OracleManager.json) | +| Spot Market | [0x17633A63083dbd4941891F87Bdf31B896e91e2B9](https://goerli.basescan.org/address/0x17633A63083dbd4941891F87Bdf31B896e91e2B9) | [View/Download](./abis/84531-competition-SpotMarket.json) | +| Perps Market | [0x9863Dae3f4b5F4Ffe3A841a21565d57F2BA10E87](https://goerli.basescan.org/address/0x9863Dae3f4b5F4Ffe3A841a21565d57F2BA10E87) | [View/Download](./abis/84531-competition-PerpsMarket.json) | +| Perps Market Account NFT | [0x518F2905b24AE298Ca06C1137b806DD5ACD493b6](https://goerli.basescan.org/address/0x518F2905b24AE298Ca06C1137b806DD5ACD493b6) | [View/Download](./abis/84531-competition-PerpsAccountNFT.json) | +| Fake Collateral Fake SNX $fSNX | [0xB2b425098CfEe7dc29d7c437f8578EC02c44A5Ed](https://goerli.basescan.org/address/0xB2b425098CfEe7dc29d7c437f8578EC02c44A5Ed) | [View/Download](./abis/84531-competition-FakeCollateralfSNX.json) | + +## Andromeda on Base Goerli + +Chain ID: 84531 + +| System | Address | ABI | +| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | +| Synthetix Core | [0xd7cFdcf6499896a1E15Db92629AAC8085af8B2ac](https://goerli.basescan.org/address/0xd7cFdcf6499896a1E15Db92629AAC8085af8B2ac) | [View/Download](./abis/84531-andromeda-SynthetixCore.json) | +| snxAccount NFT | [0x09190c9Be3e79dF2Cb5DAEA6320f9A1129aD8e8c](https://goerli.basescan.org/address/0x09190c9Be3e79dF2Cb5DAEA6320f9A1129aD8e8c) | [View/Download](./abis/84531-andromeda-snxAccountNFT.json) | +| snxUSD Token | [0xC9ee9628f23b14483EA413C28712690E8D2dC6a3](https://goerli.basescan.org/address/0xC9ee9628f23b14483EA413C28712690E8D2dC6a3) | [View/Download](./abis/84531-andromeda-snxUSDToken.json) | +| Oracle Manager | [0xEC618B8994B76d89EfCD7051BA2D57Dcb6442E95](https://goerli.basescan.org/address/0xEC618B8994B76d89EfCD7051BA2D57Dcb6442E95) | [View/Download](./abis/84531-andromeda-OracleManager.json) | +| Spot Market | [0x41A883a85b1AdE59F41d459Fa550b40fa56429DB](https://goerli.basescan.org/address/0x41A883a85b1AdE59F41d459Fa550b40fa56429DB) | [View/Download](./abis/84531-andromeda-SpotMarket.json) | +| Perps Market | [0xEED61f0CB02f3B38923b1b6EAa939D5f04f431b6](https://goerli.basescan.org/address/0xEED61f0CB02f3B38923b1b6EAa939D5f04f431b6) | [View/Download](./abis/84531-andromeda-PerpsMarket.json) | +| Perps Market Account NFT | [0xfBD08C515DedDa6DbE59611b4bAC2E0f4a250301](https://goerli.basescan.org/address/0xfBD08C515DedDa6DbE59611b4bAC2E0f4a250301) | [View/Download](./abis/84531-andromeda-PerpsAccountNFT.json) | +| Fake Collateral Token $TKN | [0x7056F16f58638253B8A1E5023d67a8CF98000681](https://goerli.basescan.org/address/0x7056F16f58638253B8A1E5023d67a8CF98000681) | [View/Download](./abis/84531-andromeda-FakeCollateralTKN.json) | diff --git a/for-developers/developer-faq.md b/for-developers/developer-faq.md index d3b6a4d..64f650a 100644 --- a/for-developers/developer-faq.md +++ b/for-developers/developer-faq.md @@ -4,15 +4,23 @@ description: A guide to help developers start interacting with Synthetix V3 # Developer FAQ -### General V3 +### General Where can I get assets on OP Goerli? * `ETH`: Optimism Goerli ETH is available from various faucets. We recommend the official [Optimism faucet](https://app.optimism.io/faucet) but there are also [other faucets](https://community.optimism.io/docs/useful-tools/faucets/) available. * `snxETH`: You can wrap OP Goerli ETH into snxETH on "Spot" tab of [the market prototype](https://synthetix-markets-prototype.vercel.app/). This is the easiest way to get assets for testing if you have testnet ETH. -* `snxUSD`: snxETH acquired through wrapping can be sold for snxUSD on the spot market prototype. More info on spot swaps below +* `snxUSD`: snxETH acquired through wrapping can be sold for snxUSD on the spot market prototype. -### **Spot Markets V3** +## Smart Contracts + +* All v3 contracts are under proxy, to find which you have to check the cannon file. +* Cannon is the tooling used to define v3, see [https://usecannon.com/packages/synthetix](https://usecannon.com/packages/synthetix) +* Owner is the address indicated by the `owner` function, depends on network. +* Function to use for enabling feature flag to all is `setFeatureFlagAllowAll` I believe +* Decide any error from v3 with `cannon decode synthetix-omnibus --chain-id 1 {paste 0x error code here}` + +### **Spot Markets** How can I swap assets? diff --git a/for-developers/market-development-guide.md b/for-developers/market-development-guide.md index 7f925f1..f8f5a43 100644 --- a/for-developers/market-development-guide.md +++ b/for-developers/market-development-guide.md @@ -1,8 +1,8 @@ # Market Development Guide -Earlier this year, Synthetix deployed V3, its next generation derivatives platform, to mainnet. A culmination of years of research and experience in creating on-chain derivatives products, the latest version of the protocol consists of a suite of systems and modules. This design allows developers to build custom market implementations for a wide range of financial instruments, such as spot tokens, perpetual futures, options, insurance, and any else, while utilizing the highest degree of decentralized technology currently available. +Synthetix has deployed V3, its next generation derivatives platform to mainnet. A culmination of years of research and experience in creating on-chain derivatives products, the latest version of the protocol consists of a suite of systems and modules. This design allows developers to build custom market implementations for a wide range of financial instruments, such as spot tokens, perpetual futures, options, insurance, and any else, while utilizing the highest degree of decentralized technology currently available. -This is a guide to building a simple number guessing game, implemented as a market on Synthetix V3. The code resulting from this guide can be found [on GitHub](https://github.com/Synthetixio/number-guessing-game). +This is a guide to building a simple number guessing game, implemented as a Market on Synthetix V3. The code resulting from this guide can be found [on GitHub](https://github.com/Synthetixio/number-guessing-game). Before starting, you will need: diff --git a/for-developers/quick-start.md b/for-developers/quick-start.md index 797790d..2430615 100644 --- a/for-developers/quick-start.md +++ b/for-developers/quick-start.md @@ -12,7 +12,9 @@ To export the ABIs and contract addresses for this deployment, run the following npx @usecannon/cli inspect synthetix-sandbox --write-deployments ./deployments ``` -_Remember to always interact with the proxy contracts instead of the router or modules directly._ +{% hint style="info" %} +Remember to always interact with the proxy contracts instead of the router or modules directly. +{% endhint %} Check out the [**Synthetix Sandbox repository**](https://github.com/synthetixio/synthetix-sandbox) to see the specifics of how this node is configured. You can fork the repository, make modifications to the Cannonfile to create different scenarios, and use `SampleIntegration.sol` as a boilerplate for developing smart contract integrations. diff --git a/for-liquidity-pool-managers/creating-and-configuring-pools.md b/for-liquidity-pool-managers/creating-and-configuring-pools.md index 6218168..ec5def6 100644 --- a/for-liquidity-pool-managers/creating-and-configuring-pools.md +++ b/for-liquidity-pool-managers/creating-and-configuring-pools.md @@ -23,6 +23,16 @@ There are a couple scenarios in which a pool's configuration is restricted in ho * The pool configuration change will be prevented if it would leave the total amount of credit capacity provided to a market lower than the amount it returns in its `minimumCredit` function. * The pool configuration cannot be changed unless the minimum collateral delegation duration has elapsed since the last time `setPoolConfiguration` was called for this pool. +### Collateral Configuration + +By default, pools accept all collateral types approved by governance (using the configuration set by governance). Pool owners can set pool-specific collateral configurations using the `setPoolCollateralConfiguration` function. + +`issuanceRatioD18` is a custom issuance ratio for the specified collateral type. The system will always use the greater of this value and the issuance ratio set by governance. (Setting this value to the maximum integer value effectively turns off minting using this collateral type in this pool.) + +`collateralLimitD18` is the maximum total amount of collateral that this pool will accept for the specified collateral type. (Note that if this is less than the `minDelegationD18` value, this pool has opted out of accepting this collateral type.) + +In the pool configuration (not to be confused with the pool _collateral_ configuration), pool owners can set the `collateralDisabledByDefault` value to `true`. In this case, new collateral types cannot be delegated to this pool. The pool owner must set a `collateralLimitD18` value to accept it. In other words, `collateralLimitD18 == 0` means that the pool will accept an unlimited amount of this collateral, unless `collateralDisabledByDefault` is set to `true`. + ### Calculating Credit Capacity[​](https://snx-v3-docs.vercel.app/pools-markets/delegating-credit-and-debt#calculating-credit-capacity) To understand how the pool configuration function works, it's useful to see how it effects the available credit capacity (i.e. amount of withdrawable snxUSD) provided to markets. diff --git a/for-liquidity-pool-managers/rewards-distributors.md b/for-liquidity-pool-managers/rewards-distributors.md index 98b4285..32739f4 100644 --- a/for-liquidity-pool-managers/rewards-distributors.md +++ b/for-liquidity-pool-managers/rewards-distributors.md @@ -20,10 +20,18 @@ A pool owner can then connect a rewards distributor to a vault with the `registe Below is an example Rewards Distributor contract that can be used to develop your own. -{% @github-files/github-code-block url="https://github.com/Synthetixio/example-rewards-distributor" %} +{% @github-files/github-code-block %} + +Below is an example transaction that: + +1. Registers a Rewards Distributor contract +2. to poolId 69 +3. with SNX (on Optimism Goerli) + +{% embed url="https://goerli-optimism.etherscan.io/tx/0xcbc66ab9276aa828149cabbe40c7eb88408d9963664ac37f9f69c4f228a7811e" %} ## Distributing Rewards A registered rewards distributor can call the `distributeRewards` function. The `poolId` and `collateralType` parameters identify the relevant vault. `amount` indicates the total amount of tokens to be distributed starting at the `start` timestamp over `duration` seconds. Note that `duration` may be set to 0, such that the rewards are distributed instantaneously based on the pro-rata distribution at `start`. A rewards distributor can call the `distributeRewards` function multiple times, adding to the rewards already distributed to those participating in the vault. -Anyone can call the `getAvailableRewards` function to see what an account ID can claim from a distributor registered to a specified vault, accounting for amounts previously claimed. Then, an address that owns (or has relevant permissions on) that account can call the `claimRewards` function. This, in turn, calls the `payout` function on the rewards distributor with the appropriate amount. +Anyone can static call the `claimRewards` function to see what an account ID can claim from a distributor registered to a specified vault, accounting for amounts previously claimed. Then, an address that owns (or has relevant permissions on) that account can call the `claimRewards` function. This, in turn, calls the `payout` function on the rewards distributor with the appropriate amount. diff --git a/for-liquidity-providers/liquidity-positions/minting-and-burning-snxusd.md b/for-liquidity-providers/liquidity-positions/minting-and-burning-snxusd.md index 922e874..ebbc1ef 100644 --- a/for-liquidity-providers/liquidity-positions/minting-and-burning-snxusd.md +++ b/for-liquidity-providers/liquidity-positions/minting-and-burning-snxusd.md @@ -3,7 +3,7 @@ The protocol generates **snxUSD**, a decentralized, over-collateralized stablecoin backed by the collateral deposited in the Synthetix protocol. snxUSD is an ERC-20 token used by markets integrated with Synthetix. {% hint style="info" %} -**Currently on Testnet:** snxUSD is integrated with [Chainlink's CCIP](https://chain.link/cross-chain) to allow for secure, decentralized cross-chain transfers of snxUSD between networks with a Synthetix deployment. +Minting and burning effects an account's available balance. snxUSD must be deposited before minting and withdrawn after burning. {% endhint %} Once a liquidity position has been created by delegating collateral, liquidity providers can take out an interest-free loan of snxUSD by "minting" it. snxUSD is minted by calling the `mintUsd` function. The debt of the position increases by $1 for each snxUSD token minted. @@ -11,3 +11,7 @@ Once a liquidity position has been created by delegating collateral, liquidity p Liquidity providers may not mint snxUSD such that their position’s c-ratio drops below the Issuance C-Ratio for the relevant collateral type. The Issuance C-Ratio for each collateral type is set by governance. The `getCollateralConfiguration` function will return the Issuance C-ratio, represented as an integer with 18 decimal places. snxUSD can also be used to repay loans by "burning" it. snxUSD is burned by calling the `burnUsd` function. This decreases the debt of a position by $1 per snxUSD burned, regardless of whether this debt was accrued from minting snxUSD or from debt distributed to it by a market. To reduce the collateral delegated to a position, debt must be repaid such that the resulting C-Ratio is above the Issuance C-Ratio. + +{% hint style="info" %} +snxUSD is integrated with [Chainlink's CCIP](https://chain.link/cross-chain) to allow for secure, decentralized cross-chain transfers of snxUSD between networks with a Synthetix deployment. +{% endhint %} diff --git a/for-perp-integrators/base-andromeda.md b/for-perp-integrators/base-andromeda.md new file mode 100644 index 0000000..51b1ea7 --- /dev/null +++ b/for-perp-integrators/base-andromeda.md @@ -0,0 +1,123 @@ +--- +description: Evolving reference for Core V3 + Perps V3 on Base +--- + +# Base Andromeda + +{% hint style="info" %} +### INTERIM timeline + +* Week beginning Nov 6th: Perps V3 starting audit ✅ +* Week beginning Nov 13th: Andromeda 3.3.3 on [Base Goerli](https://usecannon.com/packages/synthetix-omnibus/latest/84531-andromeda) ✅ +* Week beginning Nov 20th: Andromeda 3.4.0 on Base mainnet 🚧 +* Week beginning Dec 4th: Andromeda 3.5.0 on Base mainnet (pending Perp audit) +* TBC: Public launch of Andromeda on Base mainnet and announcements +{% endhint %} + +## Introduction + +Andromeda is the combination of + +* Core V3 +* Perps V3 +* USDC as collateral + +The Spot Market is included, but only to be used as a mechanism to exchange the assets brought by traders and LPs (USDC) for the internal accounting tokens (sUSDC and sUSD). + +## Configuration + +* Unique to Andromeda Base is the use of a USDC wrapper, enabling USDC to appear to be used as collateral for LPs, and as margin as perp traders. +* Underneath, USDC is wrapped and or traded into sUSDC for LP collateral (and collecting fees), and sUSD as perp margin +* The full configuration of Base Goerli can be seen [on Cannon](https://usecannon.com/packages/synthetix-omnibus/3.3.3-dev.e141cd8c/84531-andromeda) +* Configuration explained: + * [this is the part](https://github.com/Synthetixio/synthetix-deployments/pull/66/files#diff-dc0e4e9b2b24d1fcf9c5a8ffd5b5548955777eff55c71dd0ab208dc04e84a89b) that deploys sUSDC (a USDC synth) and creates the spot market + * USDC <-> sUSDC can be wrapped/unwrapped on the spot market + * sUSD <-> sUSDC can be bought/sold on the spot market + * No fee on these, all atomic so can be composed with multicalls +* _Coming: Andromeda Base Sandbox - in the meantime see the more general_ [sandbox-with-perps.md](sandbox-with-perps.md "mention") _can be used once USDC is wrapped and swapped to sUSD_ + +// TODO: [https://github.com/pyth-network/pyth-sdk-solidity/blob/main/MockPyth.sol](https://github.com/pyth-network/pyth-sdk-solidity/blob/main/MockPyth.sol) + +{% embed url="https://usecannon.com/packages/synthetix-omnibus/latest/84531-andromeda" %} +Base Goerli Andromeda +{% endembed %} + +## For LPs + +LPs can arrive with USDC to provide liquidity (LP). The contracts or integrators need to: + +1. Wrap USDC to sUSDC on the Spot Market + 1. Function: `SpotMarketProxy.wrap(marketId, wrapAmount, amountReceived)` + 2. Example: `wrap(1, 1000000000000000000, 1000000000000000000)` +2. Deposit sUSDC to Pool +3. Delegate sUSDC to Market + +// TODO: are fees in sUSD and need to be swapped back to USDC? + +When withdrawing, initial collateral plus any fees can be withdrawn, then unwrapped from sUSDC to USDC. + +## For Traders/Integrators + +Integrators can create a seamless trading experience using USDC by utilizing the wrapper and spot market. Since `USDC-sUSDC` and `sUSDC-sUSD` exchanges are both 1:1 swaps, integrators can easily create a "zap" between USDC in their wallet and their account margin. + +### **Prerequisites** + +An account must meet the following requirements to execute USDC transfers between their wallet and a perps account. + +**Deposit:** + +* Holds an account NFT for perps +* Approve `SpotMarketProxy` to transfer USDC +* Approve `SpotMarketProxy` to transfer sUSDC +* Approve `PerpsMarketProxy` to transfer sUSD + +**Withdraw:** + +* Account NFT has some withdrawable margin +* Approve `SpotMarketProxy` to transfer sUSD +* Approve `SpotMarketProxy` to transfer sUSDC + +### Preparing the Transactions + +If you meet these requirements you can prepare a multicall to execute in a single transaction. Use `marketId = 1` for `sUSDC`. Matching values like `wrapAmount` and `amountReceived` in the transactions will guarantee this 1:1 swap. + +All transactions should be prepared as a multicall and sent to the `TrustedMulticallForwarder` contracts using `aggregate3Value`. + +**Deposit:** + +1. `USDC -> sUSDC` - Wrap USDC on the spot market + 1. Function: `SpotMarketProxy.wrap(marketId, wrapAmount, amountReceived)` + 2. Example: `wrap(1, 1000000000000000000, 1000000000000000000)` +2. `sUSDC -> sUSD` - Sell sUSDC for sUSD on the spot market + 1. Function: `SpotMarketProxy.sell(marketId, synthAmount, minUsdAmount, referrer)` + 2. Example: `sell(1, 1000000000000000000, 1000000000000000000, 0x0000000000000000000000000000000000000000)` +3. Deposit sUSD + 1. Function: `PerpsMarketProxy.modifyCollateral(accountId, synthMarketId, amountDelta)` + 2. Example: `modifyCollateral(12345, 0, 1000000000000000000)` + +**Withdraw:** + +1. Withdraw sUSD + 1. Function: `PerpsMarketProxy.modifyCollateral(accountId, synthMarketId, amountDelta)` + 2. Example: `modifyCollateral(12345, 0, -1000000000000000000)` +2. `sUSD -> sUSDC` - Buy sUSDC on the spot market + 1. Function: `SpotMarketProxy.buy(marketId, usdAmount, minAmountReceived, referrer)` + 2. Example: `buy(1, 1000000000000000000, 1000000000000000000, 0x0000000000000000000000000000000000000000)` +3. `sUSDC -> USDC` - Unwrap sUSDC on the spot market + 1. Function: `SpotMarketProxy.unwrap(marketId, unwrapAmount, minAmountReceived)` + 2. Example: `unwrap(1, 1000000000000000000, 1000000000000000000)` + +**Sample Transactions** + +* [Deposit](https://goerli.basescan.org/tx/0x95461a5b05c40c91c952bc06b0d292ec16ffd0c750a7b708a8564183b9b08cf4) +* [Withdraw](https://goerli.basescan.org/tx/0x4b6d29faaa75223fe1d690993c5e93ef316fc823385cbc52f505927f65702319) + +### Notable changes from Testnet Competition + +* Interface: [Staleness Tolerance](https://github.com/Synthetixio/synthetix-v3/pull/1860) +* Keepers: [Gas based keeper rewards](https://github.com/Synthetixio/synthetix-v3/pull/1890) + +### Notable recent changes + +{% embed url="https://rattle-ticket-183.notion.site/Perps-andromeda-branch-changes-512cf7a6c696463da0980907f00511ea?pvs=4" %} + diff --git a/for-perp-integrators/perps-v3-keeper.md b/for-perp-integrators/perps-v3-keeper.md new file mode 100644 index 0000000..8266d20 --- /dev/null +++ b/for-perp-integrators/perps-v3-keeper.md @@ -0,0 +1,5 @@ +# Perps V3 Keeper + +{% embed url="https://github.com/Synthetixio/sample-v3-keeper/tree/main" %} +Template Perps V3 Keeper +{% endembed %} diff --git a/for-perp-integrators/perps-v3.md b/for-perp-integrators/perps-v3.md new file mode 100644 index 0000000..c227c74 --- /dev/null +++ b/for-perp-integrators/perps-v3.md @@ -0,0 +1,301 @@ +# Perps V3 + +{% hint style="info" %} +Perps V3 is in late stages of development, so minor changes and updates are possible +{% endhint %} + +### Perps V3.0 features and updates + +* Cross margin: account margin can be used across multiple positions on markets +* Only async (delayed offchain) orders: atomic orders can be gamed very easily by front runners; async orders seems to be the way forward in general. +* No order cancellation: you couldn't cancel within settlement window anyway so it was pointless to add cancel after the order has expired. Removed one extra action for keepers to perform and LPs to pay for. +* Accounts with Role Based Access Control for modifying collateral, opening/closing positions - enabling full extensibility and composability. +* Improved liquidations and no more endorsed liquidators +* Constraints to note + * Single position per market + * Single pending order + +{% embed url="https://github.com/Synthetixio/synthetix-v3/tree/main/markets/perps-market" %} + +### Changes from Perps v2 + +### Expected features for future versions + +* Multi collateral: accepts any synths configured in the system as margin for an account + +## Workflow + +### Factory Owner + +* Each proxy is considered to be one “supermarket”, and is initialized with the factory owner as the owner of this supermarket. The supermarket consists of a set of markets that it controls for which cross margin is applied. Each account that’s created is scoped to the supermarket and cannot be used on other supermarkets. +* Supermarkets can only be initialized once which registers them with the Core system using the following call (returns the registered market id with core system): + +```solidity +function initializeFactory() external returns (uint128); +``` + +* Owner can set other global parameters that apply to all markets: + +[synthetix-v3/GlobalPerpsMarketConfiguration.sol at main · Synthetixio/synthetix-v3](https://github.com/Synthetixio/synthetix-v3/blob/main/markets/perps-market/contracts/storage/GlobalPerpsMarketConfiguration.sol) + +#### Create perps market: + +```solidity + function createMarket( + uint128 requestedMarketId, + string memory marketName, + string memory marketSymbol + ) external returns (uint128); +``` + +* Two markets have been created on OP Goerli so far: + * `100`: ETH market + * `200`: BTC market + +#### Set configuration parameters + +* If you need the configuration of any of the above created markets, here are the functions you can call: + +```solidity +function getSettlementStrategy( + uint128 marketId, + uint256 strategyId + ) external view returns (SettlementStrategy.Data memory settlementStrategy); + +function getLiquidationParameters( + uint128 marketId + ) + external + view + returns ( + uint256 initialMarginRatioD18, + uint256 minimumInitialMarginRatioD18, + uint256 maintenanceMarginScalarD18, + uint256 liquidationRewardRatioD18, + uint256 maxLiquidationLimitAccumulationMultiplier, + uint256 maxSecondsInLiquidationWindow, + uint256 minimumPositionMargin + ); + +function getFundingParameters( + uint128 marketId + ) external view returns (uint256 skewScale, uint256 maxFundingVelocity); + +function getMaxMarketSize(uint128 marketId) external view returns (uint256 maxMarketSize); + +function getOrderFees( + uint128 marketId + ) external view returns (uint256 makerFeeRatio, uint256 takerFeeRatio); + +function getLockedOiRatio(uint128 marketId) external view returns (uint256 lockedOiRatioD18); +``` + +[synthetix-v3/PerpsMarketConfiguration.sol at main · Synthetixio/synthetix-v3](https://github.com/Synthetixio/synthetix-v3/blob/main/markets/perps-market/contracts/storage/PerpsMarketConfiguration.sol#L21) + +#### Add settlement strategy for async orders: + +```solidity + function addSettlementStrategy( + uint128 marketId, + SettlementStrategy.Data memory strategy + ) external returns (uint256 strategyId); +``` + +* A strategy has been added on OP goerli. You can always query `getSettlementStrategy` to get the details. + +## Trader + +#### Create account: + +`function createAccount(uint128 requestedAccountId) external;` + +* Re-using the `AccountModule` from v3 core system which comes packaged with RBAC. +* The account owner can delegate **`PERPS_MODIFY_COLLATERAL`** role to another address using: + +```solidity + function grantPermission( + uint128 accountId, + bytes32 permission, + address user + ) external +``` + +#### Modify collateral: + +```solidity +function modifyCollateral(uint128 accountId, uint128 synthMarketId, int amountDelta) external; +``` + +* Use `0` as `synthMarketId` for snxUSD. +* Use any other synth that has a `maxCollateralAmount` set by owner of factory to add to account’s margin. +* By providing a negative `amountDelta`, you are able to withdraw collateral of your choosing. + + Note: there are checks in place to ensure you cannot remove more than the required maintenance margin. + +#### Commit Order: + +```solidity + function commitOrder( + AsyncOrder.OrderCommitmentRequest memory commitment + ) + + struct OrderCommitmentRequest { + /** + * @dev Order market id. + */ + uint128 marketId; + /** + * @dev Order account id. + */ + uint128 accountId; + /** + * @dev Order size delta (of asset units expressed in decimal 18 digits). It can be positive or negative. + */ + int128 sizeDelta; + /** + * @dev Settlement strategy used for the order. + */ + uint128 settlementStrategyId; + /** + * @dev Acceptable price set at submission. Compared against the fill price. + */ + uint256 acceptablePrice; + /** + * @dev An optional code provided by frontends to assist with tracking the source of volume and fees. + */ + bytes32 trackingCode; + /** + * @dev Referrer address to send the referrer fees to, if configured. + */ + address referrer; + } +``` + +* `sizeDelta` is the change in size of the position. Can determine long/short based on this value. +* A settlement strategy is required in order to commit orders. Here’s an example of one that uses a pyth offchain settlement strategy: + +```solidity +strategy: { + strategyType: 0, + settlementDelay: bn(5), + settlementWindowDuration: bn(120), + priceVerificationContract: 0xff1a0f4744e8582DF1aE09D5611b887B6a12925C, + feedId: 0xca80ba6dc32e08d06f1aa886011eed1d77c77be9eb761cc10d72b7d0a2fd57a6, // op goerli + url: "", // testnet + settlementReward: bn(5), + priceWindowDuration: bn(240), + disabled: false, +} +``` + +## Liquidation Keepers + +* Call either: + * `function liquidate(uint128 accountId) external` + * If the account is already flagged for liquidation, the call will proceed with liquidating as much of the account’s position as possible. + * If the account is not, it will check if the account is eligible and proceed to liquidate. + * Otherwise, the call reverts. + * `function liquidateFlagged() external` + * Iterates through all accounts flagged for liquidation and attempts to liquidate. + * Gas could be high but so are the rewards 💰 + +## Settlement Keepers + +* `function settle(uint128 marketId, uint128 accountId) external` + * if the order is valid and within settlement window, this function will settle the order and update its accounting of the new position. + +### Other Notes: + +#### Liquidation Margins + +An account is subject to margin requirements as determined by the following values configurable for each market: + +```solidity +uint256 initialMarginFraction; +uint256 minimumInitialMarginFraction; +uint256 maintenaceMarginScalar; +uint256 liquidationMarginRatio; +``` + +When opening a position on a given market, the initial margin requirement is a fraction of the notional value. The fraction is determined by calculating the size’s impact on the skew (position size / skewScale), multiplied by the `initialMarginFraction`plus the `minimumInitialMarginScalar`. + +Once a positive is live, the liquidation threshold is determined by the `maintenceMargin`which is the initialMargin requirement multiplied by the configured `maintenceMarginScalar`. + +To determine if an account is liquidatable, the account’s `availableMargin` must be greater than all calculated maintenance margins combined for each market the account has a position open. The maintenance margin also includes the liquidation settlement reward configured per market as a % of the notional size being liquidated. + +`availableMargin` is determined by subtracting any unrealized pnl to the available collateral margin. + +Available functions that will come in handy: + +```solidity +// returns account's available margin taking into account positions unrealized pnl +function getAvailableMargin(uint128 accountId) external view returns (int256 availableMargin); + +// returns how much a trader can withdraw from their account based on margin requirements and avialable collateral +function getWithdrawableMargin( + uint128 accountId + ) external view returns (int256 withdrawableMargin); + +// returns the current margin requirements for the given account id +function getRequiredMargins( + uint128 accountId + ) + external + view + returns ( + uint256 requiredInitialMargin, + uint256 requiredMaintenanceMargin, + uint256 totalAccumulatedLiquidationRewards, + uint256 maxLiquidationReward + ); +``` + +#### Estimate Order Validity + +There are some functions you can call initially to determine if an order will go through: + +```solidity +// for a given sizeDelta, will return how much total account margin is required +function requiredMarginForOrder( + uint128 marketId, + uint128 accountId, + int128 sizeDelta + ) external view returns (uint256 requiredMargin); + +// useful to show the order fees that would be incurred for a given sizeDelta +function computeOrderFees( + uint128 marketId, + int128 sizeDelta + ) external view returns (uint256 orderFees, uint256 fillPrice); +``` + +#### Max Liquidatable Amount + +Each market has parameters that dictate how much can be liquidated at any given point. + +```solidity +uint256 maxSecondsInLiquidationWindow; +uint256 maxLiquidationLimitAccumulationMultiplier; +``` + +The equation for max liquidation per second is as follows: + +```solidity +maxLiquidationAmountPerSecond = (makerFee + takerFee) * skewScale * maxLiquidationLimitAccumulationMultiplier +``` + +_Note_: _the multiplier is an additional way to limit max liquidation amount per market._ + +Based on the configured window, `maxSecondsInLiquidationWindow`, and `maxLiquidationAmountPerSecond`, the max liquidatable amount in any given window is: + +`maxSecondsInLiquidationWindow * maxLiquidationAmountPerSecond` + +Example: + +```solidity +ETH Market: +maxLiquidationAmountPerSecond = 100 ETH +maxSecondsInLiquidationWindow = 5 seconds +``` + +In this scenario, a max of `500 ETH`can be liquidated in a 5 second window. diff --git a/for-perp-integrators/sandbox-with-perps.md b/for-perp-integrators/sandbox-with-perps.md new file mode 100644 index 0000000..951ea2e --- /dev/null +++ b/for-perp-integrators/sandbox-with-perps.md @@ -0,0 +1,5 @@ +# Perp V3 Integrators + +If you are looking to build a front end, or integrate your protocol with Perps V3, you've found the right place. Below is a sandbox that takes care of settings up the core system, along with mock collateral, price oracles and other automation. + +{% embed url="https://github.com/Synthetixio/synthetix-v3/tree/main/sandboxes/with-perps" %} diff --git a/v3-frequently-asked-questions-faq.md b/v3-frequently-asked-questions-faq.md new file mode 100644 index 0000000..8dd5ce3 --- /dev/null +++ b/v3-frequently-asked-questions-faq.md @@ -0,0 +1,134 @@ +# V3 Frequently Asked Questions (FAQ) + +Welcome to the V3 Frequently Asked Questions (FAQ) section. This guide is designed to address common questions regarding the V3 release of Synthetix. As the platform evolves, expect this section to see regular updates and revisions to ensure clarity and up-to-date information for our community. + +
+ +Who is Synthetix V3 built for? + +**Answer:** Synthetix V3 is built with both LPs and derivatives projects in mind. + +Derivatives projects will be able to tap into Synthetix liquidity both through existing markets like Perps and Spot Synths, or by building their own derivatives markets. We’ve explored some of the opportunities for new markets, like options, insurance funds, sports AMMs and more, all of which will be able to leverage existing Synthetix liquidity to bootstrap trading activity. + +LPs will have greater flexibility to allocate collateral to markets based on their risk profile. As mentioned in another answer, the new Pool and Vault system has two key benefits for LPs: + +1. Better risk management: Users can select one of many liquidity pools, which are connected to one or more markets, allowing more fine-tuned control of LP risk. +2. Wider collateral range: The V3 system is oracle agnostic, allowing any governance-approved asset to serve as collateral for borrowing sUSD and delegate to derivative markets. + +
+ +
+ +How is SNX staking evolving with V3? + +**Answer:** The power is with stakers in V3, thanks to multi-collateral staking and permissionless pools. V3 creates a generalized system agnostic to collateral type. Liquidity providers can deposit any governance-approved collateral into Pools, which is then used to provide liquidity to derivative markets. In the future, the creation of markets and vaults will be permissionless, giving liquidity providers fine-tune control of their market exposure. + +The new Pool and Vault system has two key benefits: + +1. Better risk management: Users can select one of many liquidity pools, which are connected to one or more markets, allowing more fine-tuned control of LP risk. +2. Wider collateral range: The V3 system is collateral agnostic, allowing any governance-approved asset to serve as collateral for borrowing sUSD and delegate to derivative markets. + +Stakers have an increasing range of Pools to allocate their capital. This gives stakers more control over their collateral as the V3 system provides many more options for fine-tuned control. + +
+ +
+ +What types of collateral will there be outside of SNX? + +**Answer:** The V3 system is created to be entirely agnostic to collateral; any ERC-20 with sufficient price feed can be added as collateral. Synthetix governance will determine which assets to support in addition to SNX. + +Synthetix V3 features a generalized collateral vault system that is agnostic to collateral types. Over time, Synthetix Governance will determine which assets to support as collateral in addition to the current SNX (staking) and ETH (wrappers). Multi-collateral staking will increase sUSD liquidity and the markets supported by Synthetix. Collateral options will have adjustable variables, such as collateral requirements and rewards, which can be adjusted by governance. + +
+ +
+ +What is the cross-chain vision for Synthetix? + +**Answer**: The endstate goal of cross-chain Synthetix is to power derivative markets on any governance-approved EVM chain with a fully interoperable system. This will allow Synthetix-powered protocols to onboard traders on any chain and deliver the same low-fee deep liquidity trading experience to new users. + +As of Oct 2023, Governance is exploring an initial deployment plan on Base Network to experiment with new collateral types, fee sharing, and V3 markets. + +
+ +
+ +How is V3 different from other derivatives platforms? + +**Answer:** Simply put, Synthetix V3 isn’t like any other derivatives protocol because it isn’t a derivatives protocol. Instead, Synthetix is a liquidity layer that helps to power derivative protocols with its infrastructure and liquidity. This is a new era of Synthetix. New architecture, new premise, and a fundamentally new offering: _the liquidity layer for defi._ + +Synthetix will power a multi-market ecosystem, encompassing perpetual futures, spot, options, insurance, exotics, and more, all backed by Synthetix Liquidity. With this vision, V3 paves the way for a new generation of derivative markets, where builders can leverage the protocol and bootstrap their communities for success - a new and exciting premise for Synthetix and the Ethereum ecosystem. + +The liquidity-as-a-service model appeals to new DeFi protocols seeking increased liquidity for on-chain derivatives so they can build on Synthetix easily and efficiently. With Synthetix Perps as an example, frontend integrators like Kwenta and Polynomial utilize Synthetix’ liquidity to power perps trading, boasting deep liquidity and historically low fees. Off-chain oracles reduce fees to 5-10bps, and risk management tools ensure market neutrality over the long term. These features combine to ensure Synthetix leads the way in decentralized derivatives. + +
+ +
+ +Why should projects integrate with Synthetix Liquidity? + +**Answer:** Launching a derivatives protocol can be challenging, with teams often faced with the cold-start problem – not enough liquidity to attract users, and not enough users to attract liquidity providers. With Synthetix, developers can create new markets and seamlessly attract liquidity. In this way, almost any derivative protocol can be built on top of Synthetix V3, as opposed to building from the ground up. Learn more on how protocols can integrate with Synthetix V3 [here](https://docs.synthetix.io/v/v3/). + +
+ +
+ +What are the main challenges for users Synthetix foresees as the protocol transitions from V2 to V3? + +**Answer:** The transition from V2 to V3 is intended to improve the user experience with Synthetix by giving more flexibility in how LPs allocate their collateral and which derivatives markets builders can integrate with the system. + +In the beginning of the transition, Synthetix will set up the Spartan Council Pool, which will include all legacy positions from V2 and will back Perps V3 and Spot Synths. The liquidity provisioning experience in this period should remain similar to what users currently experience on V2. As V3 becomes more built out, with permissionless markets tapping into permissionless liquidity pools, users will have a greater selection of how and where to allocate their collateral. + +Further as we transition to V3, there will be two non-fungible USD stablecoins that will be live at the same time. Users should be aware that any markets built on the V3 system will be using the new stablecoin and that external pools or integrations may require an update to the new version. + +
+ +
+ +What will change in V3 Perps? + +**Answer:**\ +\ +Building on the successes of Perps V2, V3 introduces several upgrades to improve the trading and developer experience: + +* Multi Collateral: Supports multiple collateral types, currently limited to synths registered with the V3 spot market; this is expected to include sUSD, sETH, sBTC, and other governance-approved spot synths. +* Cross margin: account margin can be used across positions on markets natively rather than via smart wallets with front-end integrators. +* Account-Based Access Controls: Enables delegation of account permissions, such as modifying collateral and managing positions, to additional addresses, enhancing extensibility and composability. +* Liquidation Improvements: Implements gradual, non-sandwichable liquidation of large positions, with configurable delays between partial liquidations. +* Deterministic Settlements: Improves the settlement process to ensure that the execution price is the earliest valid price post-commitment, minimizing the impact of network congestion. +* Key limitations + * Single position per market (same as v2) + * Only async orders (no other order types) (delayed offchain orders) + * Single pending order + * No cancellation of orders; once order is expired, a new order can be placed. + +
+ +
+ +What tooling and resources are available for building on Synthetix V3? + +**Answer:** Synthetix will offer a variety of resources for builders looking to integrate with the V3 system. To start, all builders should review our documentation here: [https://docs.synthetix.io/v/v3/](https://docs.synthetix.io/v/v3/). This repository should contain all the relevant contracts, guides, and FAQs for building on top of Synthetix. + +Developers can use [Cannon](https://t.co/hcGnoDWtND), a tool for managing protocol deployments that is built and maintained by Synthetix core contributors.\ +\ +SDKs are also being developed to interface with Synthetix Perps. + +
+ +
+ +Are there any significant differences between sUSD and snxUSD? + +**Answer:** There will not be significant differences between sUSD and snxUSD (note that once V3 is fully live, sUSD will be the new stablecoin, and sUSDLegacy will be what is currently called sUSD from our V2 systems). sUSD and snxUSD will be non-fungible with one another, as they are generated by different versions of Synthetix. + +
+ +
+ +How will oracles be used permissionlessly in V3? + +**Answer:** Synthetix V3 will maintain agnostic oracle management for markets. This means market creators can choose from multiple oracle solutions, including Chainlink and Pyth, to set up custom aggregation - giving them more control over the oracles that power their markets. The oracle manager opens up new opportunities for supporting new markets and assets. + +