├── .circleci
└── config.yml
├── .eslintignore
├── .eslintrc.js
├── .github
└── README.md
├── .gitignore
├── .nvmrc
├── .prettierignore
├── .prettierrc
├── .yarn
└── releases
│ └── yarn-4.6.0.cjs
├── .yarnrc.yml
├── CHANGELOG.md
├── DECISIONS.md
├── README.md
├── babel.config.js
├── codecov.yml
├── docs
├── move-to-monorepo-merge.png
└── move-to-monorepo.png
├── jest.config.js
├── jest.global.js
├── package.json
├── packages
├── contracts-interface
│ ├── README.md
│ ├── babel.config.json
│ ├── examples
│ │ ├── browser-example.html
│ │ └── index.js
│ ├── package.json
│ ├── src
│ │ ├── constants.ts
│ │ ├── index.test.ts
│ │ ├── index.ts
│ │ ├── synthetix.d.ts
│ │ └── types.ts
│ ├── tsconfig.json
│ └── webpack.config.js
├── optimism-networks
│ ├── babel.config.json
│ ├── package.json
│ ├── src
│ │ ├── constants.ts
│ │ ├── index.ts
│ │ ├── optimism-networks.test.ts
│ │ ├── switch-to-l1.test.ts
│ │ ├── switch-to-l2.test.ts
│ │ └── types.ts
│ └── tsconfig.json
├── providers
│ ├── README.md
│ ├── babel.config.json
│ ├── package.json
│ ├── src
│ │ ├── constants.test.ts
│ │ ├── constants.ts
│ │ ├── index.ts
│ │ └── types.ts
│ └── tsconfig.json
└── queries
│ ├── README.md
│ ├── __mocks__
│ ├── @snapshot-labs
│ │ └── snapshot.js.ts
│ └── graphql-request.ts
│ ├── babel.config.js
│ ├── codegen.js
│ ├── package.json
│ ├── pull-subgraphs.sh
│ ├── src
│ ├── abis
│ │ ├── ERC20.json
│ │ ├── ERC20.ts
│ │ ├── ElectionModule.json
│ │ └── ElectionModule.ts
│ ├── constants.ts
│ ├── context.ts
│ ├── contracts
│ │ ├── Ambassador.ts
│ │ ├── CouncilDilution.ts
│ │ ├── Grants.ts
│ │ ├── OptimismGasPriceOracle.ts
│ │ ├── Spartan.ts
│ │ ├── Treasury.ts
│ │ └── index.ts
│ ├── currency.ts
│ ├── index.ts
│ ├── mutations
│ │ ├── errorToErrorMessage.test.ts
│ │ ├── errorToErrorMessage.ts
│ │ ├── useContractTxn.ts
│ │ ├── useEVMTxn.test.ts
│ │ ├── useEVMTxn.ts
│ │ └── useSynthetixTxn.ts
│ ├── queries
│ │ ├── debt
│ │ │ ├── useGetDebtDataQuery.ts
│ │ │ ├── useGetDebtL1.ts
│ │ │ ├── useGetDebtL2.ts
│ │ │ └── useGetDebtTimeseries.ts
│ │ ├── delegate
│ │ │ ├── useGetAuthoriserWallets.ts
│ │ │ └── useGetDelegateWallets.ts
│ │ ├── escrow
│ │ │ ├── useEscrowDataQuery.ts
│ │ │ └── useTokenSaleEscrowQuery.ts
│ │ ├── gov
│ │ │ ├── constants.ts
│ │ │ ├── useActiveProposalsQuery.ts
│ │ │ ├── useGetElectionsPeriodStatus.ts
│ │ │ ├── useGetSpartanCouncil.ts
│ │ │ ├── useHasVotedForElectionsQuery.ts
│ │ │ ├── useProposalQuery.ts
│ │ │ ├── useProposalsQuery.ts
│ │ │ ├── useSnapshotSpaceQuery.ts
│ │ │ ├── useVotingWeightQuery.ts
│ │ │ └── utils.ts
│ │ ├── liquidations
│ │ │ └── useGetLiquidationDataQuery.ts
│ │ ├── misc
│ │ │ └── useTokenListQuery.ts
│ │ ├── network
│ │ │ ├── useEthGasPriceQuery.test.ts
│ │ │ └── useEthGasPriceQuery.ts
│ │ ├── ovm-bridge
│ │ │ └── useIsBridgeActiveQuery.ts
│ │ ├── rates
│ │ │ ├── useCandlesticksQuery.ts
│ │ │ ├── useExchangeRatesQuery.test.ts
│ │ │ ├── useExchangeRatesQuery.ts
│ │ │ ├── useSynthMarketCapQuery.ts
│ │ │ └── utils.ts
│ │ ├── shorts
│ │ │ └── useShortsQuery.ts
│ │ ├── staking
│ │ │ ├── useClaimableRewardsQuery.ts
│ │ │ ├── useGetFeePoolDataQuery.ts
│ │ │ ├── useGlobalStakingInfoQuery.ts
│ │ │ └── useSNXData.ts
│ │ ├── synths
│ │ │ ├── useExchangeFeeRateQuery.ts
│ │ │ ├── useFeeReclaimPeriodQuery.ts
│ │ │ ├── useFeeReclaimPeriodsQuery.ts
│ │ │ ├── useGetSynthsByName.ts
│ │ │ ├── useRedeemableDeprecatedSynthsQuery.ts
│ │ │ ├── useSynthSuspensionQuery.ts
│ │ │ ├── useSynthsTotalSupplyQuery.ts
│ │ │ └── useTotalIssuedSynthsExcludeOtherCollateralQuery.ts
│ │ ├── systemStatus
│ │ │ └── useIsSystemOnMaintenance.ts
│ │ └── walletBalances
│ │ │ ├── useETHBalanceQuery.ts
│ │ │ ├── useSynthsBalancesQuery.test.ts
│ │ │ ├── useSynthsBalancesQuery.ts
│ │ │ └── useTokensBalancesQuery.ts
│ ├── subgraph
│ │ ├── exchangerSubgraphFunctions.ts
│ │ ├── exchangerSubgraphQueries.ts
│ │ ├── exchangesSubgraphFunctions.ts
│ │ ├── exchangesSubgraphQueries.ts
│ │ ├── issuanceSubgraphFunctions.ts
│ │ ├── issuanceSubgraphQueries.ts
│ │ ├── mainSubgraphFunctions.ts
│ │ ├── mainSubgraphQueries.ts
│ │ └── queryFuncs.ts
│ ├── testUtils.ts
│ ├── types.ts
│ ├── utils.test.ts
│ └── utils.ts
│ ├── subgraphs
│ ├── exchanger.json
│ ├── exchanges.json
│ ├── issuance.json
│ └── main.json
│ └── tsconfig.json
├── svgo.json
├── tools
├── codegen-graph-ts
│ ├── .eslintrc
│ ├── .gitignore
│ ├── README.md
│ ├── babel.config.json
│ ├── modules.d.ts
│ ├── package.json
│ ├── src
│ │ ├── gen
│ │ │ ├── constants.ts
│ │ │ ├── exchanges.test.ts
│ │ │ ├── index.ts
│ │ │ ├── methods
│ │ │ │ ├── index.ts
│ │ │ │ ├── plain.ts
│ │ │ │ └── react-query.ts
│ │ │ ├── segments
│ │ │ │ └── body.ts
│ │ │ ├── types.ts
│ │ │ ├── util.test.ts
│ │ │ └── util.ts
│ │ └── index.ts
│ ├── tests
│ │ ├── exchanges.json
│ │ └── exchanges.ts
│ └── tsconfig.json
├── deps
│ ├── .eslintrc
│ ├── circular.js
│ ├── deps.js
│ ├── lib
│ │ ├── colors.js
│ │ ├── exec.js
│ │ └── workspaces.js
│ ├── mismatched.js
│ ├── package.json
│ └── version.js
├── generate-subgraph-query
│ ├── babel.config.json
│ ├── package.json
│ ├── src
│ │ ├── gql.test.ts
│ │ ├── gql.ts
│ │ └── index.ts
│ └── tsconfig.json
└── safe-import
│ ├── index.js
│ ├── package.json
│ ├── safeImport.js
│ └── safeLazy.js
├── tsconfig.base.module.json
├── tsconfig.base.references.json
├── v1
├── components
│ └── Card
│ │ ├── Card.tsx
│ │ ├── CardBody.tsx
│ │ ├── CardHeader.tsx
│ │ ├── index.ts
│ │ └── package.json
└── lib
│ ├── constantsUi
│ ├── constantsUi.ts
│ ├── index.ts
│ └── package.json
│ ├── media
│ ├── index.ts
│ ├── media.ts
│ └── package.json
│ └── styles
│ ├── index.ts
│ ├── package.json
│ └── styles.tsx
├── v2
├── components
│ ├── BalanceBox
│ │ ├── BalanceBox.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── BoxLink
│ │ ├── BoxLink.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── Burn
│ │ ├── Burn.tsx
│ │ ├── BurnHeader.tsx
│ │ ├── BurnLinks.tsx
│ │ ├── BurnTransactionModal.tsx
│ │ ├── index.tsx
│ │ ├── layout.ts
│ │ └── package.json
│ ├── BurnStats
│ │ ├── BurnStats.tsx
│ │ ├── index.tsx
│ │ └── package.json
│ ├── CRatioBanner
│ │ ├── CRatioBanner.cy.tsx
│ │ ├── CRatioBanner.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── CRatioBox
│ │ ├── CRatioBox.cy.tsx
│ │ ├── CRatioBox.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── CRatioHealthCard
│ │ ├── CRatioHealthCard.cy.tsx
│ │ ├── CRatioHealthCard.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── CRatioHealthPercentage
│ │ ├── CRatioHealthPercentage.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── CRatioProgressBar
│ │ ├── CRatioProgressBar.cy.tsx
│ │ ├── CRatioProgressBar.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── CountDown
│ │ ├── CountDown.cy.tsx
│ │ ├── CountDown.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── DeprecationBanner
│ │ └── DeprecationBanner.tsx
│ ├── EarnStats
│ │ ├── EarnStats.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── EpochPrice
│ │ ├── EpochPrice.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── EthGasPriceEstimator
│ │ ├── EthGasPriceEstimator.cy.tsx
│ │ ├── EthGasPriceEstimator.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── ExternalLink
│ │ ├── ExternalLink.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── HomeButton
│ │ ├── HomeButton.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── MainActionCards
│ │ ├── MainActionCards.cy.tsx
│ │ ├── MainActionCards.tsx
│ │ ├── MainActionCardsList.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── Mint
│ │ ├── Mint.tsx
│ │ ├── MintHeader.tsx
│ │ ├── MintLinks.tsx
│ │ ├── MintTransactionModal.tsx
│ │ ├── PercentBadges.tsx
│ │ ├── index.tsx
│ │ ├── layout.ts
│ │ └── package.json
│ ├── MintOrBurnChanges
│ │ ├── MintOrBurnChanges.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── Navigation
│ │ ├── Navigation.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── Notifi
│ │ ├── NotifiCard.tsx
│ │ ├── index.ts
│ │ ├── notifi.css
│ │ └── package.json
│ ├── NotifiButton
│ │ ├── NotifiButton.tsx
│ │ ├── NotifiContextWrapper.tsx
│ │ ├── index.ts
│ │ ├── notifibutton.css
│ │ └── package.json
│ ├── RewardsItem
│ │ ├── ClaimLiquidationBtn.tsx
│ │ ├── ClaimRewardsBtn.cy.tsx
│ │ ├── ClaimRewardsBtn.tsx
│ │ ├── Fees.tsx
│ │ ├── RewardsItem.tsx
│ │ ├── RewardsTransactionModal.tsx
│ │ ├── TradingFeesModal.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── SelfLiquidation
│ │ ├── SelfLiquidation.cy.tsx
│ │ ├── SelfLiquidation.tsx
│ │ ├── SelfLiquidationTransactionModal.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── Settings
│ │ ├── Settings.tsx
│ │ ├── index.tsx
│ │ └── package.json
│ ├── StatBox
│ │ ├── StatBox.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── SwapLinks
│ │ ├── SwapLinks.cy.tsx
│ │ ├── SwapLinks.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── TableComponents
│ │ ├── TableComponents.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── TermsModal
│ │ ├── TermsModal.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── TransactionModal
│ │ ├── TransactionModal.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── UnflagOptions
│ │ ├── UnflagOptions.cy.tsx
│ │ ├── UnflagOptions.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── UserBalances
│ │ ├── UserBalances.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── UtilityCard
│ │ ├── UtilityCard.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── WalletBalances
│ │ ├── TableComponents.tsx
│ │ ├── WalletBalances.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── WalletLayout
│ │ ├── WalletLayout.tsx
│ │ ├── index.tsx
│ │ └── package.json
│ ├── WalletModal
│ │ ├── AuthorisedWallets.tsx
│ │ ├── Balances.tsx
│ │ ├── WalletModal.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── Welcome
│ │ ├── Welcome.tsx
│ │ ├── index.ts
│ │ └── package.json
│ └── icons
│ │ ├── ArrowLeft
│ │ ├── ArrowLeft.tsx
│ │ └── index.ts
│ │ ├── ArrowRight
│ │ ├── ArrowRight.tsx
│ │ └── index.ts
│ │ ├── ArrowTopRight
│ │ ├── ArrowTopRight.tsx
│ │ └── index.ts
│ │ ├── AvatarIcon
│ │ ├── AvatarIcon.tsx
│ │ └── index.tsx
│ │ ├── BridgeIcon
│ │ ├── BridgeIcon.tsx
│ │ └── index.ts
│ │ ├── ChevronDown
│ │ ├── ChevronDown.tsx
│ │ └── index.tsx
│ │ ├── ChevronUp
│ │ ├── ChevronUp.tsx
│ │ └── index.tsx
│ │ ├── ClockIcon
│ │ ├── ClockIcon.tsx
│ │ └── index.tsx
│ │ ├── CloseIcon
│ │ ├── CloseIcon.tsx
│ │ └── index.tsx
│ │ ├── CollectIcon
│ │ ├── CollectIcon.tsx
│ │ └── index.ts
│ │ ├── CopyIcon
│ │ ├── CopyIcon.tsx
│ │ └── index.tsx
│ │ ├── CowSwapIcon
│ │ ├── CowSwapIcon.tsx
│ │ └── index.tsx
│ │ ├── CurveIcon
│ │ ├── Curve.png
│ │ ├── CurveIcon.tsx
│ │ └── index.ts
│ │ ├── DebtPoolIcon
│ │ ├── DebtPoolIcon.tsx
│ │ └── index.ts
│ │ ├── DollarIcon
│ │ ├── DollarIcon.tsx
│ │ └── index.tsx
│ │ ├── EthereumIcon
│ │ ├── EthereumIcon.tsx
│ │ └── index.tsx
│ │ ├── FailedIcon
│ │ ├── FailedIcon.tsx
│ │ └── index.tsx
│ │ ├── GovIcon
│ │ ├── GovIcon.tsx
│ │ └── index.tsx
│ │ ├── GuideIcon
│ │ ├── GuideIcon.tsx
│ │ └── index.tsx
│ │ ├── InfoIcon
│ │ ├── InfoIcon.tsx
│ │ └── index.tsx
│ │ ├── InfoOutline
│ │ ├── InfoOutline.tsx
│ │ └── index.tsx
│ │ ├── KebabMenu
│ │ ├── KebabMenu.tsx
│ │ └── index.tsx
│ │ ├── KebabMenuVertical
│ │ ├── KebabMenuVertical.tsx
│ │ └── index.tsx
│ │ ├── KwentaIcon
│ │ ├── KwentaIcon.tsx
│ │ └── index.ts
│ │ ├── LoansIcon
│ │ ├── LoansIcon.tsx
│ │ └── index.tsx
│ │ ├── LyraIcon
│ │ ├── LyraIcon.tsx
│ │ └── index.ts
│ │ ├── MaintainIcon
│ │ ├── MaintainIcon.tsx
│ │ └── index.ts
│ │ ├── NineDots
│ │ ├── NineDots.tsx
│ │ └── index.ts
│ │ ├── NotificationsIcon
│ │ ├── NotificationsIcon.tsx
│ │ └── index.tsx
│ │ ├── OneInchIcon
│ │ ├── OneInchIcon.tsx
│ │ └── index.tsx
│ │ ├── OpenInNew
│ │ ├── OpenInNew.tsx
│ │ └── index.ts
│ │ ├── OptimismIcon
│ │ ├── OptimismIcon.tsx
│ │ └── index.tsx
│ │ ├── OvertimeIcon
│ │ ├── OvertimeIcon.tsx
│ │ └── index.tsx
│ │ ├── PolynomialIcon
│ │ ├── PolynomialIcon.tsx
│ │ └── index.tsx
│ │ ├── SBTCIcon
│ │ ├── SBTCIcon.tsx
│ │ └── index.tsx
│ │ ├── SLINKIcon
│ │ ├── SLINKIcon.tsx
│ │ └── index.tsx
│ │ ├── SNXIcon
│ │ ├── SNXIcon.tsx
│ │ └── index.tsx
│ │ ├── SUSDIcon
│ │ ├── SUSDIcon.tsx
│ │ └── index.tsx
│ │ ├── SettingsIcon
│ │ ├── SettingsIcon.tsx
│ │ └── index.tsx
│ │ ├── StakeIcon
│ │ ├── StakeIcon.tsx
│ │ └── index.ts
│ │ ├── StakingIcon
│ │ ├── StakingIcon.tsx
│ │ └── index.tsx
│ │ ├── StakingLogo
│ │ ├── StakingLogo.tsx
│ │ └── index.ts
│ │ ├── StakingRewardsIcon
│ │ ├── StakingRewardsIcon.tsx
│ │ └── index.tsx
│ │ ├── SushiSwapLogo
│ │ ├── SushiSwapLogo.tsx
│ │ └── index.tsx
│ │ ├── SwitchIcon
│ │ ├── SwitchIcon.tsx
│ │ └── index.tsx
│ │ ├── ThalesIcon
│ │ ├── ThalesIcon.tsx
│ │ └── index.ts
│ │ ├── TickIcon
│ │ ├── TickIcon.tsx
│ │ └── index.tsx
│ │ ├── TokensIcon
│ │ ├── TokensIcon.tsx
│ │ └── index.tsx
│ │ ├── TradingFeesIcon
│ │ ├── TradingFeesIcon.tsx
│ │ └── index.tsx
│ │ ├── TransactionCompleted
│ │ ├── TransactionCompleted.tsx
│ │ └── index.tsx
│ │ ├── TransactionPending
│ │ ├── TransactionPending.tsx
│ │ └── index.tsx
│ │ ├── TriangleDownIcon
│ │ ├── TriangleDownIcon.tsx
│ │ └── index.tsx
│ │ ├── TriangleUpIcon
│ │ ├── TriangleUpIcon.tsx
│ │ └── index.tsx
│ │ ├── WalletIcon
│ │ ├── WalletIcon.tsx
│ │ └── index.tsx
│ │ ├── WreckedIcon
│ │ ├── WreckedIcon.tsx
│ │ └── index.tsx
│ │ ├── index.tsx
│ │ └── package.json
├── contracts
│ ├── codegen.js
│ ├── index.js
│ ├── package.json
│ ├── src
│ │ ├── local-ovm
│ │ │ └── synths.ts
│ │ ├── mainnet-ovm
│ │ │ ├── deployment
│ │ │ │ ├── AddressResolver.ts
│ │ │ │ ├── CircuitBreaker.ts
│ │ │ │ ├── CollateralEth.ts
│ │ │ │ ├── CollateralManager.ts
│ │ │ │ ├── CollateralManagerState.ts
│ │ │ │ ├── CollateralShort.ts
│ │ │ │ ├── CollateralUtil.ts
│ │ │ │ ├── DappMaintenance.ts
│ │ │ │ ├── DebtCache.ts
│ │ │ │ ├── DebtMigratorOnOptimism.ts
│ │ │ │ ├── DelegateApprovals.ts
│ │ │ │ ├── DelegateApprovalsEternalStorage.ts
│ │ │ │ ├── DirectIntegrationManager.ts
│ │ │ │ ├── DynamicSynthRedeemer.ts
│ │ │ │ ├── EscrowChecker.ts
│ │ │ │ ├── EtherCollateral.ts
│ │ │ │ ├── EtherCollateralsUSD.ts
│ │ │ │ ├── EtherWrapper.ts
│ │ │ │ ├── ExchangeCircuitBreaker.ts
│ │ │ │ ├── ExchangeRates.ts
│ │ │ │ ├── ExchangeSettlementLib.ts
│ │ │ │ ├── ExchangeState.ts
│ │ │ │ ├── Exchanger.ts
│ │ │ │ ├── FeePool.ts
│ │ │ │ ├── FeePoolEternalStorage.ts
│ │ │ │ ├── FeePoolState.ts
│ │ │ │ ├── FlexibleStorage.ts
│ │ │ │ ├── FuturesMarketAAVE.ts
│ │ │ │ ├── FuturesMarketAPE.ts
│ │ │ │ ├── FuturesMarketAVAX.ts
│ │ │ │ ├── FuturesMarketBNB.ts
│ │ │ │ ├── FuturesMarketBTC.ts
│ │ │ │ ├── FuturesMarketDOGE.ts
│ │ │ │ ├── FuturesMarketDYDX.ts
│ │ │ │ ├── FuturesMarketData.ts
│ │ │ │ ├── FuturesMarketDebtRatio.ts
│ │ │ │ ├── FuturesMarketETH.ts
│ │ │ │ ├── FuturesMarketEUR.ts
│ │ │ │ ├── FuturesMarketLINK.ts
│ │ │ │ ├── FuturesMarketMATIC.ts
│ │ │ │ ├── FuturesMarketManager.ts
│ │ │ │ ├── FuturesMarketOP.ts
│ │ │ │ ├── FuturesMarketSOL.ts
│ │ │ │ ├── FuturesMarketSettings.ts
│ │ │ │ ├── FuturesMarketUNI.ts
│ │ │ │ ├── FuturesMarketXAG.ts
│ │ │ │ ├── FuturesMarketXAU.ts
│ │ │ │ ├── FuturesMarketXMR.ts
│ │ │ │ ├── Issuer.ts
│ │ │ │ ├── Liquidator.ts
│ │ │ │ ├── LiquidatorRewards.ts
│ │ │ │ ├── Math.ts
│ │ │ │ ├── OneNetAggregatorDebtRatio.ts
│ │ │ │ ├── OneNetAggregatorIssuedSynths.ts
│ │ │ │ ├── OwnerRelayOnOptimism.ts
│ │ │ │ ├── PerpsV2DelayedExecution1INCHPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionAAVEPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionADAPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionALGOPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionANKRPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionAPEPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionAPTPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionARBPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionATOMPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionAUDPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionAVAXPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionAXSPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionBALPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionBCHPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionBLURPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionBNBPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionBONKPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionBTCPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionCELOPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionCOMPPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionCRVPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionCVXPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionDOGEPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionDOTPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionDYDXPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionENJPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionEOSPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionETCPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionETHBTCPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionETHPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionEURPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionFETPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionFILPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionFLOKIPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionFLOWPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionFTMPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionFXSPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionGBPPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionGMXPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionGRTPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionICPPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionIMXPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionINJPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionJTOPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionJUPPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionKNCPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionLDOPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionLINKPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionLTCPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionMATICPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionMAVPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionMEMEPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionMKRPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionNEARPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionONEPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionOPPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionORDIPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionPENDLEPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionPEPEPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionPERPPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionPYTHPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionRNDRPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionRPLPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionRUNEPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionSEIPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionSHIBPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionSOLPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionSTETHETHPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionSTETHPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionSTRKPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionSUIPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionSUSHIPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionTIAPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionTRBPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionTRXPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionUMAPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionUNIPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionUSDTPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionWLDPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionXAGPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionXAUPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionXLMPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionXMRPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionXRPPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionXTZPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionYFIPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionZECPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionZILPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionZRXPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntent1INCHPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentAAVEPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentADAPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentALGOPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentANKRPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentAPEPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentAPTPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentARBPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentATOMPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentAUDPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentAVAXPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentAXSPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentBALPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentBCHPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentBLURPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentBNBPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentBONKPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentBTCPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentCELOPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentCOMPPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentCRVPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentCVXPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentDOGEPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentDOTPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentDYDXPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentENJPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentEOSPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentETCPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentETHBTCPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentETHPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentEURPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentFETPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentFILPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentFLOKIPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentFLOWPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentFTMPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentFXSPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentGBPPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentGMXPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentGRTPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentICPPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentIMXPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentINJPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentJTOPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentJUPPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentKNCPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentLDOPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentLINKPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentLTCPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentMATICPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentMAVPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentMEMEPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentMKRPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentNEARPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentONEPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentOPPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentORDIPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentPENDLEPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentPEPEPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentPERPPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentPYTHPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentRNDRPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentRPLPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentRUNEPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentSEIPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentSHIBPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentSOLPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentSTETHETHPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentSTETHPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentSTRKPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentSUIPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentSUSHIPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentTIAPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentTRBPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentTRXPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentUMAPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentUNIPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentUSDTPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentWLDPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentXAGPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentXAUPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentXLMPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentXMRPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentXRPPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentXTZPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentYFIPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentZECPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentZILPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentZRXPERP.ts
│ │ │ │ ├── PerpsV2ExchangeRate.ts
│ │ │ │ ├── PerpsV2Market1INCHPERP.ts
│ │ │ │ ├── PerpsV2MarketAAVEPERP.ts
│ │ │ │ ├── PerpsV2MarketADAPERP.ts
│ │ │ │ ├── PerpsV2MarketALGOPERP.ts
│ │ │ │ ├── PerpsV2MarketANKRPERP.ts
│ │ │ │ ├── PerpsV2MarketAPEPERP.ts
│ │ │ │ ├── PerpsV2MarketAPTPERP.ts
│ │ │ │ ├── PerpsV2MarketARBPERP.ts
│ │ │ │ ├── PerpsV2MarketATOMPERP.ts
│ │ │ │ ├── PerpsV2MarketAUDPERP.ts
│ │ │ │ ├── PerpsV2MarketAVAXPERP.ts
│ │ │ │ ├── PerpsV2MarketAXSPERP.ts
│ │ │ │ ├── PerpsV2MarketBALPERP.ts
│ │ │ │ ├── PerpsV2MarketBCHPERP.ts
│ │ │ │ ├── PerpsV2MarketBLURPERP.ts
│ │ │ │ ├── PerpsV2MarketBNBPERP.ts
│ │ │ │ ├── PerpsV2MarketBONKPERP.ts
│ │ │ │ ├── PerpsV2MarketBTCPERP.ts
│ │ │ │ ├── PerpsV2MarketCELOPERP.ts
│ │ │ │ ├── PerpsV2MarketCOMPPERP.ts
│ │ │ │ ├── PerpsV2MarketCRVPERP.ts
│ │ │ │ ├── PerpsV2MarketCVXPERP.ts
│ │ │ │ ├── PerpsV2MarketDOGEPERP.ts
│ │ │ │ ├── PerpsV2MarketDOTPERP.ts
│ │ │ │ ├── PerpsV2MarketDYDXPERP.ts
│ │ │ │ ├── PerpsV2MarketData.ts
│ │ │ │ ├── PerpsV2MarketENJPERP.ts
│ │ │ │ ├── PerpsV2MarketEOSPERP.ts
│ │ │ │ ├── PerpsV2MarketETCPERP.ts
│ │ │ │ ├── PerpsV2MarketETHBTCPERP.ts
│ │ │ │ ├── PerpsV2MarketETHPERP.ts
│ │ │ │ ├── PerpsV2MarketEURPERP.ts
│ │ │ │ ├── PerpsV2MarketFETPERP.ts
│ │ │ │ ├── PerpsV2MarketFILPERP.ts
│ │ │ │ ├── PerpsV2MarketFLOKIPERP.ts
│ │ │ │ ├── PerpsV2MarketFLOWPERP.ts
│ │ │ │ ├── PerpsV2MarketFTMPERP.ts
│ │ │ │ ├── PerpsV2MarketFXSPERP.ts
│ │ │ │ ├── PerpsV2MarketGBPPERP.ts
│ │ │ │ ├── PerpsV2MarketGMXPERP.ts
│ │ │ │ ├── PerpsV2MarketGRTPERP.ts
│ │ │ │ ├── PerpsV2MarketICPPERP.ts
│ │ │ │ ├── PerpsV2MarketIMXPERP.ts
│ │ │ │ ├── PerpsV2MarketINJPERP.ts
│ │ │ │ ├── PerpsV2MarketJTOPERP.ts
│ │ │ │ ├── PerpsV2MarketJUPPERP.ts
│ │ │ │ ├── PerpsV2MarketKNCPERP.ts
│ │ │ │ ├── PerpsV2MarketLDOPERP.ts
│ │ │ │ ├── PerpsV2MarketLINKPERP.ts
│ │ │ │ ├── PerpsV2MarketLTCPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidate1INCHPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateAAVEPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateADAPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateALGOPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateANKRPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateAPEPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateAPTPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateARBPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateATOMPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateAUDPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateAVAXPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateAXSPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateBALPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateBCHPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateBLURPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateBNBPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateBONKPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateBTCPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateCELOPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateCOMPPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateCRVPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateCVXPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateDOGEPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateDOTPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateDYDXPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateENJPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateEOSPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateETCPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateETHBTCPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateETHPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateEURPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateFETPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateFILPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateFLOKIPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateFLOWPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateFTMPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateFXSPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateGBPPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateGMXPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateGRTPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateICPPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateIMXPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateINJPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateJTOPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateJUPPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateKNCPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateLDOPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateLINKPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateLTCPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateMATICPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateMAVPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateMEMEPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateMKRPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateNEARPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateONEPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateOPPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateORDIPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidatePENDLEPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidatePEPEPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidatePERPPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidatePYTHPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateRNDRPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateRPLPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateRUNEPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateSEIPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateSHIBPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateSOLPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateSTETHETHPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateSTETHPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateSTRKPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateSUIPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateSUSHIPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateTIAPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateTRBPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateTRXPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateUMAPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateUNIPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateUSDTPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateWLDPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateXAGPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateXAUPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateXLMPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateXMRPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateXRPPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateXTZPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateYFIPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateZECPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateZILPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateZRXPERP.ts
│ │ │ │ ├── PerpsV2MarketMATICPERP.ts
│ │ │ │ ├── PerpsV2MarketMAVPERP.ts
│ │ │ │ ├── PerpsV2MarketMEMEPERP.ts
│ │ │ │ ├── PerpsV2MarketMKRPERP.ts
│ │ │ │ ├── PerpsV2MarketNEARPERP.ts
│ │ │ │ ├── PerpsV2MarketONEPERP.ts
│ │ │ │ ├── PerpsV2MarketOPPERP.ts
│ │ │ │ ├── PerpsV2MarketORDIPERP.ts
│ │ │ │ ├── PerpsV2MarketPENDLEPERP.ts
│ │ │ │ ├── PerpsV2MarketPEPEPERP.ts
│ │ │ │ ├── PerpsV2MarketPERPPERP.ts
│ │ │ │ ├── PerpsV2MarketPYTHPERP.ts
│ │ │ │ ├── PerpsV2MarketRNDRPERP.ts
│ │ │ │ ├── PerpsV2MarketRPLPERP.ts
│ │ │ │ ├── PerpsV2MarketRUNEPERP.ts
│ │ │ │ ├── PerpsV2MarketSEIPERP.ts
│ │ │ │ ├── PerpsV2MarketSHIBPERP.ts
│ │ │ │ ├── PerpsV2MarketSOLPERP.ts
│ │ │ │ ├── PerpsV2MarketSTETHETHPERP.ts
│ │ │ │ ├── PerpsV2MarketSTETHPERP.ts
│ │ │ │ ├── PerpsV2MarketSTRKPERP.ts
│ │ │ │ ├── PerpsV2MarketSUIPERP.ts
│ │ │ │ ├── PerpsV2MarketSUSHIPERP.ts
│ │ │ │ ├── PerpsV2MarketSettings.ts
│ │ │ │ ├── PerpsV2MarketState1INCHPERP.ts
│ │ │ │ ├── PerpsV2MarketStateAAVEPERP.ts
│ │ │ │ ├── PerpsV2MarketStateADAPERP.ts
│ │ │ │ ├── PerpsV2MarketStateALGOPERP.ts
│ │ │ │ ├── PerpsV2MarketStateANKRPERP.ts
│ │ │ │ ├── PerpsV2MarketStateAPEPERP.ts
│ │ │ │ ├── PerpsV2MarketStateAPTPERP.ts
│ │ │ │ ├── PerpsV2MarketStateARBPERP.ts
│ │ │ │ ├── PerpsV2MarketStateATOMPERP.ts
│ │ │ │ ├── PerpsV2MarketStateAUDPERP.ts
│ │ │ │ ├── PerpsV2MarketStateAVAXPERP.ts
│ │ │ │ ├── PerpsV2MarketStateAXSPERP.ts
│ │ │ │ ├── PerpsV2MarketStateBALPERP.ts
│ │ │ │ ├── PerpsV2MarketStateBCHPERP.ts
│ │ │ │ ├── PerpsV2MarketStateBLURPERP.ts
│ │ │ │ ├── PerpsV2MarketStateBNBPERP.ts
│ │ │ │ ├── PerpsV2MarketStateBONKPERP.ts
│ │ │ │ ├── PerpsV2MarketStateBTCPERP.ts
│ │ │ │ ├── PerpsV2MarketStateCELOPERP.ts
│ │ │ │ ├── PerpsV2MarketStateCOMPPERP.ts
│ │ │ │ ├── PerpsV2MarketStateCRVPERP.ts
│ │ │ │ ├── PerpsV2MarketStateCVXPERP.ts
│ │ │ │ ├── PerpsV2MarketStateDOGEPERP.ts
│ │ │ │ ├── PerpsV2MarketStateDOTPERP.ts
│ │ │ │ ├── PerpsV2MarketStateDYDXPERP.ts
│ │ │ │ ├── PerpsV2MarketStateENJPERP.ts
│ │ │ │ ├── PerpsV2MarketStateEOSPERP.ts
│ │ │ │ ├── PerpsV2MarketStateETCPERP.ts
│ │ │ │ ├── PerpsV2MarketStateETHBTCPERP.ts
│ │ │ │ ├── PerpsV2MarketStateETHPERP.ts
│ │ │ │ ├── PerpsV2MarketStateEURPERP.ts
│ │ │ │ ├── PerpsV2MarketStateFETPERP.ts
│ │ │ │ ├── PerpsV2MarketStateFILPERP.ts
│ │ │ │ ├── PerpsV2MarketStateFLOKIPERP.ts
│ │ │ │ ├── PerpsV2MarketStateFLOWPERP.ts
│ │ │ │ ├── PerpsV2MarketStateFTMPERP.ts
│ │ │ │ ├── PerpsV2MarketStateFXSPERP.ts
│ │ │ │ ├── PerpsV2MarketStateGBPPERP.ts
│ │ │ │ ├── PerpsV2MarketStateGMXPERP.ts
│ │ │ │ ├── PerpsV2MarketStateGRTPERP.ts
│ │ │ │ ├── PerpsV2MarketStateICPPERP.ts
│ │ │ │ ├── PerpsV2MarketStateIMXPERP.ts
│ │ │ │ ├── PerpsV2MarketStateINJPERP.ts
│ │ │ │ ├── PerpsV2MarketStateJTOPERP.ts
│ │ │ │ ├── PerpsV2MarketStateJUPPERP.ts
│ │ │ │ ├── PerpsV2MarketStateKNCPERP.ts
│ │ │ │ ├── PerpsV2MarketStateLDOPERP.ts
│ │ │ │ ├── PerpsV2MarketStateLINKPERP.ts
│ │ │ │ ├── PerpsV2MarketStateLTCPERP.ts
│ │ │ │ ├── PerpsV2MarketStateMATICPERP.ts
│ │ │ │ ├── PerpsV2MarketStateMAVPERP.ts
│ │ │ │ ├── PerpsV2MarketStateMEMEPERP.ts
│ │ │ │ ├── PerpsV2MarketStateMKRPERP.ts
│ │ │ │ ├── PerpsV2MarketStateNEARPERP.ts
│ │ │ │ ├── PerpsV2MarketStateONEPERP.ts
│ │ │ │ ├── PerpsV2MarketStateOPPERP.ts
│ │ │ │ ├── PerpsV2MarketStateORDIPERP.ts
│ │ │ │ ├── PerpsV2MarketStatePENDLEPERP.ts
│ │ │ │ ├── PerpsV2MarketStatePEPEPERP.ts
│ │ │ │ ├── PerpsV2MarketStatePERPPERP.ts
│ │ │ │ ├── PerpsV2MarketStatePYTHPERP.ts
│ │ │ │ ├── PerpsV2MarketStateRNDRPERP.ts
│ │ │ │ ├── PerpsV2MarketStateRPLPERP.ts
│ │ │ │ ├── PerpsV2MarketStateRUNEPERP.ts
│ │ │ │ ├── PerpsV2MarketStateSEIPERP.ts
│ │ │ │ ├── PerpsV2MarketStateSHIBPERP.ts
│ │ │ │ ├── PerpsV2MarketStateSOLPERP.ts
│ │ │ │ ├── PerpsV2MarketStateSTETHETHPERP.ts
│ │ │ │ ├── PerpsV2MarketStateSTETHPERP.ts
│ │ │ │ ├── PerpsV2MarketStateSTRKPERP.ts
│ │ │ │ ├── PerpsV2MarketStateSUIPERP.ts
│ │ │ │ ├── PerpsV2MarketStateSUSHIPERP.ts
│ │ │ │ ├── PerpsV2MarketStateTIAPERP.ts
│ │ │ │ ├── PerpsV2MarketStateTRBPERP.ts
│ │ │ │ ├── PerpsV2MarketStateTRXPERP.ts
│ │ │ │ ├── PerpsV2MarketStateUMAPERP.ts
│ │ │ │ ├── PerpsV2MarketStateUNIPERP.ts
│ │ │ │ ├── PerpsV2MarketStateUSDTPERP.ts
│ │ │ │ ├── PerpsV2MarketStateWLDPERP.ts
│ │ │ │ ├── PerpsV2MarketStateXAGPERP.ts
│ │ │ │ ├── PerpsV2MarketStateXAUPERP.ts
│ │ │ │ ├── PerpsV2MarketStateXLMPERP.ts
│ │ │ │ ├── PerpsV2MarketStateXMRPERP.ts
│ │ │ │ ├── PerpsV2MarketStateXRPPERP.ts
│ │ │ │ ├── PerpsV2MarketStateXTZPERP.ts
│ │ │ │ ├── PerpsV2MarketStateYFIPERP.ts
│ │ │ │ ├── PerpsV2MarketStateZECPERP.ts
│ │ │ │ ├── PerpsV2MarketStateZILPERP.ts
│ │ │ │ ├── PerpsV2MarketStateZRXPERP.ts
│ │ │ │ ├── PerpsV2MarketTIAPERP.ts
│ │ │ │ ├── PerpsV2MarketTRBPERP.ts
│ │ │ │ ├── PerpsV2MarketTRXPERP.ts
│ │ │ │ ├── PerpsV2MarketUMAPERP.ts
│ │ │ │ ├── PerpsV2MarketUNIPERP.ts
│ │ │ │ ├── PerpsV2MarketUSDTPERP.ts
│ │ │ │ ├── PerpsV2MarketViews1INCHPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsAAVEPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsADAPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsALGOPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsANKRPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsAPEPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsAPTPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsARBPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsATOMPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsAUDPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsAVAXPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsAXSPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsBALPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsBCHPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsBLURPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsBNBPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsBONKPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsBTCPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsCELOPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsCOMPPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsCRVPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsCVXPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsDOGEPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsDOTPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsDYDXPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsENJPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsEOSPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsETCPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsETHBTCPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsETHPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsEURPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsFETPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsFILPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsFLOKIPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsFLOWPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsFTMPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsFXSPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsGBPPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsGMXPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsGRTPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsICPPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsIMXPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsINJPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsJTOPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsJUPPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsKNCPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsLDOPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsLINKPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsLTCPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsMATICPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsMAVPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsMEMEPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsMKRPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsNEARPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsONEPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsOPPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsORDIPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsPENDLEPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsPEPEPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsPERPPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsPYTHPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsRNDRPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsRPLPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsRUNEPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsSEIPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsSHIBPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsSOLPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsSTETHETHPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsSTETHPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsSTRKPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsSUIPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsSUSHIPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsTIAPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsTRBPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsTRXPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsUMAPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsUNIPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsUSDTPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsWLDPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsXAGPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsXAUPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsXLMPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsXMRPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsXRPPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsXTZPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsYFIPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsZECPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsZILPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsZRXPERP.ts
│ │ │ │ ├── PerpsV2MarketWLDPERP.ts
│ │ │ │ ├── PerpsV2MarketXAGPERP.ts
│ │ │ │ ├── PerpsV2MarketXAUPERP.ts
│ │ │ │ ├── PerpsV2MarketXLMPERP.ts
│ │ │ │ ├── PerpsV2MarketXMRPERP.ts
│ │ │ │ ├── PerpsV2MarketXRPPERP.ts
│ │ │ │ ├── PerpsV2MarketXTZPERP.ts
│ │ │ │ ├── PerpsV2MarketYFIPERP.ts
│ │ │ │ ├── PerpsV2MarketZECPERP.ts
│ │ │ │ ├── PerpsV2MarketZILPERP.ts
│ │ │ │ ├── PerpsV2MarketZRXPERP.ts
│ │ │ │ ├── PerpsV2Proxy1INCHPERP.ts
│ │ │ │ ├── PerpsV2ProxyAAVEPERP.ts
│ │ │ │ ├── PerpsV2ProxyADAPERP.ts
│ │ │ │ ├── PerpsV2ProxyALGOPERP.ts
│ │ │ │ ├── PerpsV2ProxyANKRPERP.ts
│ │ │ │ ├── PerpsV2ProxyAPEPERP.ts
│ │ │ │ ├── PerpsV2ProxyAPTPERP.ts
│ │ │ │ ├── PerpsV2ProxyARBPERP.ts
│ │ │ │ ├── PerpsV2ProxyATOMPERP.ts
│ │ │ │ ├── PerpsV2ProxyAUDPERP.ts
│ │ │ │ ├── PerpsV2ProxyAVAXPERP.ts
│ │ │ │ ├── PerpsV2ProxyAXSPERP.ts
│ │ │ │ ├── PerpsV2ProxyBALPERP.ts
│ │ │ │ ├── PerpsV2ProxyBCHPERP.ts
│ │ │ │ ├── PerpsV2ProxyBLURPERP.ts
│ │ │ │ ├── PerpsV2ProxyBNBPERP.ts
│ │ │ │ ├── PerpsV2ProxyBONKPERP.ts
│ │ │ │ ├── PerpsV2ProxyBTCPERP.ts
│ │ │ │ ├── PerpsV2ProxyCELOPERP.ts
│ │ │ │ ├── PerpsV2ProxyCOMPPERP.ts
│ │ │ │ ├── PerpsV2ProxyCRVPERP.ts
│ │ │ │ ├── PerpsV2ProxyCVXPERP.ts
│ │ │ │ ├── PerpsV2ProxyDOGEPERP.ts
│ │ │ │ ├── PerpsV2ProxyDOTPERP.ts
│ │ │ │ ├── PerpsV2ProxyDYDXPERP.ts
│ │ │ │ ├── PerpsV2ProxyENJPERP.ts
│ │ │ │ ├── PerpsV2ProxyEOSPERP.ts
│ │ │ │ ├── PerpsV2ProxyETCPERP.ts
│ │ │ │ ├── PerpsV2ProxyETHBTCPERP.ts
│ │ │ │ ├── PerpsV2ProxyETHPERP.ts
│ │ │ │ ├── PerpsV2ProxyEURPERP.ts
│ │ │ │ ├── PerpsV2ProxyFETPERP.ts
│ │ │ │ ├── PerpsV2ProxyFILPERP.ts
│ │ │ │ ├── PerpsV2ProxyFLOKIPERP.ts
│ │ │ │ ├── PerpsV2ProxyFLOWPERP.ts
│ │ │ │ ├── PerpsV2ProxyFTMPERP.ts
│ │ │ │ ├── PerpsV2ProxyFXSPERP.ts
│ │ │ │ ├── PerpsV2ProxyGBPPERP.ts
│ │ │ │ ├── PerpsV2ProxyGMXPERP.ts
│ │ │ │ ├── PerpsV2ProxyGRTPERP.ts
│ │ │ │ ├── PerpsV2ProxyICPPERP.ts
│ │ │ │ ├── PerpsV2ProxyIMXPERP.ts
│ │ │ │ ├── PerpsV2ProxyINJPERP.ts
│ │ │ │ ├── PerpsV2ProxyJTOPERP.ts
│ │ │ │ ├── PerpsV2ProxyJUPPERP.ts
│ │ │ │ ├── PerpsV2ProxyKNCPERP.ts
│ │ │ │ ├── PerpsV2ProxyLDOPERP.ts
│ │ │ │ ├── PerpsV2ProxyLINKPERP.ts
│ │ │ │ ├── PerpsV2ProxyLTCPERP.ts
│ │ │ │ ├── PerpsV2ProxyMATICPERP.ts
│ │ │ │ ├── PerpsV2ProxyMAVPERP.ts
│ │ │ │ ├── PerpsV2ProxyMEMEPERP.ts
│ │ │ │ ├── PerpsV2ProxyMKRPERP.ts
│ │ │ │ ├── PerpsV2ProxyNEARPERP.ts
│ │ │ │ ├── PerpsV2ProxyONEPERP.ts
│ │ │ │ ├── PerpsV2ProxyOPPERP.ts
│ │ │ │ ├── PerpsV2ProxyORDIPERP.ts
│ │ │ │ ├── PerpsV2ProxyPENDLEPERP.ts
│ │ │ │ ├── PerpsV2ProxyPEPEPERP.ts
│ │ │ │ ├── PerpsV2ProxyPERPPERP.ts
│ │ │ │ ├── PerpsV2ProxyPYTHPERP.ts
│ │ │ │ ├── PerpsV2ProxyRNDRPERP.ts
│ │ │ │ ├── PerpsV2ProxyRPLPERP.ts
│ │ │ │ ├── PerpsV2ProxyRUNEPERP.ts
│ │ │ │ ├── PerpsV2ProxySEIPERP.ts
│ │ │ │ ├── PerpsV2ProxySHIBPERP.ts
│ │ │ │ ├── PerpsV2ProxySOLPERP.ts
│ │ │ │ ├── PerpsV2ProxySTETHETHPERP.ts
│ │ │ │ ├── PerpsV2ProxySTETHPERP.ts
│ │ │ │ ├── PerpsV2ProxySTRKPERP.ts
│ │ │ │ ├── PerpsV2ProxySUIPERP.ts
│ │ │ │ ├── PerpsV2ProxySUSHIPERP.ts
│ │ │ │ ├── PerpsV2ProxyTIAPERP.ts
│ │ │ │ ├── PerpsV2ProxyTRBPERP.ts
│ │ │ │ ├── PerpsV2ProxyTRXPERP.ts
│ │ │ │ ├── PerpsV2ProxyUMAPERP.ts
│ │ │ │ ├── PerpsV2ProxyUNIPERP.ts
│ │ │ │ ├── PerpsV2ProxyUSDTPERP.ts
│ │ │ │ ├── PerpsV2ProxyWLDPERP.ts
│ │ │ │ ├── PerpsV2ProxyXAGPERP.ts
│ │ │ │ ├── PerpsV2ProxyXAUPERP.ts
│ │ │ │ ├── PerpsV2ProxyXLMPERP.ts
│ │ │ │ ├── PerpsV2ProxyXMRPERP.ts
│ │ │ │ ├── PerpsV2ProxyXRPPERP.ts
│ │ │ │ ├── PerpsV2ProxyXTZPERP.ts
│ │ │ │ ├── PerpsV2ProxyYFIPERP.ts
│ │ │ │ ├── PerpsV2ProxyZECPERP.ts
│ │ │ │ ├── PerpsV2ProxyZILPERP.ts
│ │ │ │ ├── PerpsV2ProxyZRXPERP.ts
│ │ │ │ ├── ProxyERC20.ts
│ │ │ │ ├── ProxyERC20sUSD.ts
│ │ │ │ ├── ProxyFeePool.ts
│ │ │ │ ├── ProxySynthetix.ts
│ │ │ │ ├── ProxysAAVE.ts
│ │ │ │ ├── ProxysAVAX.ts
│ │ │ │ ├── ProxysBTC.ts
│ │ │ │ ├── ProxysETH.ts
│ │ │ │ ├── ProxysEUR.ts
│ │ │ │ ├── ProxysLINK.ts
│ │ │ │ ├── ProxysMATIC.ts
│ │ │ │ ├── ProxysSOL.ts
│ │ │ │ ├── ProxysUNI.ts
│ │ │ │ ├── ProxysUSD.ts
│ │ │ │ ├── ReadProxyAddressResolver.ts
│ │ │ │ ├── RewardEscrowV2.ts
│ │ │ │ ├── RewardEscrowV2Storage.ts
│ │ │ │ ├── RewardsDistribution.ts
│ │ │ │ ├── SafeDecimalMath.ts
│ │ │ │ ├── SignedSafeDecimalMath.ts
│ │ │ │ ├── StakingRewardsSNXWETHUniswapV3.ts
│ │ │ │ ├── StakingRewardssUSDDAIUniswapV3.ts
│ │ │ │ ├── SynthRedeemer.ts
│ │ │ │ ├── SynthUtil.ts
│ │ │ │ ├── Synthetix.ts
│ │ │ │ ├── SynthetixBridgeToBase.ts
│ │ │ │ ├── SynthetixDebtShare.ts
│ │ │ │ ├── SynthetixEscrow.ts
│ │ │ │ ├── SynthetixState.ts
│ │ │ │ ├── SynthsAAVE.ts
│ │ │ │ ├── SynthsAVAX.ts
│ │ │ │ ├── SynthsBTC.ts
│ │ │ │ ├── SynthsETH.ts
│ │ │ │ ├── SynthsEUR.ts
│ │ │ │ ├── SynthsLINK.ts
│ │ │ │ ├── SynthsMATIC.ts
│ │ │ │ ├── SynthsSOL.ts
│ │ │ │ ├── SynthsUNI.ts
│ │ │ │ ├── SynthsUSD.ts
│ │ │ │ ├── SystemSettings.ts
│ │ │ │ ├── SystemSettingsLib.ts
│ │ │ │ ├── SystemStatus.ts
│ │ │ │ ├── TokenStateSynthetix.ts
│ │ │ │ ├── TokenStatesAAVE.ts
│ │ │ │ ├── TokenStatesAVAX.ts
│ │ │ │ ├── TokenStatesBTC.ts
│ │ │ │ ├── TokenStatesETH.ts
│ │ │ │ ├── TokenStatesEUR.ts
│ │ │ │ ├── TokenStatesLINK.ts
│ │ │ │ ├── TokenStatesMATIC.ts
│ │ │ │ ├── TokenStatesSOL.ts
│ │ │ │ ├── TokenStatesUNI.ts
│ │ │ │ ├── TokenStatesUSD.ts
│ │ │ │ ├── TradingRewards.ts
│ │ │ │ ├── WrapperFactory.ts
│ │ │ │ └── json
│ │ │ │ │ ├── AddressResolver.json
│ │ │ │ │ ├── CircuitBreaker.json
│ │ │ │ │ ├── CollateralEth.json
│ │ │ │ │ ├── CollateralManager.json
│ │ │ │ │ ├── CollateralManagerState.json
│ │ │ │ │ ├── CollateralShort.json
│ │ │ │ │ ├── CollateralUtil.json
│ │ │ │ │ ├── DappMaintenance.json
│ │ │ │ │ ├── DebtCache.json
│ │ │ │ │ ├── DebtMigratorOnOptimism.json
│ │ │ │ │ ├── DelegateApprovals.json
│ │ │ │ │ ├── DelegateApprovalsEternalStorage.json
│ │ │ │ │ ├── DirectIntegrationManager.json
│ │ │ │ │ ├── DynamicSynthRedeemer.json
│ │ │ │ │ ├── EscrowChecker.json
│ │ │ │ │ ├── EtherCollateral.json
│ │ │ │ │ ├── EtherCollateralsUSD.json
│ │ │ │ │ ├── EtherWrapper.json
│ │ │ │ │ ├── ExchangeCircuitBreaker.json
│ │ │ │ │ ├── ExchangeRates.json
│ │ │ │ │ ├── ExchangeSettlementLib.json
│ │ │ │ │ ├── ExchangeState.json
│ │ │ │ │ ├── Exchanger.json
│ │ │ │ │ ├── FeePool.json
│ │ │ │ │ ├── FeePoolEternalStorage.json
│ │ │ │ │ ├── FeePoolState.json
│ │ │ │ │ ├── FlexibleStorage.json
│ │ │ │ │ ├── FuturesMarketAAVE.json
│ │ │ │ │ ├── FuturesMarketAPE.json
│ │ │ │ │ ├── FuturesMarketAVAX.json
│ │ │ │ │ ├── FuturesMarketBNB.json
│ │ │ │ │ ├── FuturesMarketBTC.json
│ │ │ │ │ ├── FuturesMarketDOGE.json
│ │ │ │ │ ├── FuturesMarketDYDX.json
│ │ │ │ │ ├── FuturesMarketData.json
│ │ │ │ │ ├── FuturesMarketDebtRatio.json
│ │ │ │ │ ├── FuturesMarketETH.json
│ │ │ │ │ ├── FuturesMarketEUR.json
│ │ │ │ │ ├── FuturesMarketLINK.json
│ │ │ │ │ ├── FuturesMarketMATIC.json
│ │ │ │ │ ├── FuturesMarketManager.json
│ │ │ │ │ ├── FuturesMarketOP.json
│ │ │ │ │ ├── FuturesMarketSOL.json
│ │ │ │ │ ├── FuturesMarketSettings.json
│ │ │ │ │ ├── FuturesMarketUNI.json
│ │ │ │ │ ├── FuturesMarketXAG.json
│ │ │ │ │ ├── FuturesMarketXAU.json
│ │ │ │ │ ├── FuturesMarketXMR.json
│ │ │ │ │ ├── Issuer.json
│ │ │ │ │ ├── Liquidator.json
│ │ │ │ │ ├── LiquidatorRewards.json
│ │ │ │ │ ├── Math.json
│ │ │ │ │ ├── OneNetAggregatorDebtRatio.json
│ │ │ │ │ ├── OneNetAggregatorIssuedSynths.json
│ │ │ │ │ ├── OwnerRelayOnOptimism.json
│ │ │ │ │ ├── PerpsV2DelayedExecution1INCHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionAAVEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionADAPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionALGOPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionANKRPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionAPEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionAPTPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionARBPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionATOMPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionAUDPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionAVAXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionAXSPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionBALPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionBCHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionBLURPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionBNBPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionBONKPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionBTCPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionCELOPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionCOMPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionCRVPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionCVXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionDOGEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionDOTPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionDYDXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionENJPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionEOSPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionETCPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionETHBTCPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionETHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionEURPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionFETPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionFILPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionFLOKIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionFLOWPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionFTMPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionFXSPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionGBPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionGMXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionGRTPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionICPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionIMXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionINJPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionJTOPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionJUPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionKNCPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionLDOPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionLINKPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionLTCPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionMATICPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionMAVPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionMEMEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionMKRPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionNEARPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionONEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionOPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionORDIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionPENDLEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionPEPEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionPERPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionPYTHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionRNDRPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionRPLPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionRUNEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionSEIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionSHIBPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionSOLPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionSTETHETHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionSTETHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionSTRKPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionSUIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionSUSHIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionTIAPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionTRBPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionTRXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionUMAPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionUNIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionUSDTPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionWLDPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionXAGPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionXAUPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionXLMPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionXMRPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionXRPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionXTZPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionYFIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionZECPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionZILPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionZRXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntent1INCHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentAAVEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentADAPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentALGOPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentANKRPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentAPEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentAPTPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentARBPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentATOMPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentAUDPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentAVAXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentAXSPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentBALPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentBCHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentBLURPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentBNBPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentBONKPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentBTCPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentCELOPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentCOMPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentCRVPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentCVXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentDOGEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentDOTPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentDYDXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentENJPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentEOSPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentETCPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentETHBTCPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentETHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentEURPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentFETPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentFILPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentFLOKIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentFLOWPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentFTMPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentFXSPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentGBPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentGMXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentGRTPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentICPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentIMXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentINJPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentJTOPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentJUPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentKNCPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentLDOPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentLINKPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentLTCPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentMATICPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentMAVPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentMEMEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentMKRPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentNEARPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentONEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentOPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentORDIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentPENDLEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentPEPEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentPERPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentPYTHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentRNDRPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentRPLPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentRUNEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentSEIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentSHIBPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentSOLPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentSTETHETHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentSTETHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentSTRKPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentSUIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentSUSHIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentTIAPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentTRBPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentTRXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentUMAPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentUNIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentUSDTPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentWLDPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentXAGPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentXAUPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentXLMPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentXMRPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentXRPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentXTZPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentYFIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentZECPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentZILPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentZRXPERP.json
│ │ │ │ │ ├── PerpsV2ExchangeRate.json
│ │ │ │ │ ├── PerpsV2Market1INCHPERP.json
│ │ │ │ │ ├── PerpsV2MarketAAVEPERP.json
│ │ │ │ │ ├── PerpsV2MarketADAPERP.json
│ │ │ │ │ ├── PerpsV2MarketALGOPERP.json
│ │ │ │ │ ├── PerpsV2MarketANKRPERP.json
│ │ │ │ │ ├── PerpsV2MarketAPEPERP.json
│ │ │ │ │ ├── PerpsV2MarketAPTPERP.json
│ │ │ │ │ ├── PerpsV2MarketARBPERP.json
│ │ │ │ │ ├── PerpsV2MarketATOMPERP.json
│ │ │ │ │ ├── PerpsV2MarketAUDPERP.json
│ │ │ │ │ ├── PerpsV2MarketAVAXPERP.json
│ │ │ │ │ ├── PerpsV2MarketAXSPERP.json
│ │ │ │ │ ├── PerpsV2MarketBALPERP.json
│ │ │ │ │ ├── PerpsV2MarketBCHPERP.json
│ │ │ │ │ ├── PerpsV2MarketBLURPERP.json
│ │ │ │ │ ├── PerpsV2MarketBNBPERP.json
│ │ │ │ │ ├── PerpsV2MarketBONKPERP.json
│ │ │ │ │ ├── PerpsV2MarketBTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketCELOPERP.json
│ │ │ │ │ ├── PerpsV2MarketCOMPPERP.json
│ │ │ │ │ ├── PerpsV2MarketCRVPERP.json
│ │ │ │ │ ├── PerpsV2MarketCVXPERP.json
│ │ │ │ │ ├── PerpsV2MarketDOGEPERP.json
│ │ │ │ │ ├── PerpsV2MarketDOTPERP.json
│ │ │ │ │ ├── PerpsV2MarketDYDXPERP.json
│ │ │ │ │ ├── PerpsV2MarketData.json
│ │ │ │ │ ├── PerpsV2MarketENJPERP.json
│ │ │ │ │ ├── PerpsV2MarketEOSPERP.json
│ │ │ │ │ ├── PerpsV2MarketETCPERP.json
│ │ │ │ │ ├── PerpsV2MarketETHBTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketEURPERP.json
│ │ │ │ │ ├── PerpsV2MarketFETPERP.json
│ │ │ │ │ ├── PerpsV2MarketFILPERP.json
│ │ │ │ │ ├── PerpsV2MarketFLOKIPERP.json
│ │ │ │ │ ├── PerpsV2MarketFLOWPERP.json
│ │ │ │ │ ├── PerpsV2MarketFTMPERP.json
│ │ │ │ │ ├── PerpsV2MarketFXSPERP.json
│ │ │ │ │ ├── PerpsV2MarketGBPPERP.json
│ │ │ │ │ ├── PerpsV2MarketGMXPERP.json
│ │ │ │ │ ├── PerpsV2MarketGRTPERP.json
│ │ │ │ │ ├── PerpsV2MarketICPPERP.json
│ │ │ │ │ ├── PerpsV2MarketIMXPERP.json
│ │ │ │ │ ├── PerpsV2MarketINJPERP.json
│ │ │ │ │ ├── PerpsV2MarketJTOPERP.json
│ │ │ │ │ ├── PerpsV2MarketJUPPERP.json
│ │ │ │ │ ├── PerpsV2MarketKNCPERP.json
│ │ │ │ │ ├── PerpsV2MarketLDOPERP.json
│ │ │ │ │ ├── PerpsV2MarketLINKPERP.json
│ │ │ │ │ ├── PerpsV2MarketLTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidate1INCHPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateAAVEPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateADAPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateALGOPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateANKRPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateAPEPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateAPTPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateARBPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateATOMPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateAUDPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateAVAXPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateAXSPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateBALPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateBCHPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateBLURPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateBNBPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateBONKPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateBTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateCELOPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateCOMPPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateCRVPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateCVXPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateDOGEPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateDOTPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateDYDXPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateENJPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateEOSPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateETCPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateETHBTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateEURPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateFETPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateFILPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateFLOKIPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateFLOWPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateFTMPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateFXSPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateGBPPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateGMXPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateGRTPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateICPPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateIMXPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateINJPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateJTOPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateJUPPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateKNCPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateLDOPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateLINKPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateLTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateMATICPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateMAVPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateMEMEPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateMKRPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateNEARPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateONEPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateOPPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateORDIPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidatePENDLEPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidatePEPEPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidatePERPPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidatePYTHPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateRNDRPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateRPLPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateRUNEPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateSEIPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateSHIBPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateSOLPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateSTETHETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateSTETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateSTRKPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateSUIPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateSUSHIPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateTIAPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateTRBPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateTRXPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateUMAPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateUNIPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateUSDTPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateWLDPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateXAGPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateXAUPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateXLMPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateXMRPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateXRPPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateXTZPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateYFIPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateZECPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateZILPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateZRXPERP.json
│ │ │ │ │ ├── PerpsV2MarketMATICPERP.json
│ │ │ │ │ ├── PerpsV2MarketMAVPERP.json
│ │ │ │ │ ├── PerpsV2MarketMEMEPERP.json
│ │ │ │ │ ├── PerpsV2MarketMKRPERP.json
│ │ │ │ │ ├── PerpsV2MarketNEARPERP.json
│ │ │ │ │ ├── PerpsV2MarketONEPERP.json
│ │ │ │ │ ├── PerpsV2MarketOPPERP.json
│ │ │ │ │ ├── PerpsV2MarketORDIPERP.json
│ │ │ │ │ ├── PerpsV2MarketPENDLEPERP.json
│ │ │ │ │ ├── PerpsV2MarketPEPEPERP.json
│ │ │ │ │ ├── PerpsV2MarketPERPPERP.json
│ │ │ │ │ ├── PerpsV2MarketPYTHPERP.json
│ │ │ │ │ ├── PerpsV2MarketRNDRPERP.json
│ │ │ │ │ ├── PerpsV2MarketRPLPERP.json
│ │ │ │ │ ├── PerpsV2MarketRUNEPERP.json
│ │ │ │ │ ├── PerpsV2MarketSEIPERP.json
│ │ │ │ │ ├── PerpsV2MarketSHIBPERP.json
│ │ │ │ │ ├── PerpsV2MarketSOLPERP.json
│ │ │ │ │ ├── PerpsV2MarketSTETHETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketSTETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketSTRKPERP.json
│ │ │ │ │ ├── PerpsV2MarketSUIPERP.json
│ │ │ │ │ ├── PerpsV2MarketSUSHIPERP.json
│ │ │ │ │ ├── PerpsV2MarketSettings.json
│ │ │ │ │ ├── PerpsV2MarketState1INCHPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateAAVEPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateADAPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateALGOPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateANKRPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateAPEPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateAPTPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateARBPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateATOMPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateAUDPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateAVAXPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateAXSPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateBALPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateBCHPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateBLURPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateBNBPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateBONKPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateBTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateCELOPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateCOMPPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateCRVPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateCVXPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateDOGEPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateDOTPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateDYDXPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateENJPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateEOSPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateETCPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateETHBTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateEURPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateFETPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateFILPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateFLOKIPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateFLOWPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateFTMPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateFXSPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateGBPPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateGMXPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateGRTPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateICPPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateIMXPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateINJPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateJTOPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateJUPPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateKNCPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateLDOPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateLINKPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateLTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateMATICPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateMAVPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateMEMEPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateMKRPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateNEARPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateONEPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateOPPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateORDIPERP.json
│ │ │ │ │ ├── PerpsV2MarketStatePENDLEPERP.json
│ │ │ │ │ ├── PerpsV2MarketStatePEPEPERP.json
│ │ │ │ │ ├── PerpsV2MarketStatePERPPERP.json
│ │ │ │ │ ├── PerpsV2MarketStatePYTHPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateRNDRPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateRPLPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateRUNEPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateSEIPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateSHIBPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateSOLPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateSTETHETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateSTETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateSTRKPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateSUIPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateSUSHIPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateTIAPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateTRBPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateTRXPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateUMAPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateUNIPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateUSDTPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateWLDPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateXAGPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateXAUPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateXLMPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateXMRPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateXRPPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateXTZPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateYFIPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateZECPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateZILPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateZRXPERP.json
│ │ │ │ │ ├── PerpsV2MarketTIAPERP.json
│ │ │ │ │ ├── PerpsV2MarketTRBPERP.json
│ │ │ │ │ ├── PerpsV2MarketTRXPERP.json
│ │ │ │ │ ├── PerpsV2MarketUMAPERP.json
│ │ │ │ │ ├── PerpsV2MarketUNIPERP.json
│ │ │ │ │ ├── PerpsV2MarketUSDTPERP.json
│ │ │ │ │ ├── PerpsV2MarketViews1INCHPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsAAVEPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsADAPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsALGOPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsANKRPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsAPEPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsAPTPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsARBPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsATOMPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsAUDPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsAVAXPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsAXSPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsBALPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsBCHPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsBLURPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsBNBPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsBONKPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsBTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsCELOPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsCOMPPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsCRVPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsCVXPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsDOGEPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsDOTPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsDYDXPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsENJPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsEOSPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsETCPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsETHBTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsEURPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsFETPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsFILPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsFLOKIPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsFLOWPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsFTMPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsFXSPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsGBPPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsGMXPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsGRTPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsICPPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsIMXPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsINJPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsJTOPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsJUPPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsKNCPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsLDOPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsLINKPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsLTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsMATICPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsMAVPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsMEMEPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsMKRPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsNEARPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsONEPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsOPPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsORDIPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsPENDLEPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsPEPEPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsPERPPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsPYTHPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsRNDRPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsRPLPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsRUNEPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsSEIPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsSHIBPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsSOLPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsSTETHETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsSTETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsSTRKPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsSUIPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsSUSHIPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsTIAPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsTRBPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsTRXPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsUMAPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsUNIPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsUSDTPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsWLDPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsXAGPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsXAUPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsXLMPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsXMRPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsXRPPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsXTZPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsYFIPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsZECPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsZILPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsZRXPERP.json
│ │ │ │ │ ├── PerpsV2MarketWLDPERP.json
│ │ │ │ │ ├── PerpsV2MarketXAGPERP.json
│ │ │ │ │ ├── PerpsV2MarketXAUPERP.json
│ │ │ │ │ ├── PerpsV2MarketXLMPERP.json
│ │ │ │ │ ├── PerpsV2MarketXMRPERP.json
│ │ │ │ │ ├── PerpsV2MarketXRPPERP.json
│ │ │ │ │ ├── PerpsV2MarketXTZPERP.json
│ │ │ │ │ ├── PerpsV2MarketYFIPERP.json
│ │ │ │ │ ├── PerpsV2MarketZECPERP.json
│ │ │ │ │ ├── PerpsV2MarketZILPERP.json
│ │ │ │ │ ├── PerpsV2MarketZRXPERP.json
│ │ │ │ │ ├── PerpsV2Proxy1INCHPERP.json
│ │ │ │ │ ├── PerpsV2ProxyAAVEPERP.json
│ │ │ │ │ ├── PerpsV2ProxyADAPERP.json
│ │ │ │ │ ├── PerpsV2ProxyALGOPERP.json
│ │ │ │ │ ├── PerpsV2ProxyANKRPERP.json
│ │ │ │ │ ├── PerpsV2ProxyAPEPERP.json
│ │ │ │ │ ├── PerpsV2ProxyAPTPERP.json
│ │ │ │ │ ├── PerpsV2ProxyARBPERP.json
│ │ │ │ │ ├── PerpsV2ProxyATOMPERP.json
│ │ │ │ │ ├── PerpsV2ProxyAUDPERP.json
│ │ │ │ │ ├── PerpsV2ProxyAVAXPERP.json
│ │ │ │ │ ├── PerpsV2ProxyAXSPERP.json
│ │ │ │ │ ├── PerpsV2ProxyBALPERP.json
│ │ │ │ │ ├── PerpsV2ProxyBCHPERP.json
│ │ │ │ │ ├── PerpsV2ProxyBLURPERP.json
│ │ │ │ │ ├── PerpsV2ProxyBNBPERP.json
│ │ │ │ │ ├── PerpsV2ProxyBONKPERP.json
│ │ │ │ │ ├── PerpsV2ProxyBTCPERP.json
│ │ │ │ │ ├── PerpsV2ProxyCELOPERP.json
│ │ │ │ │ ├── PerpsV2ProxyCOMPPERP.json
│ │ │ │ │ ├── PerpsV2ProxyCRVPERP.json
│ │ │ │ │ ├── PerpsV2ProxyCVXPERP.json
│ │ │ │ │ ├── PerpsV2ProxyDOGEPERP.json
│ │ │ │ │ ├── PerpsV2ProxyDOTPERP.json
│ │ │ │ │ ├── PerpsV2ProxyDYDXPERP.json
│ │ │ │ │ ├── PerpsV2ProxyENJPERP.json
│ │ │ │ │ ├── PerpsV2ProxyEOSPERP.json
│ │ │ │ │ ├── PerpsV2ProxyETCPERP.json
│ │ │ │ │ ├── PerpsV2ProxyETHBTCPERP.json
│ │ │ │ │ ├── PerpsV2ProxyETHPERP.json
│ │ │ │ │ ├── PerpsV2ProxyEURPERP.json
│ │ │ │ │ ├── PerpsV2ProxyFETPERP.json
│ │ │ │ │ ├── PerpsV2ProxyFILPERP.json
│ │ │ │ │ ├── PerpsV2ProxyFLOKIPERP.json
│ │ │ │ │ ├── PerpsV2ProxyFLOWPERP.json
│ │ │ │ │ ├── PerpsV2ProxyFTMPERP.json
│ │ │ │ │ ├── PerpsV2ProxyFXSPERP.json
│ │ │ │ │ ├── PerpsV2ProxyGBPPERP.json
│ │ │ │ │ ├── PerpsV2ProxyGMXPERP.json
│ │ │ │ │ ├── PerpsV2ProxyGRTPERP.json
│ │ │ │ │ ├── PerpsV2ProxyICPPERP.json
│ │ │ │ │ ├── PerpsV2ProxyIMXPERP.json
│ │ │ │ │ ├── PerpsV2ProxyINJPERP.json
│ │ │ │ │ ├── PerpsV2ProxyJTOPERP.json
│ │ │ │ │ ├── PerpsV2ProxyJUPPERP.json
│ │ │ │ │ ├── PerpsV2ProxyKNCPERP.json
│ │ │ │ │ ├── PerpsV2ProxyLDOPERP.json
│ │ │ │ │ ├── PerpsV2ProxyLINKPERP.json
│ │ │ │ │ ├── PerpsV2ProxyLTCPERP.json
│ │ │ │ │ ├── PerpsV2ProxyMATICPERP.json
│ │ │ │ │ ├── PerpsV2ProxyMAVPERP.json
│ │ │ │ │ ├── PerpsV2ProxyMEMEPERP.json
│ │ │ │ │ ├── PerpsV2ProxyMKRPERP.json
│ │ │ │ │ ├── PerpsV2ProxyNEARPERP.json
│ │ │ │ │ ├── PerpsV2ProxyONEPERP.json
│ │ │ │ │ ├── PerpsV2ProxyOPPERP.json
│ │ │ │ │ ├── PerpsV2ProxyORDIPERP.json
│ │ │ │ │ ├── PerpsV2ProxyPENDLEPERP.json
│ │ │ │ │ ├── PerpsV2ProxyPEPEPERP.json
│ │ │ │ │ ├── PerpsV2ProxyPERPPERP.json
│ │ │ │ │ ├── PerpsV2ProxyPYTHPERP.json
│ │ │ │ │ ├── PerpsV2ProxyRNDRPERP.json
│ │ │ │ │ ├── PerpsV2ProxyRPLPERP.json
│ │ │ │ │ ├── PerpsV2ProxyRUNEPERP.json
│ │ │ │ │ ├── PerpsV2ProxySEIPERP.json
│ │ │ │ │ ├── PerpsV2ProxySHIBPERP.json
│ │ │ │ │ ├── PerpsV2ProxySOLPERP.json
│ │ │ │ │ ├── PerpsV2ProxySTETHETHPERP.json
│ │ │ │ │ ├── PerpsV2ProxySTETHPERP.json
│ │ │ │ │ ├── PerpsV2ProxySTRKPERP.json
│ │ │ │ │ ├── PerpsV2ProxySUIPERP.json
│ │ │ │ │ ├── PerpsV2ProxySUSHIPERP.json
│ │ │ │ │ ├── PerpsV2ProxyTIAPERP.json
│ │ │ │ │ ├── PerpsV2ProxyTRBPERP.json
│ │ │ │ │ ├── PerpsV2ProxyTRXPERP.json
│ │ │ │ │ ├── PerpsV2ProxyUMAPERP.json
│ │ │ │ │ ├── PerpsV2ProxyUNIPERP.json
│ │ │ │ │ ├── PerpsV2ProxyUSDTPERP.json
│ │ │ │ │ ├── PerpsV2ProxyWLDPERP.json
│ │ │ │ │ ├── PerpsV2ProxyXAGPERP.json
│ │ │ │ │ ├── PerpsV2ProxyXAUPERP.json
│ │ │ │ │ ├── PerpsV2ProxyXLMPERP.json
│ │ │ │ │ ├── PerpsV2ProxyXMRPERP.json
│ │ │ │ │ ├── PerpsV2ProxyXRPPERP.json
│ │ │ │ │ ├── PerpsV2ProxyXTZPERP.json
│ │ │ │ │ ├── PerpsV2ProxyYFIPERP.json
│ │ │ │ │ ├── PerpsV2ProxyZECPERP.json
│ │ │ │ │ ├── PerpsV2ProxyZILPERP.json
│ │ │ │ │ ├── PerpsV2ProxyZRXPERP.json
│ │ │ │ │ ├── ProxyERC20.json
│ │ │ │ │ ├── ProxyERC20sUSD.json
│ │ │ │ │ ├── ProxyFeePool.json
│ │ │ │ │ ├── ProxySynthetix.json
│ │ │ │ │ ├── ProxysAAVE.json
│ │ │ │ │ ├── ProxysAVAX.json
│ │ │ │ │ ├── ProxysBTC.json
│ │ │ │ │ ├── ProxysETH.json
│ │ │ │ │ ├── ProxysEUR.json
│ │ │ │ │ ├── ProxysLINK.json
│ │ │ │ │ ├── ProxysMATIC.json
│ │ │ │ │ ├── ProxysSOL.json
│ │ │ │ │ ├── ProxysUNI.json
│ │ │ │ │ ├── ProxysUSD.json
│ │ │ │ │ ├── ReadProxyAddressResolver.json
│ │ │ │ │ ├── RewardEscrowV2.json
│ │ │ │ │ ├── RewardEscrowV2Storage.json
│ │ │ │ │ ├── RewardsDistribution.json
│ │ │ │ │ ├── SafeDecimalMath.json
│ │ │ │ │ ├── SignedSafeDecimalMath.json
│ │ │ │ │ ├── StakingRewardsSNXWETHUniswapV3.json
│ │ │ │ │ ├── StakingRewardssUSDDAIUniswapV3.json
│ │ │ │ │ ├── SynthRedeemer.json
│ │ │ │ │ ├── SynthUtil.json
│ │ │ │ │ ├── Synthetix.json
│ │ │ │ │ ├── SynthetixBridgeToBase.json
│ │ │ │ │ ├── SynthetixDebtShare.json
│ │ │ │ │ ├── SynthetixEscrow.json
│ │ │ │ │ ├── SynthetixState.json
│ │ │ │ │ ├── SynthsAAVE.json
│ │ │ │ │ ├── SynthsAVAX.json
│ │ │ │ │ ├── SynthsBTC.json
│ │ │ │ │ ├── SynthsETH.json
│ │ │ │ │ ├── SynthsEUR.json
│ │ │ │ │ ├── SynthsLINK.json
│ │ │ │ │ ├── SynthsMATIC.json
│ │ │ │ │ ├── SynthsSOL.json
│ │ │ │ │ ├── SynthsUNI.json
│ │ │ │ │ ├── SynthsUSD.json
│ │ │ │ │ ├── SystemSettings.json
│ │ │ │ │ ├── SystemSettingsLib.json
│ │ │ │ │ ├── SystemStatus.json
│ │ │ │ │ ├── TokenStateSynthetix.json
│ │ │ │ │ ├── TokenStatesAAVE.json
│ │ │ │ │ ├── TokenStatesAVAX.json
│ │ │ │ │ ├── TokenStatesBTC.json
│ │ │ │ │ ├── TokenStatesETH.json
│ │ │ │ │ ├── TokenStatesEUR.json
│ │ │ │ │ ├── TokenStatesLINK.json
│ │ │ │ │ ├── TokenStatesMATIC.json
│ │ │ │ │ ├── TokenStatesSOL.json
│ │ │ │ │ ├── TokenStatesUNI.json
│ │ │ │ │ ├── TokenStatesUSD.json
│ │ │ │ │ ├── TradingRewards.json
│ │ │ │ │ └── WrapperFactory.json
│ │ │ └── synths.ts
│ │ ├── mainnet
│ │ │ ├── deployment
│ │ │ │ ├── AddressResolver.ts
│ │ │ │ ├── CircuitBreaker.ts
│ │ │ │ ├── CollateralErc20.ts
│ │ │ │ ├── CollateralEth.ts
│ │ │ │ ├── CollateralManager.ts
│ │ │ │ ├── CollateralManagerState.ts
│ │ │ │ ├── CollateralShort.ts
│ │ │ │ ├── CollateralStateErc20.ts
│ │ │ │ ├── CollateralStateEth.ts
│ │ │ │ ├── CollateralStateShort.ts
│ │ │ │ ├── DappMaintenance.ts
│ │ │ │ ├── DebtCache.ts
│ │ │ │ ├── DebtMigratorOnEthereum.ts
│ │ │ │ ├── DelegateApprovals.ts
│ │ │ │ ├── DelegateApprovalsEternalStorage.ts
│ │ │ │ ├── Depot.ts
│ │ │ │ ├── DirectIntegrationManager.ts
│ │ │ │ ├── DynamicSynthRedeemer.ts
│ │ │ │ ├── EscrowChecker.ts
│ │ │ │ ├── EtherWrapper.ts
│ │ │ │ ├── ExchangeCircuitBreaker.ts
│ │ │ │ ├── ExchangeRates.ts
│ │ │ │ ├── ExchangeSettlementLib.ts
│ │ │ │ ├── ExchangeState.ts
│ │ │ │ ├── Exchanger.ts
│ │ │ │ ├── FeePool.ts
│ │ │ │ ├── FeePoolEternalStorage.ts
│ │ │ │ ├── FeePoolState.ts
│ │ │ │ ├── FlexibleStorage.ts
│ │ │ │ ├── FuturesMarketManager.ts
│ │ │ │ ├── IssuanceEternalStorage.ts
│ │ │ │ ├── Issuer.ts
│ │ │ │ ├── Liquidator.ts
│ │ │ │ ├── LiquidatorRewards.ts
│ │ │ │ ├── Math.ts
│ │ │ │ ├── NativeEtherWrapper.ts
│ │ │ │ ├── OneNetAggregatorDebtRatio.ts
│ │ │ │ ├── OneNetAggregatorIssuedSynths.ts
│ │ │ │ ├── OneNetAggregatorsDEFI.ts
│ │ │ │ ├── OwnerRelayOnEthereum.ts
│ │ │ │ ├── ProxyERC20.ts
│ │ │ │ ├── ProxyERC20sUSD.ts
│ │ │ │ ├── ProxyFeePool.ts
│ │ │ │ ├── ProxySynthetix.ts
│ │ │ │ ├── ProxysAAVE.ts
│ │ │ │ ├── ProxysADA.ts
│ │ │ │ ├── ProxysAUD.ts
│ │ │ │ ├── ProxysBTC.ts
│ │ │ │ ├── ProxysCHF.ts
│ │ │ │ ├── ProxysDOT.ts
│ │ │ │ ├── ProxysETH.ts
│ │ │ │ ├── ProxysETHBTC.ts
│ │ │ │ ├── ProxysEUR.ts
│ │ │ │ ├── ProxysGBP.ts
│ │ │ │ ├── ProxysJPY.ts
│ │ │ │ ├── ProxysKRW.ts
│ │ │ │ ├── ProxysLINK.ts
│ │ │ │ ├── ProxysUSD.ts
│ │ │ │ ├── ReadProxyAddressResolver.ts
│ │ │ │ ├── RewardEscrow.ts
│ │ │ │ ├── RewardEscrowV2.ts
│ │ │ │ ├── RewardEscrowV2Storage.ts
│ │ │ │ ├── RewardsDistribution.ts
│ │ │ │ ├── SafeDecimalMath.ts
│ │ │ │ ├── ShortingRewardssBTC.ts
│ │ │ │ ├── ShortingRewardssETH.ts
│ │ │ │ ├── SignedSafeDecimalMath.ts
│ │ │ │ ├── StakingRewardsSNXBalancer.ts
│ │ │ │ ├── StakingRewardsiBTC.ts
│ │ │ │ ├── StakingRewardsiETH.ts
│ │ │ │ ├── StakingRewardssAAPLBalancer.ts
│ │ │ │ ├── StakingRewardssAMZNBalancer.ts
│ │ │ │ ├── StakingRewardssBTCCurve.ts
│ │ │ │ ├── StakingRewardssCOINBalancer.ts
│ │ │ │ ├── StakingRewardssETHUniswapV1.ts
│ │ │ │ ├── StakingRewardssEURCurve.ts
│ │ │ │ ├── StakingRewardssFBBalancer.ts
│ │ │ │ ├── StakingRewardssGOOGBalancer.ts
│ │ │ │ ├── StakingRewardssMSFTBalancer.ts
│ │ │ │ ├── StakingRewardssNFLXBalancer.ts
│ │ │ │ ├── StakingRewardssTSLABalancer.ts
│ │ │ │ ├── StakingRewardssUSDCurve.ts
│ │ │ │ ├── StakingRewardssXAUUniswapV2.ts
│ │ │ │ ├── SupplySchedule.ts
│ │ │ │ ├── SynthRedeemer.ts
│ │ │ │ ├── SynthUtil.ts
│ │ │ │ ├── Synthetix.ts
│ │ │ │ ├── SynthetixBridgeEscrow.ts
│ │ │ │ ├── SynthetixBridgeToOptimism.ts
│ │ │ │ ├── SynthetixDebtShare.ts
│ │ │ │ ├── SynthetixEscrow.ts
│ │ │ │ ├── SynthetixState.ts
│ │ │ │ ├── SynthsAAVE.ts
│ │ │ │ ├── SynthsADA.ts
│ │ │ │ ├── SynthsAUD.ts
│ │ │ │ ├── SynthsBTC.ts
│ │ │ │ ├── SynthsCHF.ts
│ │ │ │ ├── SynthsDOT.ts
│ │ │ │ ├── SynthsETH.ts
│ │ │ │ ├── SynthsETHBTC.ts
│ │ │ │ ├── SynthsEUR.ts
│ │ │ │ ├── SynthsGBP.ts
│ │ │ │ ├── SynthsJPY.ts
│ │ │ │ ├── SynthsKRW.ts
│ │ │ │ ├── SynthsLINK.ts
│ │ │ │ ├── SynthsUSD.ts
│ │ │ │ ├── SystemSettings.ts
│ │ │ │ ├── SystemSettingsLib.ts
│ │ │ │ ├── SystemStatus.ts
│ │ │ │ ├── TokenStateSynthetix.ts
│ │ │ │ ├── TokenStatesAAVE.ts
│ │ │ │ ├── TokenStatesADA.ts
│ │ │ │ ├── TokenStatesAUD.ts
│ │ │ │ ├── TokenStatesBTC.ts
│ │ │ │ ├── TokenStatesCHF.ts
│ │ │ │ ├── TokenStatesDOT.ts
│ │ │ │ ├── TokenStatesETH.ts
│ │ │ │ ├── TokenStatesETHBTC.ts
│ │ │ │ ├── TokenStatesEUR.ts
│ │ │ │ ├── TokenStatesGBP.ts
│ │ │ │ ├── TokenStatesJPY.ts
│ │ │ │ ├── TokenStatesKRW.ts
│ │ │ │ ├── TokenStatesLINK.ts
│ │ │ │ ├── TokenStatesUSD.ts
│ │ │ │ ├── TradingRewards.ts
│ │ │ │ ├── VirtualSynthMastercopy.ts
│ │ │ │ ├── WrapperFactory.ts
│ │ │ │ └── json
│ │ │ │ │ ├── AddressResolver.json
│ │ │ │ │ ├── CircuitBreaker.json
│ │ │ │ │ ├── CollateralErc20.json
│ │ │ │ │ ├── CollateralEth.json
│ │ │ │ │ ├── CollateralManager.json
│ │ │ │ │ ├── CollateralManagerState.json
│ │ │ │ │ ├── CollateralShort.json
│ │ │ │ │ ├── CollateralStateErc20.json
│ │ │ │ │ ├── CollateralStateEth.json
│ │ │ │ │ ├── CollateralStateShort.json
│ │ │ │ │ ├── DappMaintenance.json
│ │ │ │ │ ├── DebtCache.json
│ │ │ │ │ ├── DebtMigratorOnEthereum.json
│ │ │ │ │ ├── DelegateApprovals.json
│ │ │ │ │ ├── DelegateApprovalsEternalStorage.json
│ │ │ │ │ ├── Depot.json
│ │ │ │ │ ├── DirectIntegrationManager.json
│ │ │ │ │ ├── DynamicSynthRedeemer.json
│ │ │ │ │ ├── EscrowChecker.json
│ │ │ │ │ ├── EtherWrapper.json
│ │ │ │ │ ├── ExchangeCircuitBreaker.json
│ │ │ │ │ ├── ExchangeRates.json
│ │ │ │ │ ├── ExchangeSettlementLib.json
│ │ │ │ │ ├── ExchangeState.json
│ │ │ │ │ ├── Exchanger.json
│ │ │ │ │ ├── FeePool.json
│ │ │ │ │ ├── FeePoolEternalStorage.json
│ │ │ │ │ ├── FeePoolState.json
│ │ │ │ │ ├── FlexibleStorage.json
│ │ │ │ │ ├── FuturesMarketManager.json
│ │ │ │ │ ├── IssuanceEternalStorage.json
│ │ │ │ │ ├── Issuer.json
│ │ │ │ │ ├── Liquidator.json
│ │ │ │ │ ├── LiquidatorRewards.json
│ │ │ │ │ ├── Math.json
│ │ │ │ │ ├── NativeEtherWrapper.json
│ │ │ │ │ ├── OneNetAggregatorDebtRatio.json
│ │ │ │ │ ├── OneNetAggregatorIssuedSynths.json
│ │ │ │ │ ├── OneNetAggregatorsDEFI.json
│ │ │ │ │ ├── OwnerRelayOnEthereum.json
│ │ │ │ │ ├── ProxyERC20.json
│ │ │ │ │ ├── ProxyERC20sUSD.json
│ │ │ │ │ ├── ProxyFeePool.json
│ │ │ │ │ ├── ProxySynthetix.json
│ │ │ │ │ ├── ProxysAAVE.json
│ │ │ │ │ ├── ProxysADA.json
│ │ │ │ │ ├── ProxysAUD.json
│ │ │ │ │ ├── ProxysBTC.json
│ │ │ │ │ ├── ProxysCHF.json
│ │ │ │ │ ├── ProxysDOT.json
│ │ │ │ │ ├── ProxysETH.json
│ │ │ │ │ ├── ProxysETHBTC.json
│ │ │ │ │ ├── ProxysEUR.json
│ │ │ │ │ ├── ProxysGBP.json
│ │ │ │ │ ├── ProxysJPY.json
│ │ │ │ │ ├── ProxysKRW.json
│ │ │ │ │ ├── ProxysLINK.json
│ │ │ │ │ ├── ProxysUSD.json
│ │ │ │ │ ├── ReadProxyAddressResolver.json
│ │ │ │ │ ├── RewardEscrow.json
│ │ │ │ │ ├── RewardEscrowV2.json
│ │ │ │ │ ├── RewardEscrowV2Storage.json
│ │ │ │ │ ├── RewardsDistribution.json
│ │ │ │ │ ├── SafeDecimalMath.json
│ │ │ │ │ ├── ShortingRewardssBTC.json
│ │ │ │ │ ├── ShortingRewardssETH.json
│ │ │ │ │ ├── SignedSafeDecimalMath.json
│ │ │ │ │ ├── StakingRewardsSNXBalancer.json
│ │ │ │ │ ├── StakingRewardsiBTC.json
│ │ │ │ │ ├── StakingRewardsiETH.json
│ │ │ │ │ ├── StakingRewardssAAPLBalancer.json
│ │ │ │ │ ├── StakingRewardssAMZNBalancer.json
│ │ │ │ │ ├── StakingRewardssBTCCurve.json
│ │ │ │ │ ├── StakingRewardssCOINBalancer.json
│ │ │ │ │ ├── StakingRewardssETHUniswapV1.json
│ │ │ │ │ ├── StakingRewardssEURCurve.json
│ │ │ │ │ ├── StakingRewardssFBBalancer.json
│ │ │ │ │ ├── StakingRewardssGOOGBalancer.json
│ │ │ │ │ ├── StakingRewardssMSFTBalancer.json
│ │ │ │ │ ├── StakingRewardssNFLXBalancer.json
│ │ │ │ │ ├── StakingRewardssTSLABalancer.json
│ │ │ │ │ ├── StakingRewardssUSDCurve.json
│ │ │ │ │ ├── StakingRewardssXAUUniswapV2.json
│ │ │ │ │ ├── SupplySchedule.json
│ │ │ │ │ ├── SynthRedeemer.json
│ │ │ │ │ ├── SynthUtil.json
│ │ │ │ │ ├── Synthetix.json
│ │ │ │ │ ├── SynthetixBridgeEscrow.json
│ │ │ │ │ ├── SynthetixBridgeToOptimism.json
│ │ │ │ │ ├── SynthetixDebtShare.json
│ │ │ │ │ ├── SynthetixEscrow.json
│ │ │ │ │ ├── SynthetixState.json
│ │ │ │ │ ├── SynthsAAVE.json
│ │ │ │ │ ├── SynthsADA.json
│ │ │ │ │ ├── SynthsAUD.json
│ │ │ │ │ ├── SynthsBTC.json
│ │ │ │ │ ├── SynthsCHF.json
│ │ │ │ │ ├── SynthsDOT.json
│ │ │ │ │ ├── SynthsETH.json
│ │ │ │ │ ├── SynthsETHBTC.json
│ │ │ │ │ ├── SynthsEUR.json
│ │ │ │ │ ├── SynthsGBP.json
│ │ │ │ │ ├── SynthsJPY.json
│ │ │ │ │ ├── SynthsKRW.json
│ │ │ │ │ ├── SynthsLINK.json
│ │ │ │ │ ├── SynthsUSD.json
│ │ │ │ │ ├── SystemSettings.json
│ │ │ │ │ ├── SystemSettingsLib.json
│ │ │ │ │ ├── SystemStatus.json
│ │ │ │ │ ├── TokenStateSynthetix.json
│ │ │ │ │ ├── TokenStatesAAVE.json
│ │ │ │ │ ├── TokenStatesADA.json
│ │ │ │ │ ├── TokenStatesAUD.json
│ │ │ │ │ ├── TokenStatesBTC.json
│ │ │ │ │ ├── TokenStatesCHF.json
│ │ │ │ │ ├── TokenStatesDOT.json
│ │ │ │ │ ├── TokenStatesETH.json
│ │ │ │ │ ├── TokenStatesETHBTC.json
│ │ │ │ │ ├── TokenStatesEUR.json
│ │ │ │ │ ├── TokenStatesGBP.json
│ │ │ │ │ ├── TokenStatesJPY.json
│ │ │ │ │ ├── TokenStatesKRW.json
│ │ │ │ │ ├── TokenStatesLINK.json
│ │ │ │ │ ├── TokenStatesUSD.json
│ │ │ │ │ ├── TradingRewards.json
│ │ │ │ │ ├── VirtualSynthMastercopy.json
│ │ │ │ │ └── WrapperFactory.json
│ │ │ └── synths.ts
│ │ ├── sepolia-ovm
│ │ │ ├── deployment
│ │ │ │ ├── AddressResolver.ts
│ │ │ │ ├── CircuitBreaker.ts
│ │ │ │ ├── CollateralEth.ts
│ │ │ │ ├── CollateralManager.ts
│ │ │ │ ├── CollateralManagerState.ts
│ │ │ │ ├── CollateralShort.ts
│ │ │ │ ├── CollateralUtil.ts
│ │ │ │ ├── DappMaintenance.ts
│ │ │ │ ├── DebtCache.ts
│ │ │ │ ├── DebtMigratorOnOptimism.ts
│ │ │ │ ├── DelegateApprovals.ts
│ │ │ │ ├── DelegateApprovalsEternalStorage.ts
│ │ │ │ ├── DirectIntegrationManager.ts
│ │ │ │ ├── DynamicSynthRedeemer.ts
│ │ │ │ ├── EscrowChecker.ts
│ │ │ │ ├── EtherWrapper.ts
│ │ │ │ ├── ExchangeCircuitBreaker.ts
│ │ │ │ ├── ExchangeRates.ts
│ │ │ │ ├── ExchangeSettlementLib.ts
│ │ │ │ ├── ExchangeState.ts
│ │ │ │ ├── Exchanger.ts
│ │ │ │ ├── FeePool.ts
│ │ │ │ ├── FeePoolEternalStorage.ts
│ │ │ │ ├── FeePoolState.ts
│ │ │ │ ├── FlexibleStorage.ts
│ │ │ │ ├── FuturesMarketManager.ts
│ │ │ │ ├── Issuer.ts
│ │ │ │ ├── Liquidator.ts
│ │ │ │ ├── LiquidatorRewards.ts
│ │ │ │ ├── Math.ts
│ │ │ │ ├── OneNetAggregatorDebtRatio.ts
│ │ │ │ ├── OneNetAggregatorIssuedSynths.ts
│ │ │ │ ├── OwnerRelayOnOptimism.ts
│ │ │ │ ├── PerpsV2DelayedExecution1INCHPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionAAVEPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionADAPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionALGOPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionANKRPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionAPEPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionAPTPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionARBPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionATOMPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionAUDPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionAVAXPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionAXSPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionBALPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionBCHPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionBLURPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionBNBPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionBONKPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionBTCPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionCELOPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionCOMPPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionCRVPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionCVXPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionDOGEPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionDOTPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionDYDXPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionENJPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionEOSPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionETCPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionETHBTCPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionETHPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionEURPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionFETPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionFILPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionFLOKIPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionFLOWPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionFTMPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionFXSPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionGBPPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionGMXPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionGRTPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionICPPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionIMXPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionINJPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionJTOPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionJUPPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionKNCPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionLDOPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionLINKPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionLTCPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionMATICPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionMAVPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionMEMEPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionMKRPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionNEARPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionONEPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionOPPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionORDIPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionPENDLEPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionPEPEPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionPERPPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionPYTHPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionRNDRPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionRPLPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionRUNEPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionSEIPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionSHIBPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionSOLPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionSTETHETHPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionSTETHPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionSTRKPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionSUIPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionSUSHIPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionTIAPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionTRBPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionTRXPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionUMAPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionUNIPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionUSDTPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionWLDPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionXAGPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionXAUPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionXLMPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionXMRPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionXRPPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionXTZPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionYFIPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionZECPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionZILPERP.ts
│ │ │ │ ├── PerpsV2DelayedExecutionZRXPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntent1INCHPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentAAVEPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentADAPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentALGOPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentANKRPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentAPEPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentAPTPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentARBPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentATOMPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentAUDPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentAVAXPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentAXSPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentBALPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentBCHPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentBLURPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentBNBPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentBONKPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentBTCPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentCELOPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentCOMPPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentCRVPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentCVXPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentDOGEPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentDOTPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentDYDXPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentENJPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentEOSPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentETCPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentETHBTCPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentETHPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentEURPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentFETPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentFILPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentFLOKIPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentFLOWPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentFTMPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentFXSPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentGBPPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentGMXPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentGRTPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentICPPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentIMXPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentINJPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentJTOPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentJUPPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentKNCPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentLDOPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentLINKPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentLTCPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentMATICPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentMAVPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentMEMEPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentMKRPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentNEARPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentONEPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentOPPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentORDIPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentPENDLEPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentPEPEPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentPERPPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentPYTHPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentRNDRPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentRPLPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentRUNEPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentSEIPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentSHIBPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentSOLPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentSTETHETHPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentSTETHPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentSTRKPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentSUIPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentSUSHIPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentTIAPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentTRBPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentTRXPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentUMAPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentUNIPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentUSDTPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentWLDPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentXAGPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentXAUPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentXLMPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentXMRPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentXRPPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentXTZPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentYFIPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentZECPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentZILPERP.ts
│ │ │ │ ├── PerpsV2DelayedIntentZRXPERP.ts
│ │ │ │ ├── PerpsV2ExchangeRate.ts
│ │ │ │ ├── PerpsV2Market1INCHPERP.ts
│ │ │ │ ├── PerpsV2MarketAAVEPERP.ts
│ │ │ │ ├── PerpsV2MarketADAPERP.ts
│ │ │ │ ├── PerpsV2MarketALGOPERP.ts
│ │ │ │ ├── PerpsV2MarketANKRPERP.ts
│ │ │ │ ├── PerpsV2MarketAPEPERP.ts
│ │ │ │ ├── PerpsV2MarketAPTPERP.ts
│ │ │ │ ├── PerpsV2MarketARBPERP.ts
│ │ │ │ ├── PerpsV2MarketATOMPERP.ts
│ │ │ │ ├── PerpsV2MarketAUDPERP.ts
│ │ │ │ ├── PerpsV2MarketAVAXPERP.ts
│ │ │ │ ├── PerpsV2MarketAXSPERP.ts
│ │ │ │ ├── PerpsV2MarketBALPERP.ts
│ │ │ │ ├── PerpsV2MarketBCHPERP.ts
│ │ │ │ ├── PerpsV2MarketBLURPERP.ts
│ │ │ │ ├── PerpsV2MarketBNBPERP.ts
│ │ │ │ ├── PerpsV2MarketBONKPERP.ts
│ │ │ │ ├── PerpsV2MarketBTCPERP.ts
│ │ │ │ ├── PerpsV2MarketCELOPERP.ts
│ │ │ │ ├── PerpsV2MarketCOMPPERP.ts
│ │ │ │ ├── PerpsV2MarketCRVPERP.ts
│ │ │ │ ├── PerpsV2MarketCVXPERP.ts
│ │ │ │ ├── PerpsV2MarketDOGEPERP.ts
│ │ │ │ ├── PerpsV2MarketDOTPERP.ts
│ │ │ │ ├── PerpsV2MarketDYDXPERP.ts
│ │ │ │ ├── PerpsV2MarketData.ts
│ │ │ │ ├── PerpsV2MarketENJPERP.ts
│ │ │ │ ├── PerpsV2MarketEOSPERP.ts
│ │ │ │ ├── PerpsV2MarketETCPERP.ts
│ │ │ │ ├── PerpsV2MarketETHBTCPERP.ts
│ │ │ │ ├── PerpsV2MarketETHPERP.ts
│ │ │ │ ├── PerpsV2MarketEURPERP.ts
│ │ │ │ ├── PerpsV2MarketFETPERP.ts
│ │ │ │ ├── PerpsV2MarketFILPERP.ts
│ │ │ │ ├── PerpsV2MarketFLOKIPERP.ts
│ │ │ │ ├── PerpsV2MarketFLOWPERP.ts
│ │ │ │ ├── PerpsV2MarketFTMPERP.ts
│ │ │ │ ├── PerpsV2MarketFXSPERP.ts
│ │ │ │ ├── PerpsV2MarketGBPPERP.ts
│ │ │ │ ├── PerpsV2MarketGMXPERP.ts
│ │ │ │ ├── PerpsV2MarketGRTPERP.ts
│ │ │ │ ├── PerpsV2MarketICPPERP.ts
│ │ │ │ ├── PerpsV2MarketIMXPERP.ts
│ │ │ │ ├── PerpsV2MarketINJPERP.ts
│ │ │ │ ├── PerpsV2MarketJTOPERP.ts
│ │ │ │ ├── PerpsV2MarketJUPPERP.ts
│ │ │ │ ├── PerpsV2MarketKNCPERP.ts
│ │ │ │ ├── PerpsV2MarketLDOPERP.ts
│ │ │ │ ├── PerpsV2MarketLINKPERP.ts
│ │ │ │ ├── PerpsV2MarketLTCPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidate1INCHPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateAAVEPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateADAPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateALGOPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateANKRPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateAPEPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateAPTPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateARBPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateATOMPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateAUDPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateAVAXPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateAXSPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateBALPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateBCHPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateBLURPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateBNBPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateBONKPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateBTCPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateCELOPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateCOMPPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateCRVPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateCVXPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateDOGEPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateDOTPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateDYDXPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateENJPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateEOSPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateETCPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateETHBTCPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateETHPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateEURPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateFETPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateFILPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateFLOKIPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateFLOWPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateFTMPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateFXSPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateGBPPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateGMXPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateGRTPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateICPPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateIMXPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateINJPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateJTOPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateJUPPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateKNCPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateLDOPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateLINKPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateLTCPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateMATICPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateMAVPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateMEMEPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateMKRPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateNEARPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateONEPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateOPPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateORDIPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidatePENDLEPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidatePEPEPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidatePERPPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidatePYTHPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateRNDRPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateRPLPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateRUNEPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateSEIPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateSHIBPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateSOLPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateSTETHETHPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateSTETHPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateSTRKPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateSUIPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateSUSHIPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateTIAPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateTRBPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateTRXPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateUMAPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateUNIPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateUSDTPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateWLDPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateXAGPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateXAUPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateXLMPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateXMRPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateXRPPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateXTZPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateYFIPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateZECPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateZILPERP.ts
│ │ │ │ ├── PerpsV2MarketLiquidateZRXPERP.ts
│ │ │ │ ├── PerpsV2MarketMATICPERP.ts
│ │ │ │ ├── PerpsV2MarketMAVPERP.ts
│ │ │ │ ├── PerpsV2MarketMEMEPERP.ts
│ │ │ │ ├── PerpsV2MarketMKRPERP.ts
│ │ │ │ ├── PerpsV2MarketNEARPERP.ts
│ │ │ │ ├── PerpsV2MarketONEPERP.ts
│ │ │ │ ├── PerpsV2MarketOPPERP.ts
│ │ │ │ ├── PerpsV2MarketORDIPERP.ts
│ │ │ │ ├── PerpsV2MarketPENDLEPERP.ts
│ │ │ │ ├── PerpsV2MarketPEPEPERP.ts
│ │ │ │ ├── PerpsV2MarketPERPPERP.ts
│ │ │ │ ├── PerpsV2MarketPYTHPERP.ts
│ │ │ │ ├── PerpsV2MarketRNDRPERP.ts
│ │ │ │ ├── PerpsV2MarketRPLPERP.ts
│ │ │ │ ├── PerpsV2MarketRUNEPERP.ts
│ │ │ │ ├── PerpsV2MarketSEIPERP.ts
│ │ │ │ ├── PerpsV2MarketSHIBPERP.ts
│ │ │ │ ├── PerpsV2MarketSOLPERP.ts
│ │ │ │ ├── PerpsV2MarketSTETHETHPERP.ts
│ │ │ │ ├── PerpsV2MarketSTETHPERP.ts
│ │ │ │ ├── PerpsV2MarketSTRKPERP.ts
│ │ │ │ ├── PerpsV2MarketSUIPERP.ts
│ │ │ │ ├── PerpsV2MarketSUSHIPERP.ts
│ │ │ │ ├── PerpsV2MarketSettings.ts
│ │ │ │ ├── PerpsV2MarketState1INCHPERP.ts
│ │ │ │ ├── PerpsV2MarketStateAAVEPERP.ts
│ │ │ │ ├── PerpsV2MarketStateADAPERP.ts
│ │ │ │ ├── PerpsV2MarketStateALGOPERP.ts
│ │ │ │ ├── PerpsV2MarketStateANKRPERP.ts
│ │ │ │ ├── PerpsV2MarketStateAPEPERP.ts
│ │ │ │ ├── PerpsV2MarketStateAPTPERP.ts
│ │ │ │ ├── PerpsV2MarketStateARBPERP.ts
│ │ │ │ ├── PerpsV2MarketStateATOMPERP.ts
│ │ │ │ ├── PerpsV2MarketStateAUDPERP.ts
│ │ │ │ ├── PerpsV2MarketStateAVAXPERP.ts
│ │ │ │ ├── PerpsV2MarketStateAXSPERP.ts
│ │ │ │ ├── PerpsV2MarketStateBALPERP.ts
│ │ │ │ ├── PerpsV2MarketStateBCHPERP.ts
│ │ │ │ ├── PerpsV2MarketStateBLURPERP.ts
│ │ │ │ ├── PerpsV2MarketStateBNBPERP.ts
│ │ │ │ ├── PerpsV2MarketStateBONKPERP.ts
│ │ │ │ ├── PerpsV2MarketStateBTCPERP.ts
│ │ │ │ ├── PerpsV2MarketStateCELOPERP.ts
│ │ │ │ ├── PerpsV2MarketStateCOMPPERP.ts
│ │ │ │ ├── PerpsV2MarketStateCRVPERP.ts
│ │ │ │ ├── PerpsV2MarketStateCVXPERP.ts
│ │ │ │ ├── PerpsV2MarketStateDOGEPERP.ts
│ │ │ │ ├── PerpsV2MarketStateDOTPERP.ts
│ │ │ │ ├── PerpsV2MarketStateDYDXPERP.ts
│ │ │ │ ├── PerpsV2MarketStateENJPERP.ts
│ │ │ │ ├── PerpsV2MarketStateEOSPERP.ts
│ │ │ │ ├── PerpsV2MarketStateETCPERP.ts
│ │ │ │ ├── PerpsV2MarketStateETHBTCPERP.ts
│ │ │ │ ├── PerpsV2MarketStateETHPERP.ts
│ │ │ │ ├── PerpsV2MarketStateEURPERP.ts
│ │ │ │ ├── PerpsV2MarketStateFETPERP.ts
│ │ │ │ ├── PerpsV2MarketStateFILPERP.ts
│ │ │ │ ├── PerpsV2MarketStateFLOKIPERP.ts
│ │ │ │ ├── PerpsV2MarketStateFLOWPERP.ts
│ │ │ │ ├── PerpsV2MarketStateFTMPERP.ts
│ │ │ │ ├── PerpsV2MarketStateFXSPERP.ts
│ │ │ │ ├── PerpsV2MarketStateGBPPERP.ts
│ │ │ │ ├── PerpsV2MarketStateGMXPERP.ts
│ │ │ │ ├── PerpsV2MarketStateGRTPERP.ts
│ │ │ │ ├── PerpsV2MarketStateICPPERP.ts
│ │ │ │ ├── PerpsV2MarketStateIMXPERP.ts
│ │ │ │ ├── PerpsV2MarketStateINJPERP.ts
│ │ │ │ ├── PerpsV2MarketStateJTOPERP.ts
│ │ │ │ ├── PerpsV2MarketStateJUPPERP.ts
│ │ │ │ ├── PerpsV2MarketStateKNCPERP.ts
│ │ │ │ ├── PerpsV2MarketStateLDOPERP.ts
│ │ │ │ ├── PerpsV2MarketStateLINKPERP.ts
│ │ │ │ ├── PerpsV2MarketStateLTCPERP.ts
│ │ │ │ ├── PerpsV2MarketStateMATICPERP.ts
│ │ │ │ ├── PerpsV2MarketStateMAVPERP.ts
│ │ │ │ ├── PerpsV2MarketStateMEMEPERP.ts
│ │ │ │ ├── PerpsV2MarketStateMKRPERP.ts
│ │ │ │ ├── PerpsV2MarketStateNEARPERP.ts
│ │ │ │ ├── PerpsV2MarketStateONEPERP.ts
│ │ │ │ ├── PerpsV2MarketStateOPPERP.ts
│ │ │ │ ├── PerpsV2MarketStateORDIPERP.ts
│ │ │ │ ├── PerpsV2MarketStatePENDLEPERP.ts
│ │ │ │ ├── PerpsV2MarketStatePEPEPERP.ts
│ │ │ │ ├── PerpsV2MarketStatePERPPERP.ts
│ │ │ │ ├── PerpsV2MarketStatePYTHPERP.ts
│ │ │ │ ├── PerpsV2MarketStateRNDRPERP.ts
│ │ │ │ ├── PerpsV2MarketStateRPLPERP.ts
│ │ │ │ ├── PerpsV2MarketStateRUNEPERP.ts
│ │ │ │ ├── PerpsV2MarketStateSEIPERP.ts
│ │ │ │ ├── PerpsV2MarketStateSHIBPERP.ts
│ │ │ │ ├── PerpsV2MarketStateSOLPERP.ts
│ │ │ │ ├── PerpsV2MarketStateSTETHETHPERP.ts
│ │ │ │ ├── PerpsV2MarketStateSTETHPERP.ts
│ │ │ │ ├── PerpsV2MarketStateSTRKPERP.ts
│ │ │ │ ├── PerpsV2MarketStateSUIPERP.ts
│ │ │ │ ├── PerpsV2MarketStateSUSHIPERP.ts
│ │ │ │ ├── PerpsV2MarketStateTIAPERP.ts
│ │ │ │ ├── PerpsV2MarketStateTRBPERP.ts
│ │ │ │ ├── PerpsV2MarketStateTRXPERP.ts
│ │ │ │ ├── PerpsV2MarketStateUMAPERP.ts
│ │ │ │ ├── PerpsV2MarketStateUNIPERP.ts
│ │ │ │ ├── PerpsV2MarketStateUSDTPERP.ts
│ │ │ │ ├── PerpsV2MarketStateWLDPERP.ts
│ │ │ │ ├── PerpsV2MarketStateXAGPERP.ts
│ │ │ │ ├── PerpsV2MarketStateXAUPERP.ts
│ │ │ │ ├── PerpsV2MarketStateXLMPERP.ts
│ │ │ │ ├── PerpsV2MarketStateXMRPERP.ts
│ │ │ │ ├── PerpsV2MarketStateXRPPERP.ts
│ │ │ │ ├── PerpsV2MarketStateXTZPERP.ts
│ │ │ │ ├── PerpsV2MarketStateYFIPERP.ts
│ │ │ │ ├── PerpsV2MarketStateZECPERP.ts
│ │ │ │ ├── PerpsV2MarketStateZILPERP.ts
│ │ │ │ ├── PerpsV2MarketStateZRXPERP.ts
│ │ │ │ ├── PerpsV2MarketTIAPERP.ts
│ │ │ │ ├── PerpsV2MarketTRBPERP.ts
│ │ │ │ ├── PerpsV2MarketTRXPERP.ts
│ │ │ │ ├── PerpsV2MarketUMAPERP.ts
│ │ │ │ ├── PerpsV2MarketUNIPERP.ts
│ │ │ │ ├── PerpsV2MarketUSDTPERP.ts
│ │ │ │ ├── PerpsV2MarketViews1INCHPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsAAVEPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsADAPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsALGOPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsANKRPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsAPEPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsAPTPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsARBPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsATOMPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsAUDPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsAVAXPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsAXSPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsBALPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsBCHPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsBLURPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsBNBPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsBONKPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsBTCPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsCELOPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsCOMPPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsCRVPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsCVXPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsDOGEPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsDOTPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsDYDXPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsENJPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsEOSPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsETCPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsETHBTCPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsETHPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsEURPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsFETPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsFILPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsFLOKIPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsFLOWPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsFTMPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsFXSPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsGBPPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsGMXPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsGRTPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsICPPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsIMXPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsINJPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsJTOPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsJUPPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsKNCPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsLDOPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsLINKPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsLTCPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsMATICPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsMAVPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsMEMEPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsMKRPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsNEARPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsONEPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsOPPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsORDIPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsPENDLEPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsPEPEPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsPERPPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsPYTHPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsRNDRPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsRPLPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsRUNEPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsSEIPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsSHIBPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsSOLPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsSTETHETHPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsSTETHPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsSTRKPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsSUIPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsSUSHIPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsTIAPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsTRBPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsTRXPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsUMAPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsUNIPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsUSDTPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsWLDPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsXAGPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsXAUPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsXLMPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsXMRPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsXRPPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsXTZPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsYFIPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsZECPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsZILPERP.ts
│ │ │ │ ├── PerpsV2MarketViewsZRXPERP.ts
│ │ │ │ ├── PerpsV2MarketWLDPERP.ts
│ │ │ │ ├── PerpsV2MarketXAGPERP.ts
│ │ │ │ ├── PerpsV2MarketXAUPERP.ts
│ │ │ │ ├── PerpsV2MarketXLMPERP.ts
│ │ │ │ ├── PerpsV2MarketXMRPERP.ts
│ │ │ │ ├── PerpsV2MarketXRPPERP.ts
│ │ │ │ ├── PerpsV2MarketXTZPERP.ts
│ │ │ │ ├── PerpsV2MarketYFIPERP.ts
│ │ │ │ ├── PerpsV2MarketZECPERP.ts
│ │ │ │ ├── PerpsV2MarketZILPERP.ts
│ │ │ │ ├── PerpsV2MarketZRXPERP.ts
│ │ │ │ ├── PerpsV2Proxy1INCHPERP.ts
│ │ │ │ ├── PerpsV2ProxyAAVEPERP.ts
│ │ │ │ ├── PerpsV2ProxyADAPERP.ts
│ │ │ │ ├── PerpsV2ProxyALGOPERP.ts
│ │ │ │ ├── PerpsV2ProxyANKRPERP.ts
│ │ │ │ ├── PerpsV2ProxyAPEPERP.ts
│ │ │ │ ├── PerpsV2ProxyAPTPERP.ts
│ │ │ │ ├── PerpsV2ProxyARBPERP.ts
│ │ │ │ ├── PerpsV2ProxyATOMPERP.ts
│ │ │ │ ├── PerpsV2ProxyAUDPERP.ts
│ │ │ │ ├── PerpsV2ProxyAVAXPERP.ts
│ │ │ │ ├── PerpsV2ProxyAXSPERP.ts
│ │ │ │ ├── PerpsV2ProxyBALPERP.ts
│ │ │ │ ├── PerpsV2ProxyBCHPERP.ts
│ │ │ │ ├── PerpsV2ProxyBLURPERP.ts
│ │ │ │ ├── PerpsV2ProxyBNBPERP.ts
│ │ │ │ ├── PerpsV2ProxyBONKPERP.ts
│ │ │ │ ├── PerpsV2ProxyBTCPERP.ts
│ │ │ │ ├── PerpsV2ProxyCELOPERP.ts
│ │ │ │ ├── PerpsV2ProxyCOMPPERP.ts
│ │ │ │ ├── PerpsV2ProxyCRVPERP.ts
│ │ │ │ ├── PerpsV2ProxyCVXPERP.ts
│ │ │ │ ├── PerpsV2ProxyDOGEPERP.ts
│ │ │ │ ├── PerpsV2ProxyDOTPERP.ts
│ │ │ │ ├── PerpsV2ProxyDYDXPERP.ts
│ │ │ │ ├── PerpsV2ProxyENJPERP.ts
│ │ │ │ ├── PerpsV2ProxyEOSPERP.ts
│ │ │ │ ├── PerpsV2ProxyETCPERP.ts
│ │ │ │ ├── PerpsV2ProxyETHBTCPERP.ts
│ │ │ │ ├── PerpsV2ProxyETHPERP.ts
│ │ │ │ ├── PerpsV2ProxyEURPERP.ts
│ │ │ │ ├── PerpsV2ProxyFETPERP.ts
│ │ │ │ ├── PerpsV2ProxyFILPERP.ts
│ │ │ │ ├── PerpsV2ProxyFLOKIPERP.ts
│ │ │ │ ├── PerpsV2ProxyFLOWPERP.ts
│ │ │ │ ├── PerpsV2ProxyFTMPERP.ts
│ │ │ │ ├── PerpsV2ProxyFXSPERP.ts
│ │ │ │ ├── PerpsV2ProxyGBPPERP.ts
│ │ │ │ ├── PerpsV2ProxyGMXPERP.ts
│ │ │ │ ├── PerpsV2ProxyGRTPERP.ts
│ │ │ │ ├── PerpsV2ProxyICPPERP.ts
│ │ │ │ ├── PerpsV2ProxyIMXPERP.ts
│ │ │ │ ├── PerpsV2ProxyINJPERP.ts
│ │ │ │ ├── PerpsV2ProxyJTOPERP.ts
│ │ │ │ ├── PerpsV2ProxyJUPPERP.ts
│ │ │ │ ├── PerpsV2ProxyKNCPERP.ts
│ │ │ │ ├── PerpsV2ProxyLDOPERP.ts
│ │ │ │ ├── PerpsV2ProxyLINKPERP.ts
│ │ │ │ ├── PerpsV2ProxyLTCPERP.ts
│ │ │ │ ├── PerpsV2ProxyMATICPERP.ts
│ │ │ │ ├── PerpsV2ProxyMAVPERP.ts
│ │ │ │ ├── PerpsV2ProxyMEMEPERP.ts
│ │ │ │ ├── PerpsV2ProxyMKRPERP.ts
│ │ │ │ ├── PerpsV2ProxyNEARPERP.ts
│ │ │ │ ├── PerpsV2ProxyONEPERP.ts
│ │ │ │ ├── PerpsV2ProxyOPPERP.ts
│ │ │ │ ├── PerpsV2ProxyORDIPERP.ts
│ │ │ │ ├── PerpsV2ProxyPENDLEPERP.ts
│ │ │ │ ├── PerpsV2ProxyPEPEPERP.ts
│ │ │ │ ├── PerpsV2ProxyPERPPERP.ts
│ │ │ │ ├── PerpsV2ProxyPYTHPERP.ts
│ │ │ │ ├── PerpsV2ProxyRNDRPERP.ts
│ │ │ │ ├── PerpsV2ProxyRPLPERP.ts
│ │ │ │ ├── PerpsV2ProxyRUNEPERP.ts
│ │ │ │ ├── PerpsV2ProxySEIPERP.ts
│ │ │ │ ├── PerpsV2ProxySHIBPERP.ts
│ │ │ │ ├── PerpsV2ProxySOLPERP.ts
│ │ │ │ ├── PerpsV2ProxySTETHETHPERP.ts
│ │ │ │ ├── PerpsV2ProxySTETHPERP.ts
│ │ │ │ ├── PerpsV2ProxySTRKPERP.ts
│ │ │ │ ├── PerpsV2ProxySUIPERP.ts
│ │ │ │ ├── PerpsV2ProxySUSHIPERP.ts
│ │ │ │ ├── PerpsV2ProxyTIAPERP.ts
│ │ │ │ ├── PerpsV2ProxyTRBPERP.ts
│ │ │ │ ├── PerpsV2ProxyTRXPERP.ts
│ │ │ │ ├── PerpsV2ProxyUMAPERP.ts
│ │ │ │ ├── PerpsV2ProxyUNIPERP.ts
│ │ │ │ ├── PerpsV2ProxyUSDTPERP.ts
│ │ │ │ ├── PerpsV2ProxyWLDPERP.ts
│ │ │ │ ├── PerpsV2ProxyXAGPERP.ts
│ │ │ │ ├── PerpsV2ProxyXAUPERP.ts
│ │ │ │ ├── PerpsV2ProxyXLMPERP.ts
│ │ │ │ ├── PerpsV2ProxyXMRPERP.ts
│ │ │ │ ├── PerpsV2ProxyXRPPERP.ts
│ │ │ │ ├── PerpsV2ProxyXTZPERP.ts
│ │ │ │ ├── PerpsV2ProxyYFIPERP.ts
│ │ │ │ ├── PerpsV2ProxyZECPERP.ts
│ │ │ │ ├── PerpsV2ProxyZILPERP.ts
│ │ │ │ ├── PerpsV2ProxyZRXPERP.ts
│ │ │ │ ├── ProxyFeePool.ts
│ │ │ │ ├── ProxySynthetix.ts
│ │ │ │ ├── ProxysBTC.ts
│ │ │ │ ├── ProxysETH.ts
│ │ │ │ ├── ProxysUSD.ts
│ │ │ │ ├── ReadProxyAddressResolver.ts
│ │ │ │ ├── RewardEscrowV2.ts
│ │ │ │ ├── RewardEscrowV2Frozen.ts
│ │ │ │ ├── RewardEscrowV2Storage.ts
│ │ │ │ ├── RewardsDistribution.ts
│ │ │ │ ├── SafeDecimalMath.ts
│ │ │ │ ├── SignedSafeDecimalMath.ts
│ │ │ │ ├── SynthRedeemer.ts
│ │ │ │ ├── SynthUtil.ts
│ │ │ │ ├── Synthetix.ts
│ │ │ │ ├── SynthetixBridgeToBase.ts
│ │ │ │ ├── SynthetixDebtShare.ts
│ │ │ │ ├── SynthetixEscrow.ts
│ │ │ │ ├── SynthsBTC.ts
│ │ │ │ ├── SynthsETH.ts
│ │ │ │ ├── SynthsUSD.ts
│ │ │ │ ├── SystemSettings.ts
│ │ │ │ ├── SystemSettingsLib.ts
│ │ │ │ ├── SystemStatus.ts
│ │ │ │ ├── TokenStateSynthetix.ts
│ │ │ │ ├── TokenStatesBTC.ts
│ │ │ │ ├── TokenStatesETH.ts
│ │ │ │ ├── TokenStatesUSD.ts
│ │ │ │ ├── TradingRewards.ts
│ │ │ │ ├── WrapperFactory.ts
│ │ │ │ └── json
│ │ │ │ │ ├── AddressResolver.json
│ │ │ │ │ ├── CircuitBreaker.json
│ │ │ │ │ ├── CollateralEth.json
│ │ │ │ │ ├── CollateralManager.json
│ │ │ │ │ ├── CollateralManagerState.json
│ │ │ │ │ ├── CollateralShort.json
│ │ │ │ │ ├── CollateralUtil.json
│ │ │ │ │ ├── DappMaintenance.json
│ │ │ │ │ ├── DebtCache.json
│ │ │ │ │ ├── DebtMigratorOnOptimism.json
│ │ │ │ │ ├── DelegateApprovals.json
│ │ │ │ │ ├── DelegateApprovalsEternalStorage.json
│ │ │ │ │ ├── DirectIntegrationManager.json
│ │ │ │ │ ├── DynamicSynthRedeemer.json
│ │ │ │ │ ├── EscrowChecker.json
│ │ │ │ │ ├── EtherWrapper.json
│ │ │ │ │ ├── ExchangeCircuitBreaker.json
│ │ │ │ │ ├── ExchangeRates.json
│ │ │ │ │ ├── ExchangeSettlementLib.json
│ │ │ │ │ ├── ExchangeState.json
│ │ │ │ │ ├── Exchanger.json
│ │ │ │ │ ├── FeePool.json
│ │ │ │ │ ├── FeePoolEternalStorage.json
│ │ │ │ │ ├── FeePoolState.json
│ │ │ │ │ ├── FlexibleStorage.json
│ │ │ │ │ ├── FuturesMarketManager.json
│ │ │ │ │ ├── Issuer.json
│ │ │ │ │ ├── Liquidator.json
│ │ │ │ │ ├── LiquidatorRewards.json
│ │ │ │ │ ├── Math.json
│ │ │ │ │ ├── OneNetAggregatorDebtRatio.json
│ │ │ │ │ ├── OneNetAggregatorIssuedSynths.json
│ │ │ │ │ ├── OwnerRelayOnOptimism.json
│ │ │ │ │ ├── PerpsV2DelayedExecution1INCHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionAAVEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionADAPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionALGOPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionANKRPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionAPEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionAPTPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionARBPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionATOMPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionAUDPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionAVAXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionAXSPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionBALPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionBCHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionBLURPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionBNBPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionBONKPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionBTCPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionCELOPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionCOMPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionCRVPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionCVXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionDOGEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionDOTPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionDYDXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionENJPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionEOSPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionETCPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionETHBTCPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionETHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionEURPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionFETPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionFILPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionFLOKIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionFLOWPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionFTMPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionFXSPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionGBPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionGMXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionGRTPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionICPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionIMXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionINJPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionJTOPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionJUPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionKNCPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionLDOPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionLINKPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionLTCPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionMATICPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionMAVPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionMEMEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionMKRPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionNEARPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionONEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionOPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionORDIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionPENDLEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionPEPEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionPERPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionPYTHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionRNDRPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionRPLPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionRUNEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionSEIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionSHIBPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionSOLPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionSTETHETHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionSTETHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionSTRKPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionSUIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionSUSHIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionTIAPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionTRBPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionTRXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionUMAPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionUNIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionUSDTPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionWLDPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionXAGPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionXAUPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionXLMPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionXMRPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionXRPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionXTZPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionYFIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionZECPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionZILPERP.json
│ │ │ │ │ ├── PerpsV2DelayedExecutionZRXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntent1INCHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentAAVEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentADAPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentALGOPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentANKRPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentAPEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentAPTPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentARBPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentATOMPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentAUDPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentAVAXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentAXSPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentBALPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentBCHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentBLURPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentBNBPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentBONKPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentBTCPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentCELOPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentCOMPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentCRVPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentCVXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentDOGEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentDOTPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentDYDXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentENJPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentEOSPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentETCPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentETHBTCPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentETHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentEURPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentFETPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentFILPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentFLOKIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentFLOWPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentFTMPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentFXSPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentGBPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentGMXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentGRTPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentICPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentIMXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentINJPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentJTOPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentJUPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentKNCPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentLDOPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentLINKPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentLTCPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentMATICPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentMAVPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentMEMEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentMKRPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentNEARPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentONEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentOPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentORDIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentPENDLEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentPEPEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentPERPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentPYTHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentRNDRPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentRPLPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentRUNEPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentSEIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentSHIBPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentSOLPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentSTETHETHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentSTETHPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentSTRKPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentSUIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentSUSHIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentTIAPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentTRBPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentTRXPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentUMAPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentUNIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentUSDTPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentWLDPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentXAGPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentXAUPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentXLMPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentXMRPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentXRPPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentXTZPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentYFIPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentZECPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentZILPERP.json
│ │ │ │ │ ├── PerpsV2DelayedIntentZRXPERP.json
│ │ │ │ │ ├── PerpsV2ExchangeRate.json
│ │ │ │ │ ├── PerpsV2Market1INCHPERP.json
│ │ │ │ │ ├── PerpsV2MarketAAVEPERP.json
│ │ │ │ │ ├── PerpsV2MarketADAPERP.json
│ │ │ │ │ ├── PerpsV2MarketALGOPERP.json
│ │ │ │ │ ├── PerpsV2MarketANKRPERP.json
│ │ │ │ │ ├── PerpsV2MarketAPEPERP.json
│ │ │ │ │ ├── PerpsV2MarketAPTPERP.json
│ │ │ │ │ ├── PerpsV2MarketARBPERP.json
│ │ │ │ │ ├── PerpsV2MarketATOMPERP.json
│ │ │ │ │ ├── PerpsV2MarketAUDPERP.json
│ │ │ │ │ ├── PerpsV2MarketAVAXPERP.json
│ │ │ │ │ ├── PerpsV2MarketAXSPERP.json
│ │ │ │ │ ├── PerpsV2MarketBALPERP.json
│ │ │ │ │ ├── PerpsV2MarketBCHPERP.json
│ │ │ │ │ ├── PerpsV2MarketBLURPERP.json
│ │ │ │ │ ├── PerpsV2MarketBNBPERP.json
│ │ │ │ │ ├── PerpsV2MarketBONKPERP.json
│ │ │ │ │ ├── PerpsV2MarketBTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketCELOPERP.json
│ │ │ │ │ ├── PerpsV2MarketCOMPPERP.json
│ │ │ │ │ ├── PerpsV2MarketCRVPERP.json
│ │ │ │ │ ├── PerpsV2MarketCVXPERP.json
│ │ │ │ │ ├── PerpsV2MarketDOGEPERP.json
│ │ │ │ │ ├── PerpsV2MarketDOTPERP.json
│ │ │ │ │ ├── PerpsV2MarketDYDXPERP.json
│ │ │ │ │ ├── PerpsV2MarketData.json
│ │ │ │ │ ├── PerpsV2MarketENJPERP.json
│ │ │ │ │ ├── PerpsV2MarketEOSPERP.json
│ │ │ │ │ ├── PerpsV2MarketETCPERP.json
│ │ │ │ │ ├── PerpsV2MarketETHBTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketEURPERP.json
│ │ │ │ │ ├── PerpsV2MarketFETPERP.json
│ │ │ │ │ ├── PerpsV2MarketFILPERP.json
│ │ │ │ │ ├── PerpsV2MarketFLOKIPERP.json
│ │ │ │ │ ├── PerpsV2MarketFLOWPERP.json
│ │ │ │ │ ├── PerpsV2MarketFTMPERP.json
│ │ │ │ │ ├── PerpsV2MarketFXSPERP.json
│ │ │ │ │ ├── PerpsV2MarketGBPPERP.json
│ │ │ │ │ ├── PerpsV2MarketGMXPERP.json
│ │ │ │ │ ├── PerpsV2MarketGRTPERP.json
│ │ │ │ │ ├── PerpsV2MarketICPPERP.json
│ │ │ │ │ ├── PerpsV2MarketIMXPERP.json
│ │ │ │ │ ├── PerpsV2MarketINJPERP.json
│ │ │ │ │ ├── PerpsV2MarketJTOPERP.json
│ │ │ │ │ ├── PerpsV2MarketJUPPERP.json
│ │ │ │ │ ├── PerpsV2MarketKNCPERP.json
│ │ │ │ │ ├── PerpsV2MarketLDOPERP.json
│ │ │ │ │ ├── PerpsV2MarketLINKPERP.json
│ │ │ │ │ ├── PerpsV2MarketLTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidate1INCHPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateAAVEPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateADAPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateALGOPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateANKRPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateAPEPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateAPTPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateARBPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateATOMPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateAUDPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateAVAXPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateAXSPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateBALPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateBCHPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateBLURPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateBNBPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateBONKPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateBTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateCELOPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateCOMPPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateCRVPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateCVXPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateDOGEPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateDOTPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateDYDXPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateENJPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateEOSPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateETCPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateETHBTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateEURPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateFETPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateFILPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateFLOKIPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateFLOWPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateFTMPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateFXSPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateGBPPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateGMXPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateGRTPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateICPPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateIMXPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateINJPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateJTOPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateJUPPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateKNCPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateLDOPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateLINKPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateLTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateMATICPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateMAVPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateMEMEPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateMKRPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateNEARPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateONEPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateOPPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateORDIPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidatePENDLEPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidatePEPEPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidatePERPPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidatePYTHPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateRNDRPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateRPLPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateRUNEPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateSEIPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateSHIBPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateSOLPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateSTETHETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateSTETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateSTRKPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateSUIPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateSUSHIPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateTIAPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateTRBPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateTRXPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateUMAPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateUNIPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateUSDTPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateWLDPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateXAGPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateXAUPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateXLMPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateXMRPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateXRPPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateXTZPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateYFIPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateZECPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateZILPERP.json
│ │ │ │ │ ├── PerpsV2MarketLiquidateZRXPERP.json
│ │ │ │ │ ├── PerpsV2MarketMATICPERP.json
│ │ │ │ │ ├── PerpsV2MarketMAVPERP.json
│ │ │ │ │ ├── PerpsV2MarketMEMEPERP.json
│ │ │ │ │ ├── PerpsV2MarketMKRPERP.json
│ │ │ │ │ ├── PerpsV2MarketNEARPERP.json
│ │ │ │ │ ├── PerpsV2MarketONEPERP.json
│ │ │ │ │ ├── PerpsV2MarketOPPERP.json
│ │ │ │ │ ├── PerpsV2MarketORDIPERP.json
│ │ │ │ │ ├── PerpsV2MarketPENDLEPERP.json
│ │ │ │ │ ├── PerpsV2MarketPEPEPERP.json
│ │ │ │ │ ├── PerpsV2MarketPERPPERP.json
│ │ │ │ │ ├── PerpsV2MarketPYTHPERP.json
│ │ │ │ │ ├── PerpsV2MarketRNDRPERP.json
│ │ │ │ │ ├── PerpsV2MarketRPLPERP.json
│ │ │ │ │ ├── PerpsV2MarketRUNEPERP.json
│ │ │ │ │ ├── PerpsV2MarketSEIPERP.json
│ │ │ │ │ ├── PerpsV2MarketSHIBPERP.json
│ │ │ │ │ ├── PerpsV2MarketSOLPERP.json
│ │ │ │ │ ├── PerpsV2MarketSTETHETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketSTETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketSTRKPERP.json
│ │ │ │ │ ├── PerpsV2MarketSUIPERP.json
│ │ │ │ │ ├── PerpsV2MarketSUSHIPERP.json
│ │ │ │ │ ├── PerpsV2MarketSettings.json
│ │ │ │ │ ├── PerpsV2MarketState1INCHPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateAAVEPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateADAPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateALGOPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateANKRPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateAPEPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateAPTPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateARBPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateATOMPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateAUDPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateAVAXPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateAXSPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateBALPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateBCHPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateBLURPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateBNBPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateBONKPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateBTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateCELOPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateCOMPPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateCRVPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateCVXPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateDOGEPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateDOTPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateDYDXPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateENJPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateEOSPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateETCPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateETHBTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateEURPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateFETPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateFILPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateFLOKIPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateFLOWPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateFTMPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateFXSPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateGBPPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateGMXPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateGRTPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateICPPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateIMXPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateINJPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateJTOPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateJUPPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateKNCPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateLDOPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateLINKPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateLTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateMATICPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateMAVPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateMEMEPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateMKRPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateNEARPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateONEPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateOPPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateORDIPERP.json
│ │ │ │ │ ├── PerpsV2MarketStatePENDLEPERP.json
│ │ │ │ │ ├── PerpsV2MarketStatePEPEPERP.json
│ │ │ │ │ ├── PerpsV2MarketStatePERPPERP.json
│ │ │ │ │ ├── PerpsV2MarketStatePYTHPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateRNDRPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateRPLPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateRUNEPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateSEIPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateSHIBPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateSOLPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateSTETHETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateSTETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateSTRKPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateSUIPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateSUSHIPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateTIAPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateTRBPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateTRXPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateUMAPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateUNIPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateUSDTPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateWLDPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateXAGPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateXAUPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateXLMPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateXMRPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateXRPPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateXTZPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateYFIPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateZECPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateZILPERP.json
│ │ │ │ │ ├── PerpsV2MarketStateZRXPERP.json
│ │ │ │ │ ├── PerpsV2MarketTIAPERP.json
│ │ │ │ │ ├── PerpsV2MarketTRBPERP.json
│ │ │ │ │ ├── PerpsV2MarketTRXPERP.json
│ │ │ │ │ ├── PerpsV2MarketUMAPERP.json
│ │ │ │ │ ├── PerpsV2MarketUNIPERP.json
│ │ │ │ │ ├── PerpsV2MarketUSDTPERP.json
│ │ │ │ │ ├── PerpsV2MarketViews1INCHPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsAAVEPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsADAPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsALGOPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsANKRPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsAPEPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsAPTPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsARBPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsATOMPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsAUDPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsAVAXPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsAXSPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsBALPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsBCHPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsBLURPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsBNBPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsBONKPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsBTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsCELOPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsCOMPPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsCRVPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsCVXPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsDOGEPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsDOTPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsDYDXPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsENJPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsEOSPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsETCPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsETHBTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsEURPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsFETPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsFILPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsFLOKIPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsFLOWPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsFTMPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsFXSPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsGBPPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsGMXPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsGRTPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsICPPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsIMXPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsINJPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsJTOPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsJUPPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsKNCPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsLDOPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsLINKPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsLTCPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsMATICPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsMAVPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsMEMEPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsMKRPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsNEARPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsONEPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsOPPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsORDIPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsPENDLEPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsPEPEPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsPERPPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsPYTHPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsRNDRPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsRPLPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsRUNEPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsSEIPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsSHIBPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsSOLPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsSTETHETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsSTETHPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsSTRKPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsSUIPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsSUSHIPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsTIAPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsTRBPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsTRXPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsUMAPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsUNIPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsUSDTPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsWLDPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsXAGPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsXAUPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsXLMPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsXMRPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsXRPPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsXTZPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsYFIPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsZECPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsZILPERP.json
│ │ │ │ │ ├── PerpsV2MarketViewsZRXPERP.json
│ │ │ │ │ ├── PerpsV2MarketWLDPERP.json
│ │ │ │ │ ├── PerpsV2MarketXAGPERP.json
│ │ │ │ │ ├── PerpsV2MarketXAUPERP.json
│ │ │ │ │ ├── PerpsV2MarketXLMPERP.json
│ │ │ │ │ ├── PerpsV2MarketXMRPERP.json
│ │ │ │ │ ├── PerpsV2MarketXRPPERP.json
│ │ │ │ │ ├── PerpsV2MarketXTZPERP.json
│ │ │ │ │ ├── PerpsV2MarketYFIPERP.json
│ │ │ │ │ ├── PerpsV2MarketZECPERP.json
│ │ │ │ │ ├── PerpsV2MarketZILPERP.json
│ │ │ │ │ ├── PerpsV2MarketZRXPERP.json
│ │ │ │ │ ├── PerpsV2Proxy1INCHPERP.json
│ │ │ │ │ ├── PerpsV2ProxyAAVEPERP.json
│ │ │ │ │ ├── PerpsV2ProxyADAPERP.json
│ │ │ │ │ ├── PerpsV2ProxyALGOPERP.json
│ │ │ │ │ ├── PerpsV2ProxyANKRPERP.json
│ │ │ │ │ ├── PerpsV2ProxyAPEPERP.json
│ │ │ │ │ ├── PerpsV2ProxyAPTPERP.json
│ │ │ │ │ ├── PerpsV2ProxyARBPERP.json
│ │ │ │ │ ├── PerpsV2ProxyATOMPERP.json
│ │ │ │ │ ├── PerpsV2ProxyAUDPERP.json
│ │ │ │ │ ├── PerpsV2ProxyAVAXPERP.json
│ │ │ │ │ ├── PerpsV2ProxyAXSPERP.json
│ │ │ │ │ ├── PerpsV2ProxyBALPERP.json
│ │ │ │ │ ├── PerpsV2ProxyBCHPERP.json
│ │ │ │ │ ├── PerpsV2ProxyBLURPERP.json
│ │ │ │ │ ├── PerpsV2ProxyBNBPERP.json
│ │ │ │ │ ├── PerpsV2ProxyBONKPERP.json
│ │ │ │ │ ├── PerpsV2ProxyBTCPERP.json
│ │ │ │ │ ├── PerpsV2ProxyCELOPERP.json
│ │ │ │ │ ├── PerpsV2ProxyCOMPPERP.json
│ │ │ │ │ ├── PerpsV2ProxyCRVPERP.json
│ │ │ │ │ ├── PerpsV2ProxyCVXPERP.json
│ │ │ │ │ ├── PerpsV2ProxyDOGEPERP.json
│ │ │ │ │ ├── PerpsV2ProxyDOTPERP.json
│ │ │ │ │ ├── PerpsV2ProxyDYDXPERP.json
│ │ │ │ │ ├── PerpsV2ProxyENJPERP.json
│ │ │ │ │ ├── PerpsV2ProxyEOSPERP.json
│ │ │ │ │ ├── PerpsV2ProxyETCPERP.json
│ │ │ │ │ ├── PerpsV2ProxyETHBTCPERP.json
│ │ │ │ │ ├── PerpsV2ProxyETHPERP.json
│ │ │ │ │ ├── PerpsV2ProxyEURPERP.json
│ │ │ │ │ ├── PerpsV2ProxyFETPERP.json
│ │ │ │ │ ├── PerpsV2ProxyFILPERP.json
│ │ │ │ │ ├── PerpsV2ProxyFLOKIPERP.json
│ │ │ │ │ ├── PerpsV2ProxyFLOWPERP.json
│ │ │ │ │ ├── PerpsV2ProxyFTMPERP.json
│ │ │ │ │ ├── PerpsV2ProxyFXSPERP.json
│ │ │ │ │ ├── PerpsV2ProxyGBPPERP.json
│ │ │ │ │ ├── PerpsV2ProxyGMXPERP.json
│ │ │ │ │ ├── PerpsV2ProxyGRTPERP.json
│ │ │ │ │ ├── PerpsV2ProxyICPPERP.json
│ │ │ │ │ ├── PerpsV2ProxyIMXPERP.json
│ │ │ │ │ ├── PerpsV2ProxyINJPERP.json
│ │ │ │ │ ├── PerpsV2ProxyJTOPERP.json
│ │ │ │ │ ├── PerpsV2ProxyJUPPERP.json
│ │ │ │ │ ├── PerpsV2ProxyKNCPERP.json
│ │ │ │ │ ├── PerpsV2ProxyLDOPERP.json
│ │ │ │ │ ├── PerpsV2ProxyLINKPERP.json
│ │ │ │ │ ├── PerpsV2ProxyLTCPERP.json
│ │ │ │ │ ├── PerpsV2ProxyMATICPERP.json
│ │ │ │ │ ├── PerpsV2ProxyMAVPERP.json
│ │ │ │ │ ├── PerpsV2ProxyMEMEPERP.json
│ │ │ │ │ ├── PerpsV2ProxyMKRPERP.json
│ │ │ │ │ ├── PerpsV2ProxyNEARPERP.json
│ │ │ │ │ ├── PerpsV2ProxyONEPERP.json
│ │ │ │ │ ├── PerpsV2ProxyOPPERP.json
│ │ │ │ │ ├── PerpsV2ProxyORDIPERP.json
│ │ │ │ │ ├── PerpsV2ProxyPENDLEPERP.json
│ │ │ │ │ ├── PerpsV2ProxyPEPEPERP.json
│ │ │ │ │ ├── PerpsV2ProxyPERPPERP.json
│ │ │ │ │ ├── PerpsV2ProxyPYTHPERP.json
│ │ │ │ │ ├── PerpsV2ProxyRNDRPERP.json
│ │ │ │ │ ├── PerpsV2ProxyRPLPERP.json
│ │ │ │ │ ├── PerpsV2ProxyRUNEPERP.json
│ │ │ │ │ ├── PerpsV2ProxySEIPERP.json
│ │ │ │ │ ├── PerpsV2ProxySHIBPERP.json
│ │ │ │ │ ├── PerpsV2ProxySOLPERP.json
│ │ │ │ │ ├── PerpsV2ProxySTETHETHPERP.json
│ │ │ │ │ ├── PerpsV2ProxySTETHPERP.json
│ │ │ │ │ ├── PerpsV2ProxySTRKPERP.json
│ │ │ │ │ ├── PerpsV2ProxySUIPERP.json
│ │ │ │ │ ├── PerpsV2ProxySUSHIPERP.json
│ │ │ │ │ ├── PerpsV2ProxyTIAPERP.json
│ │ │ │ │ ├── PerpsV2ProxyTRBPERP.json
│ │ │ │ │ ├── PerpsV2ProxyTRXPERP.json
│ │ │ │ │ ├── PerpsV2ProxyUMAPERP.json
│ │ │ │ │ ├── PerpsV2ProxyUNIPERP.json
│ │ │ │ │ ├── PerpsV2ProxyUSDTPERP.json
│ │ │ │ │ ├── PerpsV2ProxyWLDPERP.json
│ │ │ │ │ ├── PerpsV2ProxyXAGPERP.json
│ │ │ │ │ ├── PerpsV2ProxyXAUPERP.json
│ │ │ │ │ ├── PerpsV2ProxyXLMPERP.json
│ │ │ │ │ ├── PerpsV2ProxyXMRPERP.json
│ │ │ │ │ ├── PerpsV2ProxyXRPPERP.json
│ │ │ │ │ ├── PerpsV2ProxyXTZPERP.json
│ │ │ │ │ ├── PerpsV2ProxyYFIPERP.json
│ │ │ │ │ ├── PerpsV2ProxyZECPERP.json
│ │ │ │ │ ├── PerpsV2ProxyZILPERP.json
│ │ │ │ │ ├── PerpsV2ProxyZRXPERP.json
│ │ │ │ │ ├── ProxyFeePool.json
│ │ │ │ │ ├── ProxySynthetix.json
│ │ │ │ │ ├── ProxysBTC.json
│ │ │ │ │ ├── ProxysETH.json
│ │ │ │ │ ├── ProxysUSD.json
│ │ │ │ │ ├── ReadProxyAddressResolver.json
│ │ │ │ │ ├── RewardEscrowV2.json
│ │ │ │ │ ├── RewardEscrowV2Frozen.json
│ │ │ │ │ ├── RewardEscrowV2Storage.json
│ │ │ │ │ ├── RewardsDistribution.json
│ │ │ │ │ ├── SafeDecimalMath.json
│ │ │ │ │ ├── SignedSafeDecimalMath.json
│ │ │ │ │ ├── SynthRedeemer.json
│ │ │ │ │ ├── SynthUtil.json
│ │ │ │ │ ├── Synthetix.json
│ │ │ │ │ ├── SynthetixBridgeToBase.json
│ │ │ │ │ ├── SynthetixDebtShare.json
│ │ │ │ │ ├── SynthetixEscrow.json
│ │ │ │ │ ├── SynthsBTC.json
│ │ │ │ │ ├── SynthsETH.json
│ │ │ │ │ ├── SynthsUSD.json
│ │ │ │ │ ├── SystemSettings.json
│ │ │ │ │ ├── SystemSettingsLib.json
│ │ │ │ │ ├── SystemStatus.json
│ │ │ │ │ ├── TokenStateSynthetix.json
│ │ │ │ │ ├── TokenStatesBTC.json
│ │ │ │ │ ├── TokenStatesETH.json
│ │ │ │ │ ├── TokenStatesUSD.json
│ │ │ │ │ ├── TradingRewards.json
│ │ │ │ │ └── WrapperFactory.json
│ │ │ └── synths.ts
│ │ └── sepolia
│ │ │ ├── deployment
│ │ │ ├── AddressResolver.ts
│ │ │ ├── CircuitBreaker.ts
│ │ │ ├── CollateralErc20.ts
│ │ │ ├── CollateralEth.ts
│ │ │ ├── CollateralManager.ts
│ │ │ ├── CollateralManagerState.ts
│ │ │ ├── CollateralShort.ts
│ │ │ ├── CollateralUtil.ts
│ │ │ ├── DappMaintenance.ts
│ │ │ ├── DebtCache.ts
│ │ │ ├── DebtMigratorOnEthereum.ts
│ │ │ ├── DelegateApprovals.ts
│ │ │ ├── DelegateApprovalsEternalStorage.ts
│ │ │ ├── Depot.ts
│ │ │ ├── DirectIntegrationManager.ts
│ │ │ ├── DynamicSynthRedeemer.ts
│ │ │ ├── EscrowChecker.ts
│ │ │ ├── EtherWrapper.ts
│ │ │ ├── ExchangeCircuitBreaker.ts
│ │ │ ├── ExchangeRates.ts
│ │ │ ├── ExchangeSettlementLib.ts
│ │ │ ├── ExchangeState.ts
│ │ │ ├── Exchanger.ts
│ │ │ ├── FeePool.ts
│ │ │ ├── FeePoolEternalStorage.ts
│ │ │ ├── FeePoolState.ts
│ │ │ ├── FlexibleStorage.ts
│ │ │ ├── FuturesMarketManager.ts
│ │ │ ├── Issuer.ts
│ │ │ ├── Liquidator.ts
│ │ │ ├── LiquidatorRewards.ts
│ │ │ ├── Math.ts
│ │ │ ├── NativeEtherWrapper.ts
│ │ │ ├── OneNetAggregatorDebtRatio.ts
│ │ │ ├── OneNetAggregatorIssuedSynths.ts
│ │ │ ├── OwnerRelayOnEthereum.ts
│ │ │ ├── ProxyFeePool.ts
│ │ │ ├── ProxySynthetix.ts
│ │ │ ├── ProxysBTC.ts
│ │ │ ├── ProxysETH.ts
│ │ │ ├── ProxysUSD.ts
│ │ │ ├── ReadProxyAddressResolver.ts
│ │ │ ├── RewardEscrow.ts
│ │ │ ├── RewardEscrowV2.ts
│ │ │ ├── RewardEscrowV2Storage.ts
│ │ │ ├── RewardsDistribution.ts
│ │ │ ├── SafeDecimalMath.ts
│ │ │ ├── SignedSafeDecimalMath.ts
│ │ │ ├── SupplySchedule.ts
│ │ │ ├── SynthRedeemer.ts
│ │ │ ├── SynthUtil.ts
│ │ │ ├── Synthetix.ts
│ │ │ ├── SynthetixBridgeEscrow.ts
│ │ │ ├── SynthetixBridgeToOptimism.ts
│ │ │ ├── SynthetixDebtShare.ts
│ │ │ ├── SynthetixEscrow.ts
│ │ │ ├── SynthetixState.ts
│ │ │ ├── SynthsBTC.ts
│ │ │ ├── SynthsETH.ts
│ │ │ ├── SynthsUSD.ts
│ │ │ ├── SystemSettings.ts
│ │ │ ├── SystemSettingsLib.ts
│ │ │ ├── SystemStatus.ts
│ │ │ ├── TokenStateSynthetix.ts
│ │ │ ├── TokenStatesBTC.ts
│ │ │ ├── TokenStatesETH.ts
│ │ │ ├── TokenStatesUSD.ts
│ │ │ ├── TradingRewards.ts
│ │ │ ├── VirtualSynthMastercopy.ts
│ │ │ ├── WrapperFactory.ts
│ │ │ └── json
│ │ │ │ ├── AddressResolver.json
│ │ │ │ ├── CircuitBreaker.json
│ │ │ │ ├── CollateralErc20.json
│ │ │ │ ├── CollateralEth.json
│ │ │ │ ├── CollateralManager.json
│ │ │ │ ├── CollateralManagerState.json
│ │ │ │ ├── CollateralShort.json
│ │ │ │ ├── CollateralUtil.json
│ │ │ │ ├── DappMaintenance.json
│ │ │ │ ├── DebtCache.json
│ │ │ │ ├── DebtMigratorOnEthereum.json
│ │ │ │ ├── DelegateApprovals.json
│ │ │ │ ├── DelegateApprovalsEternalStorage.json
│ │ │ │ ├── Depot.json
│ │ │ │ ├── DirectIntegrationManager.json
│ │ │ │ ├── DynamicSynthRedeemer.json
│ │ │ │ ├── EscrowChecker.json
│ │ │ │ ├── EtherWrapper.json
│ │ │ │ ├── ExchangeCircuitBreaker.json
│ │ │ │ ├── ExchangeRates.json
│ │ │ │ ├── ExchangeSettlementLib.json
│ │ │ │ ├── ExchangeState.json
│ │ │ │ ├── Exchanger.json
│ │ │ │ ├── FeePool.json
│ │ │ │ ├── FeePoolEternalStorage.json
│ │ │ │ ├── FeePoolState.json
│ │ │ │ ├── FlexibleStorage.json
│ │ │ │ ├── FuturesMarketManager.json
│ │ │ │ ├── Issuer.json
│ │ │ │ ├── Liquidator.json
│ │ │ │ ├── LiquidatorRewards.json
│ │ │ │ ├── Math.json
│ │ │ │ ├── NativeEtherWrapper.json
│ │ │ │ ├── OneNetAggregatorDebtRatio.json
│ │ │ │ ├── OneNetAggregatorIssuedSynths.json
│ │ │ │ ├── OwnerRelayOnEthereum.json
│ │ │ │ ├── ProxyFeePool.json
│ │ │ │ ├── ProxySynthetix.json
│ │ │ │ ├── ProxysBTC.json
│ │ │ │ ├── ProxysETH.json
│ │ │ │ ├── ProxysUSD.json
│ │ │ │ ├── ReadProxyAddressResolver.json
│ │ │ │ ├── RewardEscrow.json
│ │ │ │ ├── RewardEscrowV2.json
│ │ │ │ ├── RewardEscrowV2Storage.json
│ │ │ │ ├── RewardsDistribution.json
│ │ │ │ ├── SafeDecimalMath.json
│ │ │ │ ├── SignedSafeDecimalMath.json
│ │ │ │ ├── SupplySchedule.json
│ │ │ │ ├── SynthRedeemer.json
│ │ │ │ ├── SynthUtil.json
│ │ │ │ ├── Synthetix.json
│ │ │ │ ├── SynthetixBridgeEscrow.json
│ │ │ │ ├── SynthetixBridgeToOptimism.json
│ │ │ │ ├── SynthetixDebtShare.json
│ │ │ │ ├── SynthetixEscrow.json
│ │ │ │ ├── SynthetixState.json
│ │ │ │ ├── SynthsBTC.json
│ │ │ │ ├── SynthsETH.json
│ │ │ │ ├── SynthsUSD.json
│ │ │ │ ├── SystemSettings.json
│ │ │ │ ├── SystemSettingsLib.json
│ │ │ │ ├── SystemStatus.json
│ │ │ │ ├── TokenStateSynthetix.json
│ │ │ │ ├── TokenStatesBTC.json
│ │ │ │ ├── TokenStatesETH.json
│ │ │ │ ├── TokenStatesUSD.json
│ │ │ │ ├── TradingRewards.json
│ │ │ │ ├── VirtualSynthMastercopy.json
│ │ │ │ └── WrapperFactory.json
│ │ │ └── synths.ts
│ └── tsconfig.json
├── cypress
│ ├── .eslintrc
│ ├── .gitignore
│ ├── cypress.config.js
│ ├── cypress.d.ts
│ ├── cypress
│ │ ├── .gitignore
│ │ ├── e2e
│ │ │ ├── home.e2e.js
│ │ │ ├── loans.e2e.js
│ │ │ └── wallet.e2e.js
│ │ ├── lib
│ │ │ ├── subgraph.js
│ │ │ └── testname.js
│ │ ├── support
│ │ │ ├── component-index.html
│ │ │ ├── component.js
│ │ │ └── e2e.js
│ │ └── tasks
│ │ │ ├── forkReset.js
│ │ │ ├── getSnx.js
│ │ │ ├── mintSusd.js
│ │ │ ├── removeEthCollateralInteractionDelay.js
│ │ │ └── removeMinimumStakeTime.js
│ └── package.json
├── lib
│ ├── Constants
│ │ ├── Constants.ts
│ │ ├── index.ts
│ │ ├── links.ts
│ │ ├── localStorage.ts
│ │ ├── package.json
│ │ └── subgraph.ts
│ ├── ContractContext
│ │ ├── ContractContext.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── GasSpeedContext
│ │ ├── GasSpeedContext.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── SignerContext
│ │ ├── SignerContext.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── SwitchNetworkContext
│ │ ├── SwitchNetworkContext.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── SynthIcons
│ │ ├── getPngSynthIconUrl.ts
│ │ ├── index.ts
│ │ └── package.json
│ ├── calculateWeeklyRewardsInUsd
│ │ ├── calculateWeeklyRewardsInUsd.test.tsx
│ │ ├── calculateWeeklyRewardsInUsd.tsx
│ │ ├── index.ts
│ │ └── package.json
│ ├── feeSuggestion
│ │ ├── feeSuggestion.ts
│ │ ├── index.ts
│ │ ├── math.ts
│ │ ├── package.json
│ │ └── utils.ts
│ ├── formatters
│ │ ├── date.ts
│ │ ├── index.ts
│ │ ├── number.test.ts
│ │ ├── number.ts
│ │ ├── package.json
│ │ ├── string.test.ts
│ │ ├── string.ts
│ │ └── tsconfig.json
│ ├── getHealthVariant
│ │ ├── getHealthVariant.test.ts
│ │ ├── getHealthVariant.ts
│ │ ├── index.ts
│ │ └── package.json
│ ├── parseTxnError
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── parseTnxError.test.ts
│ │ └── parseTxnError.ts
│ ├── stakingCalculations
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── stakingCalculations.test.ts
│ │ └── stakingCalculations.ts
│ ├── subgraph
│ │ ├── codegen.ts
│ │ ├── index.ts
│ │ ├── mainnet.graphql
│ │ ├── mainnet.ts
│ │ ├── optimism.graphql
│ │ ├── optimism.ts
│ │ └── package.json
│ ├── sumBy
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── sumBy.ts
│ ├── synthsByName
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── synthsByName.ts
│ ├── txnLink
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── txnLink.test.ts
│ │ └── txnLink.ts
│ ├── txnReducer
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── txnReducer.ts
│ ├── useApproveERC20sUSDMutation
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useApproveERC20sUSDMutation.ts
│ ├── useApr
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useApr.ts
│ ├── useAuthorisedWallets
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useAuthorisedWallets.tsx
│ ├── useBridgeMutation
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useBridgeMutation.ts
│ ├── useBurnMutation
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── reducer.ts
│ │ └── useBurnMutation.ts
│ ├── useClaimLiquidatorRewardsMutation
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useClaimLiquidatorRewardsMutation.ts
│ ├── useClaimRewardsMutation
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useClaimRewardsMutation.ts
│ ├── useClaimableRewards
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useClaimableRewards.ts
│ ├── useDebtData
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useDebtData.ts
│ ├── useDebtPoolData
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useDebtPoolData.ts
│ ├── useDebtShareDataPeriod
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useDebtShareDataPeriod.ts
│ ├── useDelegateWallet
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useDelegateWallet.tsx
│ ├── useEscrowBalance
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useEscrowBalance.ts
│ ├── useEthBalance
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useEthBalance.ts
│ ├── useExchangeRatesData
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useExchangeRatesData.ts
│ ├── useFeePeriodMultiNetwork
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useFeePeriodMultiNetwork.ts
│ ├── useFeePoolData
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useFeePoolData.ts
│ ├── useFeesBurnedInPeriod
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── useFeesBurnedInPeriod.test.ts
│ │ └── useFeesBurnedInPeriod.ts
│ ├── useFeesClaimed
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useFeesClaimed.tsx
│ ├── useGasOptions
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── useGasOptions.test.ts
│ │ └── useGasOptions.ts
│ ├── useGasPrice
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── useGasPrice.test.ts
│ │ └── useGasPrice.ts
│ ├── useGetLifetimeRewards
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useGetLifetimeRewards.tsx
│ ├── useGetLiquidationRewards
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useGetLiquidationRewards.ts
│ ├── useGlobalProvidersWithFallback
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── tsconfig.json
│ │ └── useGlobalProvidersWithFallback.tsx
│ ├── useGlobalStakingApr
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── useGlobalStakingApr.test.ts
│ │ └── useGlobalStakingApr.ts
│ ├── useInterval
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useInterval.ts
│ ├── useIssuedDebt
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useIssuedDebt.tsx
│ ├── useLiquidationData
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useLiquidationData.ts
│ ├── useMinStakeTime
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useMinStakeTime.ts
│ ├── useMintMutation
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useMintMutation.ts
│ ├── useOptimismLayer1Fee
│ │ ├── OptimismOracleContract.ts
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── useOptimismLayer1Fee.test.ts
│ │ └── useOptimismLayer1Fee.ts
│ ├── useRewardsAvailable
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useRewardsAvailable.ts
│ ├── useSelfLiquidationData
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── useSelfLiquidationData.test.ts
│ │ └── useSelfLiquidationData.ts
│ ├── useSelfLiquidationMutation
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useSelfLiquidationMutation.ts
│ ├── useStakingApr
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── useStakingApr.test.ts
│ │ └── useStakingApr.ts
│ ├── useSynthRedeemer
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useSynthRedeemer.ts
│ ├── useSynthetixContracts
│ │ ├── common.ts
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── useExchangeRates.ts
│ │ ├── useFeePool.ts
│ │ ├── useIssuer.ts
│ │ ├── useLiquidator.ts
│ │ ├── useLiquidatorRewards.ts
│ │ ├── useProxyERC20sUSD.ts
│ │ ├── useRewardEscrowV2.ts
│ │ ├── useSynthUtil.ts
│ │ ├── useSynthetix.ts
│ │ ├── useSynthetixBridge.ts
│ │ ├── useSynthetixDebtShare.ts
│ │ ├── useSynthetixV3.ts
│ │ └── useSystemSettings.ts
│ ├── useSynthsBalances
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useSynthsBalances.ts
│ ├── useTotalIssuedSynthsExcludeOtherCollateral
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useTotalIssuedSynthsExcludeOtherCollateral.ts
│ ├── useTotalStakedSNX
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── useTotalStakedSNX.tsx
│ └── v3Theme
│ │ ├── Fonts.tsx
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── tsconfig.json
│ │ └── v3Theme.ts
├── tsconfig.json
└── ui
│ ├── .gitignore
│ ├── App.tsx
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── Routes.tsx
│ ├── _redirects
│ ├── additional.d.ts
│ ├── app.css
│ ├── assets
│ ├── svg
│ │ ├── app
│ │ │ ├── arrow-forward-blue.svg
│ │ │ ├── arrow-forward-pink.svg
│ │ │ ├── arrow-right-long.svg
│ │ │ ├── arrow-right.svg
│ │ │ ├── arrows-change.svg
│ │ │ ├── arrows-swap.svg
│ │ │ ├── back.svg
│ │ │ ├── burn-circle.svg
│ │ │ ├── burn-custom-circle.svg
│ │ │ ├── burn-target-circle.svg
│ │ │ ├── burn.svg
│ │ │ ├── call-to-action.svg
│ │ │ ├── caret-down.svg
│ │ │ ├── caret-dropdown.svg
│ │ │ ├── caret-left-end.svg
│ │ │ ├── caret-left-xl.svg
│ │ │ ├── caret-left.svg
│ │ │ ├── caret-right-end.svg
│ │ │ ├── caret-right-gold.svg
│ │ │ ├── caret-right-small.svg
│ │ │ ├── caret-right-xl.svg
│ │ │ ├── caret-right.svg
│ │ │ ├── caret-up.svg
│ │ │ ├── change-negative.svg
│ │ │ ├── change-positive.svg
│ │ │ ├── check.svg
│ │ │ ├── chevron-collapse.svg
│ │ │ ├── chevron-expand.svg
│ │ │ ├── circle-arrows.svg
│ │ │ ├── circle-ellipsis.svg
│ │ │ ├── circle-error.svg
│ │ │ ├── circle-tick.svg
│ │ │ ├── claim.svg
│ │ │ ├── close.svg
│ │ │ ├── cog.svg
│ │ │ ├── copy.svg
│ │ │ ├── cross.svg
│ │ │ ├── curve.svg
│ │ │ ├── delegate.svg
│ │ │ ├── deprecated-x.svg
│ │ │ ├── dhedge.svg
│ │ │ ├── elipses.svg
│ │ │ ├── exit.svg
│ │ │ ├── expand.svg
│ │ │ ├── failure.svg
│ │ │ ├── incognito.svg
│ │ │ ├── info-pink.svg
│ │ │ ├── info.svg
│ │ │ ├── kwenta-full.svg
│ │ │ ├── kwenta.svg
│ │ │ ├── large-wave.svg
│ │ │ ├── learn.svg
│ │ │ ├── link-blue.svg
│ │ │ ├── link.svg
│ │ │ ├── loader.svg
│ │ │ ├── locked.svg
│ │ │ ├── menu-close.svg
│ │ │ ├── menu-hamburger-white.svg
│ │ │ ├── menu-hamburger.svg
│ │ │ ├── menu.svg
│ │ │ ├── migrate.svg
│ │ │ ├── mint-circle.svg
│ │ │ ├── mint.svg
│ │ │ ├── navigation-back.svg
│ │ │ ├── no-notifications.svg
│ │ │ ├── notification-alert.svg
│ │ │ ├── notification.svg
│ │ │ ├── open-external.svg
│ │ │ ├── pending-confirmation.svg
│ │ │ ├── plus-thin.svg
│ │ │ ├── plus.svg
│ │ │ ├── search.svg
│ │ │ ├── small-wave.svg
│ │ │ ├── snowflake.svg
│ │ │ ├── snx-stat-background.svg
│ │ │ ├── sorbet-finance.svg
│ │ │ ├── spinner.svg
│ │ │ ├── stake.svg
│ │ │ ├── staking-l2-logo.svg
│ │ │ ├── staking-logo-mobile.svg
│ │ │ ├── staking-logo-small.svg
│ │ │ ├── staking-logo-tablet.svg
│ │ │ ├── staking-logo.svg
│ │ │ ├── success.svg
│ │ │ ├── synthetix.svg
│ │ │ ├── tick.svg
│ │ │ ├── trade.svg
│ │ │ ├── trash.svg
│ │ │ ├── wallet-purple.svg
│ │ │ ├── wallet-yellow.svg
│ │ │ ├── wallet.svg
│ │ │ ├── warning.svg
│ │ │ └── wizard
│ │ │ │ ├── debt.svg
│ │ │ │ ├── mint-burn.svg
│ │ │ │ ├── welcome.svg
│ │ │ │ ├── what.svg
│ │ │ │ └── why.svg
│ │ ├── currencies
│ │ │ ├── commodity
│ │ │ │ ├── GOLD.svg
│ │ │ │ └── SILVER.svg
│ │ │ ├── crypto
│ │ │ │ ├── ADA.svg
│ │ │ │ ├── BCH.svg
│ │ │ │ ├── BNB.svg
│ │ │ │ ├── BTC.svg
│ │ │ │ ├── COMP.svg
│ │ │ │ ├── CRV.svg
│ │ │ │ ├── DASH.svg
│ │ │ │ ├── DHEDGE.svg
│ │ │ │ ├── EOS.svg
│ │ │ │ ├── ETC.svg
│ │ │ │ ├── ETH.svg
│ │ │ │ ├── KNC.svg
│ │ │ │ ├── LEND.svg
│ │ │ │ ├── LINK.svg
│ │ │ │ ├── LTC.svg
│ │ │ │ ├── MKR.svg
│ │ │ │ ├── REN.svg
│ │ │ │ ├── SNX.svg
│ │ │ │ ├── TRX.svg
│ │ │ │ ├── XMR.svg
│ │ │ │ ├── XRP.svg
│ │ │ │ └── XTZ.svg
│ │ │ ├── equities
│ │ │ │ ├── FTSE.svg
│ │ │ │ └── NIKKEI.svg
│ │ │ ├── fiat
│ │ │ │ ├── AUD.svg
│ │ │ │ ├── CAD.svg
│ │ │ │ ├── CHF.svg
│ │ │ │ ├── EUR.svg
│ │ │ │ ├── GBP.svg
│ │ │ │ ├── JPY.svg
│ │ │ │ ├── KRW.svg
│ │ │ │ └── USD.svg
│ │ │ └── indices
│ │ │ │ ├── CEX.svg
│ │ │ │ └── DEFI.svg
│ │ ├── providers
│ │ │ └── 1inch.svg
│ │ └── social
│ │ │ ├── discord.svg
│ │ │ ├── github.svg
│ │ │ └── twitter.svg
│ ├── wallet-icons
│ │ ├── atoken.png
│ │ ├── authereum.png
│ │ ├── browserWallet.png
│ │ ├── browserWallet.svg
│ │ ├── coinbase.svg
│ │ ├── dapper.png
│ │ ├── dcent.svg
│ │ ├── fortmatic.svg
│ │ ├── gamestop.svg
│ │ ├── huobiwallet.svg
│ │ ├── hyperpay.png
│ │ ├── imtoken.svg
│ │ ├── lattice.svg
│ │ ├── ledger.svg
│ │ ├── metamask.png
│ │ ├── metamask.svg
│ │ ├── mykey.png
│ │ ├── opera.png
│ │ ├── operaTouch.png
│ │ ├── portis.svg
│ │ ├── squarelink.svg
│ │ ├── status.svg
│ │ ├── tokenpocket.png
│ │ ├── torus.svg
│ │ ├── trezor.svg
│ │ ├── trust.svg
│ │ ├── unilogin.svg
│ │ ├── wallet-io.svg
│ │ └── walletConnect.svg
│ └── webp
│ │ └── currencies
│ │ └── crypto
│ │ └── BTC.webp
│ ├── babel.config.js
│ ├── bootstrap.tsx
│ ├── components
│ ├── AvailableBalanceBridge
│ │ ├── AvailableBalanceBridge.tsx
│ │ └── index.ts
│ ├── BaseModal
│ │ ├── BaseModal.tsx
│ │ └── index.ts
│ ├── BridgeSections
│ │ ├── BridgeSectionItem.tsx
│ │ ├── BridgeSections.tsx
│ │ └── index.ts
│ ├── Button
│ │ ├── Button.tsx
│ │ └── index.ts
│ ├── ChakraProviderWithTheme.tsx
│ ├── ChangePercent
│ │ ├── ChangePercent.tsx
│ │ └── index.ts
│ ├── ConnectOrSwitchNetwork
│ │ └── index.tsx
│ ├── Currency
│ │ ├── CurrencyAmount
│ │ │ ├── CurrencyAmount.tsx
│ │ │ └── index.ts
│ │ ├── CurrencyIcon
│ │ │ ├── CurrencyIcon.tsx
│ │ │ └── index.ts
│ │ ├── CurrencyName
│ │ │ ├── CurrencyName.tsx
│ │ │ └── index.ts
│ │ ├── CurrencyPrice
│ │ │ ├── CurrencyPrice.tsx
│ │ │ └── index.ts
│ │ ├── common.tsx
│ │ └── index.ts
│ ├── DateSelect
│ │ ├── DateSelect.tsx
│ │ ├── SelectButton.tsx
│ │ └── index.ts
│ ├── Form
│ │ ├── AssetInput.tsx
│ │ ├── TextInput.tsx
│ │ └── common.tsx
│ ├── GasSelector
│ │ ├── GasPriceDisplay.tsx
│ │ ├── GasSelector.tsx
│ │ └── index.ts
│ ├── GridBox
│ │ └── Gridbox.tsx
│ ├── Input
│ │ ├── Input.tsx
│ │ ├── NumericInput.test.tsx
│ │ ├── NumericInput.tsx
│ │ ├── SearchInput.tsx
│ │ └── TextInput.tsx
│ ├── Loader
│ │ ├── Loader.tsx
│ │ └── index.ts
│ ├── Media
│ │ ├── Media.tsx
│ │ └── index.ts
│ ├── NativeBridge
│ │ ├── ApproveAction.tsx
│ │ ├── BridgeTransactionModal.tsx
│ │ ├── BridgingHistories.tsx
│ │ ├── NativeBridge.tsx
│ │ ├── ReviewWithdrawModal.tsx
│ │ ├── SelectNetwork.tsx
│ │ └── index.tsx
│ ├── ProgressBar
│ │ ├── ProgressBar.tsx
│ │ └── index.ts
│ ├── Select
│ │ ├── Select.tsx
│ │ ├── components.tsx
│ │ └── index.ts
│ ├── SocketBridge
│ │ └── index.tsx
│ ├── StatBox
│ │ ├── StatBox.tsx
│ │ └── index.ts
│ ├── StatsSection
│ │ ├── StatsSection.tsx
│ │ └── index.ts
│ ├── StructuredTab
│ │ ├── StructuredTab.tsx
│ │ └── index.ts
│ ├── Tab
│ │ ├── Tab.tsx
│ │ └── index.tsx
│ ├── Table
│ │ ├── Pagination.tsx
│ │ ├── SortTableHead.tsx
│ │ ├── Table.tsx
│ │ ├── index.ts
│ │ └── react-table-config.d.ts
│ └── WalletComponents
│ │ └── index.tsx
│ ├── constants
│ ├── 1inch.ts
│ ├── currency.ts
│ ├── date.ts
│ ├── defaults.ts
│ ├── dhedge.ts
│ ├── enums.ts
│ ├── network.ts
│ ├── period.ts
│ ├── placeholder.ts
│ ├── queryKeys.ts
│ ├── routes.ts
│ └── storage.ts
│ ├── containers
│ ├── BlockExplorer
│ │ ├── BlockExplorer.tsx
│ │ └── index.ts
│ ├── Connector
│ │ ├── Connector.tsx
│ │ ├── config.ts
│ │ ├── customGnosis.ts
│ │ ├── customInjected.ts
│ │ ├── index.ts
│ │ └── reducer.ts
│ ├── Loans
│ │ ├── Loans.tsx
│ │ ├── getLoan.ts
│ │ ├── getOpenLoans.tsx
│ │ ├── index.ts
│ │ └── types.ts
│ └── index.tsx
│ ├── content
│ ├── 404.tsx
│ ├── BridgePage.tsx
│ ├── DelegatePage.tsx
│ ├── EscrowPage.tsx
│ ├── HistoryPage.tsx
│ ├── LoansPage.tsx
│ ├── MergeAccountsPage.tsx
│ ├── MigrateDebtPage.tsx
│ ├── MigrateEscrowPage.tsx
│ ├── TermsPage.tsx
│ ├── V2Burn.tsx
│ ├── V2Earn.tsx
│ ├── V2Home.tsx
│ ├── V2Mint.tsx
│ ├── V2SelfLiquidation.tsx
│ ├── V2SwapLinks.tsx
│ ├── V2Terms.tsx
│ ├── V2Unflag.tsx
│ └── theme.ts
│ ├── contracts
│ ├── dHedgePoolLogic.ts
│ ├── erc20.js
│ ├── ethToken.ts
│ ├── wBTCToken.js
│ └── wETHToken.js
│ ├── hooks
│ ├── isMounted.ts
│ ├── stakingDataCalculations.test.ts
│ ├── stakingDataCalculations.ts
│ ├── useBridgingHistoryStore.ts
│ ├── useCryptoBalances.ts
│ ├── useCustomGasOptions.ts
│ ├── useCustomOptimismLayer1Fee.ts
│ ├── useEstimateFinalizeWithdraw.ts
│ ├── useEstimateProveWithdraw.ts
│ ├── useFeePeriodTimeAndProgress.ts
│ ├── useGetCurrencyRateChange.ts
│ ├── useGetNeedsApproval.ts
│ ├── useHistoricalDebtData.ts
│ ├── useLocalStorage.ts
│ ├── useMediaQuery.ts
│ ├── useSelectedPriceCurrency.ts
│ ├── useStakedSNX.ts
│ └── useUserStakingData.ts
│ ├── i18n.ts
│ ├── index.html
│ ├── index.ts
│ ├── jest.config.js
│ ├── orphans.ts
│ ├── package.json
│ ├── postbuild.sh
│ ├── public
│ ├── _redirects
│ ├── fonts
│ │ ├── GT-America-Condensed-Bold.woff2
│ │ ├── GT-America-Condensed-Medium.woff2
│ │ ├── GT-America-Extended-Bold.woff2
│ │ ├── GT-America-Mono-Bold.woff2
│ │ ├── Inter-Bold.woff2
│ │ ├── Inter-Regular.woff2
│ │ └── Inter-SemiBold.woff2
│ ├── images
│ │ ├── browserWallet.png
│ │ ├── browserWallet.svg
│ │ ├── favicon.ico
│ │ ├── icon-192x192.png
│ │ ├── icon-256x256.png
│ │ ├── icon-384x384.png
│ │ ├── icon-512x512.png
│ │ ├── icon-swap.svg
│ │ ├── socket-logo-full.svg
│ │ ├── socket-logo.svg
│ │ ├── staking-facebook.jpg
│ │ ├── staking-twitter.jpg
│ │ └── synthetix-logo.svg
│ ├── manifest.json
│ └── metatag.png
│ ├── queries
│ └── 1inch
│ │ ├── use1InchQuoteQuery.ts
│ │ └── use1InchSwapQuery.ts
│ ├── scripts
│ ├── minify-synthetix-contract.js
│ └── noop.js
│ ├── sections
│ ├── delegate
│ │ ├── ActionSelector.tsx
│ │ ├── DelegateForm.tsx
│ │ ├── DelegateTable.tsx
│ │ ├── ToggleDelegateApproval.tsx
│ │ ├── common.ts
│ │ └── index.tsx
│ ├── escrow
│ │ ├── components
│ │ │ ├── ActionBox.tsx
│ │ │ ├── EscrowTable.tsx
│ │ │ ├── RewardEscrowSchedule
│ │ │ │ ├── RewardEscrowSchedule.tsx
│ │ │ │ └── index.ts
│ │ │ ├── StakingRewardsTab
│ │ │ │ ├── MigrateTabContent.tsx
│ │ │ │ ├── StakingRewardsTab.tsx
│ │ │ │ ├── TabContent.tsx
│ │ │ │ └── index.ts
│ │ │ ├── TokenSaleEscrowSchedule
│ │ │ │ ├── TokenSaleEscrowSchedule.tsx
│ │ │ │ └── index.ts
│ │ │ ├── TokenSaleTab
│ │ │ │ ├── TabContent.tsx
│ │ │ │ ├── TokenSaleTab.tsx
│ │ │ │ └── index.ts
│ │ │ ├── TxSent
│ │ │ │ ├── ActionCompleted.tsx
│ │ │ │ ├── ActionInProgress.tsx
│ │ │ │ ├── common.ts
│ │ │ │ └── index.ts
│ │ │ └── common.ts
│ │ ├── hooks
│ │ │ └── useEscrowCalculations.ts
│ │ └── index.tsx
│ ├── history
│ │ ├── CustomTypeOption
│ │ │ ├── CustomTypeOption.tsx
│ │ │ └── index.ts
│ │ ├── Transactions
│ │ │ ├── Transactions.tsx
│ │ │ └── index.ts
│ │ ├── TransactionsContainer.tsx
│ │ ├── TypeIcon
│ │ │ ├── TypeIcon.tsx
│ │ │ └── index.ts
│ │ └── types.ts
│ ├── loans
│ │ ├── components
│ │ │ ├── ActionBox
│ │ │ │ ├── ActionBox.tsx
│ │ │ │ ├── ActiveBorrowsTab
│ │ │ │ │ ├── ActiveBorrowsTab.tsx
│ │ │ │ │ ├── LoanList.tsx
│ │ │ │ │ ├── ModifyLoanActions
│ │ │ │ │ │ ├── Close.tsx
│ │ │ │ │ │ ├── Deposit.tsx
│ │ │ │ │ │ ├── Repay.tsx
│ │ │ │ │ │ ├── Withdraw.tsx
│ │ │ │ │ │ ├── Wrapper.tsx
│ │ │ │ │ │ ├── helpers.test.tsx
│ │ │ │ │ │ ├── helpers.ts
│ │ │ │ │ │ └── index.tsx
│ │ │ │ │ └── ModifyLoanMenu.tsx
│ │ │ │ ├── BorrowSynthsTab
│ │ │ │ │ ├── AssetInput.tsx
│ │ │ │ │ ├── BorrowSynthsTab.tsx
│ │ │ │ │ ├── FormButton.tsx
│ │ │ │ │ ├── calculateLoanCRatio.test.ts
│ │ │ │ │ └── calculateLoanCRatio.ts
│ │ │ │ └── components
│ │ │ │ │ ├── AccruedInterest.tsx
│ │ │ │ │ ├── Balance.tsx
│ │ │ │ │ ├── CRatio.tsx
│ │ │ │ │ ├── InfoSVG.tsx
│ │ │ │ │ ├── InterestRate.tsx
│ │ │ │ │ ├── IssuanceFee.tsx
│ │ │ │ │ ├── LoanCRatio.tsx
│ │ │ │ │ └── MinCRatio.tsx
│ │ │ ├── InfoBox
│ │ │ │ └── InfoBox.tsx
│ │ │ └── common.ts
│ │ ├── constants.ts
│ │ └── index.tsx
│ ├── merge-accounts
│ │ ├── TxState.tsx
│ │ ├── burn
│ │ │ ├── BurnActionBox.tsx
│ │ │ ├── BurnInfoBox.tsx
│ │ │ ├── Tx.tsx
│ │ │ └── index.tsx
│ │ ├── common.ts
│ │ ├── index.tsx
│ │ ├── landing
│ │ │ ├── GridBox.tsx
│ │ │ └── index.tsx
│ │ ├── merge
│ │ │ ├── MergeActionBox.tsx
│ │ │ ├── MergeInfoBox.tsx
│ │ │ ├── Tx.tsx
│ │ │ └── index.tsx
│ │ └── nominate
│ │ │ ├── NominateActionBox.tsx
│ │ │ ├── NominateInfoBox.tsx
│ │ │ ├── Tx.tsx
│ │ │ └── index.tsx
│ ├── migrate-debt
│ │ ├── components
│ │ │ ├── ExternalLink
│ │ │ │ ├── ExternalLink.tsx
│ │ │ │ └── index.ts
│ │ │ ├── TxSent
│ │ │ │ ├── ActionCompleted.tsx
│ │ │ │ ├── ActionInProgress.tsx
│ │ │ │ ├── common.ts
│ │ │ │ └── index.ts
│ │ │ └── common.ts
│ │ └── migrate
│ │ │ ├── ActionBox
│ │ │ ├── ActionBox.tsx
│ │ │ └── index.ts
│ │ │ ├── MigrateTab
│ │ │ ├── MigrateTab.tsx
│ │ │ ├── TabContent.tsx
│ │ │ └── index.ts
│ │ │ └── index.tsx
│ ├── migrate-escrow
│ │ ├── components
│ │ │ ├── ExternalLink
│ │ │ │ ├── ExternalLink.tsx
│ │ │ │ └── index.ts
│ │ │ ├── TxSent
│ │ │ │ ├── ActionCompleted.tsx
│ │ │ │ ├── ActionInProgress.tsx
│ │ │ │ ├── common.ts
│ │ │ │ └── index.ts
│ │ │ └── common.ts
│ │ └── migrate
│ │ │ ├── ActionBox
│ │ │ ├── ActionBox.tsx
│ │ │ └── index.ts
│ │ │ ├── MigrateTab
│ │ │ ├── MigrateTab.tsx
│ │ │ ├── TabContent.tsx
│ │ │ └── index.ts
│ │ │ └── index.tsx
│ ├── shared
│ │ ├── Layout
│ │ │ ├── AppLayout.tsx
│ │ │ ├── Layout.tsx
│ │ │ ├── Stats
│ │ │ │ ├── BalanceItem.tsx
│ │ │ │ ├── CRatioBarStats.tsx
│ │ │ │ ├── PeriodBarStats.tsx
│ │ │ │ ├── PriceItem.tsx
│ │ │ │ └── common.ts
│ │ │ ├── index.ts
│ │ │ └── useMigrationData.tsx
│ │ ├── SystemStatus
│ │ │ ├── SystemStatus.tsx
│ │ │ └── index.ts
│ │ ├── components
│ │ │ └── SocialLinks
│ │ │ │ ├── SocialLinks.tsx
│ │ │ │ └── index.ts
│ │ └── modals
│ │ │ ├── DelegateModal
│ │ │ ├── DelegateModal.tsx
│ │ │ └── index.ts
│ │ │ ├── TxConfirmationModal
│ │ │ ├── TxConfirmationModal.tsx
│ │ │ └── index.ts
│ │ │ └── common.tsx
│ └── staking
│ │ ├── components
│ │ ├── StakingInfo
│ │ │ └── BarStatsRow.tsx
│ │ ├── common.ts
│ │ ├── helper.test.ts
│ │ └── helper.ts
│ │ └── hooks
│ │ ├── useBurnTx.ts
│ │ ├── useClearDebtCalculations.ts
│ │ └── useStakingCalculations.ts
│ ├── store
│ ├── app
│ │ ├── constants.ts
│ │ └── index.ts
│ ├── escrow
│ │ └── index.ts
│ ├── gov
│ │ └── index.ts
│ ├── staking
│ │ └── index.ts
│ ├── utils.ts
│ └── wallet
│ │ └── index.ts
│ ├── styles
│ ├── main.css
│ └── theme
│ │ ├── colors.ts
│ │ ├── fonts.ts
│ │ └── index.ts
│ ├── tests
│ ├── ContextProvider.tsx
│ ├── e2e
│ │ ├── needs-fix
│ │ │ ├── pages
│ │ │ │ ├── loans-page.js
│ │ │ │ └── wallet
│ │ │ │ │ └── delegate-page.js
│ │ │ └── specs
│ │ │ │ ├── delegate-spec.js
│ │ │ │ └── loans-spec.js
│ │ ├── pages
│ │ │ ├── home
│ │ │ │ ├── header.js
│ │ │ │ ├── home-page.js
│ │ │ │ └── onboard.js
│ │ │ └── page.js
│ │ ├── specs
│ │ │ └── login-spec.js
│ │ └── tsconfig.json
│ ├── global.js
│ └── setup.js
│ ├── translations
│ ├── bnc-notify
│ │ └── notifyMessages.ts
│ ├── constants.ts
│ └── en.json
│ ├── tsconfig.json
│ ├── typings
│ ├── missing-types.d.ts
│ ├── react-i18next.d.ts
│ ├── styled-components.d.ts
│ └── window.d.ts
│ ├── utils
│ ├── balances.ts
│ ├── contracts
│ │ ├── bridge.ts
│ │ ├── debt.ts
│ │ ├── delegate.ts
│ │ ├── escrow.ts
│ │ ├── index.ts
│ │ ├── liquidation.ts
│ │ ├── loans.ts
│ │ ├── rates.ts
│ │ ├── shorts.ts
│ │ ├── staking.ts
│ │ ├── status.ts
│ │ ├── synths.ts
│ │ ├── synthsCurrencies.ts
│ │ └── wallet.ts
│ ├── currencies.test.ts
│ ├── currencies.ts
│ ├── formatters
│ │ ├── date.ts
│ │ ├── number.ts
│ │ └── string.ts
│ ├── governance.ts
│ ├── infura.ts
│ ├── localStore.ts
│ ├── network.test.ts
│ ├── network.ts
│ ├── parse.ts
│ ├── promise.ts
│ ├── themeUtils.ts
│ └── ts-helpers.ts
│ ├── v2-components
│ └── Header
│ │ ├── Header.tsx
│ │ └── index.tsx
│ ├── vercel.json
│ └── webpack.config.js
└── yarn.lock
/.eslintignore:
--------------------------------------------------------------------------------
1 | build
2 | coverage
3 | node_modules
4 | dist
5 | .vscode
6 | .yarn
7 | packages/queries/subgraphs
8 | .docusaurus
9 | **/tmp/
10 | **/.next/
11 | **/out/
12 | **/storybook-static/
13 | **/.nyc_output
14 | **/junit.xml
15 | **/generated
16 |
17 |
18 | # temporary
19 | v3/spot-markets/ui/prototype
20 |
--------------------------------------------------------------------------------
/.nvmrc:
--------------------------------------------------------------------------------
1 | 16
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | build
2 | coverage
3 | node_modules
4 | dist
5 | .vscode
6 | .yarn
7 | packages/queries/subgraphs
8 | cache
9 | artifacts
10 | .docusaurus
11 | **/subgraph.yaml
12 | v3/contracts/src
13 | v3/contracts/deployments
14 | v3/spot-markets/contracts/deployments
15 | **/tmp/
16 | **/.next/
17 | **/out/
18 | **/storybook-static/
19 | **/.nyc_output
20 | **/junit.xml
21 | v3/subgraphs/tests/.latest.json
22 | .yarnrc.yml
23 |
24 | # temporary
25 | v3/spot-markets/ui/prototype
26 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "printWidth": 100,
3 | "semi": true,
4 | "singleQuote": true,
5 | "trailingComma": "es5",
6 | "overrides": [
7 | {
8 | "files": "*.md",
9 | "options": {
10 | "useTabs": false
11 | }
12 | }
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/.yarnrc.yml:
--------------------------------------------------------------------------------
1 | checksumBehavior: ignore
2 |
3 | compressionLevel: mixed
4 |
5 | defaultSemverRangePrefix: ^
6 |
7 | enableGlobalCache: true
8 |
9 | enableTelemetry: false
10 |
11 | nodeLinker: node-modules
12 |
13 | npmRegistryServer: "https://registry.npmjs.org"
14 |
15 | supportedArchitectures:
16 | cpu:
17 | - current
18 | - x64
19 | libc:
20 | - glibc
21 | os:
22 | - current
23 | - linux
24 |
25 | yarnPath: .yarn/releases/yarn-4.6.0.cjs
26 |
--------------------------------------------------------------------------------
/codecov.yml:
--------------------------------------------------------------------------------
1 | codecov:
2 | require_ci_to_pass: yes
3 | notify:
4 | wait_for_ci: yes
5 |
6 | github_checks:
7 | annotations: no # for now let's not fail the build when coverage decreases
8 |
9 | comment:
10 | layout: 'reach, diff, flags, files'
11 | behavior: once
12 | require_changes: false # if true: only post the comment if coverage changes
13 |
14 | ignore:
15 | - '**/*.cy.*'
16 | - '**/*.test.*'
17 | - '**/*.e2e.*'
18 | - '.circleci'
19 | - '.github'
20 | - 'packages/'
21 | - 'tools'
22 | - 'v1'
23 | - 'v2'
24 | - 'babel.config.js'
25 | - 'jest.config.js'
26 | - 'jest.global.js'
27 |
--------------------------------------------------------------------------------
/docs/move-to-monorepo-merge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/docs/move-to-monorepo-merge.png
--------------------------------------------------------------------------------
/docs/move-to-monorepo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/docs/move-to-monorepo.png
--------------------------------------------------------------------------------
/jest.global.js:
--------------------------------------------------------------------------------
1 | module.exports = async () => {
2 | process.env.TZ = 'UTC';
3 | };
4 |
--------------------------------------------------------------------------------
/packages/contracts-interface/babel.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["@babel/preset-env", "@babel/preset-typescript"],
3 | "plugins": ["@babel/transform-runtime"]
4 | }
5 |
--------------------------------------------------------------------------------
/packages/contracts-interface/examples/browser-example.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 | Example for browser envionments
11 |
12 |
13 | If you open the console "command-J" you should see the resutls printed
14 |
15 |
16 |
--------------------------------------------------------------------------------
/packages/contracts-interface/src/constants.ts:
--------------------------------------------------------------------------------
1 | export const ERRORS = {
2 | badNetworkArg:
3 | 'unsupported network or network id passed. Please check SynthetixJS.supportedNetworks for a list of supported networks and ids',
4 | noMatch: (type: string, value: string): string => `no contracts match ${type}: ${value}`,
5 | };
6 |
--------------------------------------------------------------------------------
/packages/contracts-interface/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.base.module.json",
3 | "compilerOptions": {
4 | "module": "commonjs",
5 | "outDir": "./build",
6 | "rootDir": "./src"
7 | },
8 | "include": ["src"]
9 | }
10 |
--------------------------------------------------------------------------------
/packages/optimism-networks/babel.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["@babel/preset-env", "@babel/preset-typescript"],
3 | "plugins": ["@babel/transform-runtime"]
4 | }
5 |
--------------------------------------------------------------------------------
/packages/optimism-networks/src/optimism-networks.test.ts:
--------------------------------------------------------------------------------
1 | import { getOptimismNetwork } from '.';
2 |
3 | describe('@synthetixio/optimism-networks', () => {
4 | it('gets network information', () => {
5 | const response = {
6 | chainId: '0xA',
7 | chainName: 'Optimism',
8 | };
9 | expect(getOptimismNetwork({ layerOneNetworkId: 1 })).toMatchObject(response);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/packages/optimism-networks/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.base.module.json",
3 | "compilerOptions": {
4 | "module": "commonjs",
5 | "outDir": "./build",
6 | "rootDir": "./src"
7 | },
8 | "include": ["src"]
9 | }
10 |
--------------------------------------------------------------------------------
/packages/providers/README.md:
--------------------------------------------------------------------------------
1 | # Synthetix JS - Providers
2 |
--------------------------------------------------------------------------------
/packages/providers/babel.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["@babel/preset-env", "@babel/preset-typescript"],
3 | "plugins": ["@babel/transform-runtime"]
4 | }
5 |
--------------------------------------------------------------------------------
/packages/providers/src/constants.test.ts:
--------------------------------------------------------------------------------
1 | import { ERRORS } from './constants';
2 |
3 | describe('@synthetixio/providers', () => {
4 | it('needs tests', () => {
5 | expect(ERRORS.noWeb3Provider).toEqual('Web3 provider missing');
6 | });
7 | });
8 |
--------------------------------------------------------------------------------
/packages/providers/src/constants.ts:
--------------------------------------------------------------------------------
1 | export const ERRORS = {
2 | noWeb3Provider: 'Web3 provider missing',
3 | noInfuraId: 'Infura ID missing',
4 | noNetworkId: 'Network ID missing',
5 | wrongNetworkId: 'Network ID not supported',
6 | };
7 |
--------------------------------------------------------------------------------
/packages/providers/src/types.ts:
--------------------------------------------------------------------------------
1 | import type {
2 | ExternalProvider,
3 | FallbackProvider,
4 | InfuraProvider,
5 | Networkish,
6 | Web3Provider,
7 | } from '@ethersproject/providers';
8 |
9 | export type ProviderConfig = {
10 | networkId?: Networkish;
11 | infuraId?: string;
12 | alchemyId?: string;
13 | provider?: ExternalProvider;
14 | };
15 |
16 | export type SynthetixProvider = Web3Provider | InfuraProvider | FallbackProvider;
17 |
--------------------------------------------------------------------------------
/packages/providers/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.base.module.json",
3 | "compilerOptions": {
4 | "module": "commonjs",
5 | "outDir": "./build",
6 | "rootDir": "./src"
7 | },
8 | "include": ["src"]
9 | }
10 |
--------------------------------------------------------------------------------
/packages/queries/__mocks__/@snapshot-labs/snapshot.js.ts:
--------------------------------------------------------------------------------
1 | const mock = {
2 | utils: {
3 | getScores: () => [
4 | { '0x0000000000000000000000000000000000000000': 15 },
5 | { '0x0000000000000000000000000000000000000000': 0 },
6 | ],
7 |
8 | subgraphRequest: async () => ({ accounts: [] }),
9 | },
10 | };
11 |
12 | export default mock;
13 |
--------------------------------------------------------------------------------
/packages/queries/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: ['@babel/preset-env', '@babel/preset-typescript'],
3 | plugins: ['@babel/transform-runtime'],
4 | };
5 |
--------------------------------------------------------------------------------
/packages/queries/pull-subgraphs.sh:
--------------------------------------------------------------------------------
1 | npx codegen-graph-ts pull https://api.thegraph.com/subgraphs/name/synthetixio-team/synthetix-exchanges > subgraphs/exchanges.json
2 | npx codegen-graph-ts pull https://api.thegraph.com/subgraphs/name/synthetixio-team/synthetix-exchanger > subgraphs/exchanger.json
3 |
--------------------------------------------------------------------------------
/packages/queries/src/abis/ERC20.ts:
--------------------------------------------------------------------------------
1 | import ERC20Json from './ERC20.json';
2 |
3 | export const ERC20Abi = ERC20Json;
4 |
--------------------------------------------------------------------------------
/packages/queries/src/abis/ElectionModule.ts:
--------------------------------------------------------------------------------
1 | import ElectionModuleJson from './ElectionModule.json';
2 |
3 | export const ElectionModuleAbi = ElectionModuleJson.abi;
4 |
--------------------------------------------------------------------------------
/packages/queries/src/context.ts:
--------------------------------------------------------------------------------
1 | import { Signer } from '@ethersproject/abstract-signer';
2 | import { Provider } from '@ethersproject/providers';
3 | import { NetworkId, SynthetixJS } from '@synthetixio/contracts-interface';
4 |
5 | export interface SubgraphEndpoints {
6 | exchanges: string;
7 | exchanger: string;
8 | issuance: string;
9 | subgraph: string;
10 | }
11 |
12 | export interface QueryContext {
13 | networkId: NetworkId | null;
14 | provider: Provider | null;
15 | signer: Signer | null;
16 | snxjs: { contracts: SynthetixJS['contracts'] } | null;
17 | subgraphEndpoints: SubgraphEndpoints;
18 | }
19 |
--------------------------------------------------------------------------------
/packages/queries/src/contracts/Ambassador.ts:
--------------------------------------------------------------------------------
1 | import { ElectionModuleAbi } from '../abis/ElectionModule';
2 |
3 | export const Ambassador = {
4 | address: '0x37fAc8c146889333734015B0C942b620aCfeeff8',
5 | abi: ElectionModuleAbi,
6 | };
7 |
--------------------------------------------------------------------------------
/packages/queries/src/contracts/Grants.ts:
--------------------------------------------------------------------------------
1 | import { ElectionModuleAbi } from '../abis/ElectionModule';
2 |
3 | export const Grants = {
4 | address: '0x6891FfAA59c0Ce04b4E3C6eaa50CFc5E2fc77b77',
5 | abi: ElectionModuleAbi,
6 | };
7 |
--------------------------------------------------------------------------------
/packages/queries/src/contracts/Spartan.ts:
--------------------------------------------------------------------------------
1 | import { ElectionModuleAbi } from '../abis/ElectionModule';
2 |
3 | export const Spartan = {
4 | address: '0xE832C302D1160EAe57045eb9d9Ea14daBd2E229c',
5 | abi: ElectionModuleAbi,
6 | };
7 |
--------------------------------------------------------------------------------
/packages/queries/src/contracts/Treasury.ts:
--------------------------------------------------------------------------------
1 | import { ElectionModuleAbi } from '../abis/ElectionModule';
2 |
3 | export const Treasury = {
4 | address: '0x6cc6050be3214d14db46188e5df59bdeae97a42a',
5 | abi: ElectionModuleAbi,
6 | };
7 |
--------------------------------------------------------------------------------
/packages/queries/src/contracts/index.ts:
--------------------------------------------------------------------------------
1 | import { Ambassador } from './Ambassador';
2 | import { Grants } from './Grants';
3 | import { Spartan } from './Spartan';
4 | import { Treasury } from './Treasury';
5 |
6 | export { Ambassador, Grants, Spartan, Treasury };
7 |
--------------------------------------------------------------------------------
/packages/queries/src/queries/gov/utils.ts:
--------------------------------------------------------------------------------
1 | import { JsonRpcProvider } from '@ethersproject/providers';
2 |
3 | export const getOVMProvider = () => {
4 | return new JsonRpcProvider('https://mainnet.optimism.io');
5 | };
6 |
--------------------------------------------------------------------------------
/packages/queries/src/utils.test.ts:
--------------------------------------------------------------------------------
1 | import { isObjKey } from './utils';
2 | describe('isObjKey', () => {
3 | test('false when key does no exists', () => {
4 | expect(isObjKey('doesNotExists', { props: 1 }));
5 | });
6 | test('true when key does exists', () => {
7 | expect(isObjKey('props', { props: 1 }));
8 | });
9 | });
10 |
--------------------------------------------------------------------------------
/packages/queries/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.base.module.json",
3 | "compilerOptions": {
4 | "module": "commonjs",
5 | "outDir": "./build",
6 | "rootDir": "./src"
7 | },
8 | "include": ["src", "src/**/*.json"]
9 | }
10 |
--------------------------------------------------------------------------------
/svgo.json:
--------------------------------------------------------------------------------
1 | {
2 | "multipass": true,
3 | "js2svg": {
4 | "finalNewline": true,
5 | "eol": "lf",
6 | "indent": 2,
7 | "pretty": true
8 | },
9 | "plugins": [
10 | "preset-default",
11 | "convertStyleToAttrs",
12 | {
13 | "name": "sortAttrs",
14 | "params": {
15 | "xmlnsOrder": "alphabetical"
16 | }
17 | }
18 | ]
19 | }
20 |
--------------------------------------------------------------------------------
/tools/codegen-graph-ts/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | "no-console": "off"
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/tools/codegen-graph-ts/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | build
3 | generated
4 |
--------------------------------------------------------------------------------
/tools/codegen-graph-ts/babel.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["@babel/preset-env", "@babel/preset-typescript"],
3 | "plugins": ["@babel/transform-runtime"]
4 | }
5 |
--------------------------------------------------------------------------------
/tools/codegen-graph-ts/modules.d.ts:
--------------------------------------------------------------------------------
1 | declare module 'eval';
2 |
--------------------------------------------------------------------------------
/tools/codegen-graph-ts/src/gen/methods/index.ts:
--------------------------------------------------------------------------------
1 | import plain from './plain';
2 | import reactquery from './react-query';
3 |
4 | export default {
5 | plain,
6 | reactquery,
7 | };
8 |
--------------------------------------------------------------------------------
/tools/codegen-graph-ts/src/gen/types.ts:
--------------------------------------------------------------------------------
1 | export interface Type {
2 | name: string | null;
3 | kind: string;
4 | ofType: Type | null;
5 | }
6 |
7 | export type Field = {
8 | name: string;
9 | type: Type;
10 | };
11 |
12 | export type Entity = {
13 | name: string;
14 | fields: Field[] | null;
15 | inputFields: Field[] | null;
16 | };
17 |
18 | export type Schema = {
19 | types: Entity[];
20 | };
21 |
--------------------------------------------------------------------------------
/tools/codegen-graph-ts/src/gen/util.test.ts:
--------------------------------------------------------------------------------
1 | import { queryFunctionName } from './util';
2 |
3 | describe('queryFunctionName()', () => {
4 | it('does correct capitalization', () => {
5 | expect(queryFunctionName({ name: 'HelloWorld', fields: [], inputFields: [] })).toEqual(
6 | 'helloWorld'
7 | );
8 | expect(queryFunctionName({ name: 'HELLOWorld', fields: [], inputFields: [] })).toEqual(
9 | 'helloworld'
10 | );
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/tools/codegen-graph-ts/src/index.ts:
--------------------------------------------------------------------------------
1 | import { gen, pull } from './gen';
2 |
3 | export { gen, pull };
4 |
--------------------------------------------------------------------------------
/tools/codegen-graph-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.base.module.json",
3 | "compilerOptions": {
4 | "module": "commonjs",
5 | "outDir": "./build",
6 | "rootDir": "./src"
7 | },
8 | "include": ["src"]
9 | }
10 |
--------------------------------------------------------------------------------
/tools/deps/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | "no-console": "off"
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/tools/deps/lib/colors.js:
--------------------------------------------------------------------------------
1 | exports.fgReset = '\x1b[0m';
2 | exports.fgRed = '\x1b[31m';
3 | exports.fgGreen = '\x1b[32m';
4 | exports.fgYellow = '\x1b[33m';
5 | exports.fgCyan = '\x1b[36m';
6 |
--------------------------------------------------------------------------------
/tools/deps/lib/exec.js:
--------------------------------------------------------------------------------
1 | module.exports = async function exec(cmd, options) {
2 | return new Promise((resolve, reject) =>
3 | require('child_process').exec(
4 | cmd,
5 | { encoding: 'utf-8', stdio: 'pipe', ...options },
6 | (error, data) => (error ? reject(error) : resolve(data.trim()))
7 | )
8 | );
9 | };
10 |
--------------------------------------------------------------------------------
/tools/deps/lib/workspaces.js:
--------------------------------------------------------------------------------
1 | module.exports = async function workspaces() {
2 | const exec = require('./exec');
3 | return (await exec('yarn workspaces list --verbose --json'))
4 | .split('\n')
5 | .filter(Boolean)
6 | .map((line) => JSON.parse(line));
7 | };
8 |
--------------------------------------------------------------------------------
/tools/deps/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@synthetixio/deps",
3 | "private": true,
4 | "version": "1.0.0",
5 | "author": "Noisekit ",
6 | "repository": "github:Synthetixio/js-monorepo",
7 | "license": "MIT",
8 | "bin": {
9 | "deps": "./deps.js",
10 | "deps-circular": "./circular.js",
11 | "deps-mismatched": "./mismatched.js",
12 | "deps-version": "./version.js"
13 | },
14 | "devDependencies": {
15 | "depcheck": "^1.4.7",
16 | "prettier": "^2.8.4",
17 | "typescript": "^5.7.3"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/tools/generate-subgraph-query/babel.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["@babel/preset-env", "@babel/preset-typescript"],
3 | "plugins": ["@babel/transform-runtime"]
4 | }
5 |
--------------------------------------------------------------------------------
/tools/generate-subgraph-query/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './gql';
2 |
--------------------------------------------------------------------------------
/tools/generate-subgraph-query/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.base.module.json",
3 | "compilerOptions": {
4 | "module": "commonjs",
5 | "outDir": "./build",
6 | "rootDir": "./src"
7 | },
8 | "include": ["src"]
9 | }
10 |
--------------------------------------------------------------------------------
/tools/safe-import/index.js:
--------------------------------------------------------------------------------
1 | const { safeLazy } = require('./safeLazy');
2 | const { safeImport } = require('./safeImport');
3 | module.exports = {
4 | safeLazy,
5 | safeImport,
6 | };
7 |
--------------------------------------------------------------------------------
/tools/safe-import/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@synthetixio/safe-import",
3 | "publishConfig": {
4 | "access": "public"
5 | },
6 | "main": "index.js",
7 | "files": [
8 | "./*.js"
9 | ],
10 | "version": "1.0.0",
11 | "author": "Noisekit ",
12 | "repository": "github:Synthetixio/js-monorepo",
13 | "license": "MIT",
14 | "dependencies": {
15 | "react": "^18.2.0"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/tools/safe-import/safeLazy.js:
--------------------------------------------------------------------------------
1 | const { lazy } = require('react');
2 | const { safeImport } = require('./safeImport');
3 |
4 | function safeLazy(importer) {
5 | return lazy(() => safeImport(importer));
6 | }
7 |
8 | module.exports = {
9 | safeLazy,
10 | };
11 |
--------------------------------------------------------------------------------
/tsconfig.base.references.json:
--------------------------------------------------------------------------------
1 | {
2 | "exclude": [
3 | "**/node_modules/**",
4 | "**/coverage/**",
5 | "**/tests/**",
6 | "**/*.test.ts",
7 | "**/*.test.tsx",
8 | "**/build/**",
9 | "**/dist/**"
10 | ],
11 | "references": [
12 | { "path": "./packages/contracts-interface" },
13 | { "path": "./packages/optimism-networks" },
14 | { "path": "./packages/providers" },
15 | { "path": "./packages/queries" },
16 | { "path": "./tools/codegen-graph-ts" },
17 | { "path": "./v2/contracts" }
18 | ]
19 | }
20 |
--------------------------------------------------------------------------------
/v1/components/Card/CardBody.tsx:
--------------------------------------------------------------------------------
1 | import { FC } from 'react';
2 | import styled from 'styled-components';
3 | import { FlexDivCol } from '@snx-v1/styles';
4 |
5 | export type CardBodyProps = {
6 | children: React.ReactNode;
7 | className?: string;
8 | };
9 |
10 | export const CardBody: FC = ({ children, ...rest }) => (
11 | {children}
12 | );
13 |
14 | const Container = styled(FlexDivCol)`
15 | position: relative;
16 | padding: 12px 18px;
17 | `;
18 |
--------------------------------------------------------------------------------
/v1/components/Card/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Card';
2 | export * from './CardBody';
3 | export * from './CardHeader';
4 |
--------------------------------------------------------------------------------
/v1/components/Card/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v1/Card",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0",
6 | "dependencies": {
7 | "@snx-v1/styles": "workspace:*"
8 | },
9 | "devDependencies": {
10 | "react": "^18.2.0",
11 | "styled-components": "^5.3.6"
12 | },
13 | "peerDependencies": {
14 | "react": "18",
15 | "styled-components": "5"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/v1/lib/constantsUi/constantsUi.ts:
--------------------------------------------------------------------------------
1 | export const DESKTOP_SIDE_NAV_WIDTH = 160;
2 | export const MOBILE_SIDE_NAV_WIDTH = 320;
3 |
4 | export const DESKTOP_BODY_PADDING = 40;
5 | export const MOBILE_BODY_PADDING = 20;
6 |
7 | export enum zIndex {
8 | BASE = 1,
9 | DROPDOWN = 20,
10 | DIALOG_OVERLAY = 50,
11 | }
12 |
--------------------------------------------------------------------------------
/v1/lib/constantsUi/index.ts:
--------------------------------------------------------------------------------
1 | export * from './constantsUi';
2 |
--------------------------------------------------------------------------------
/v1/lib/constantsUi/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v1/constantsUi",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0"
6 | }
7 |
--------------------------------------------------------------------------------
/v1/lib/media/index.ts:
--------------------------------------------------------------------------------
1 | export * from './media';
2 |
3 | import { media } from './media';
4 | export default media;
5 |
--------------------------------------------------------------------------------
/v1/lib/media/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v1/media",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0",
6 | "devDependencies": {
7 | "@artsy/fresnel": "^1.9.0",
8 | "styled-media-query": "^2.1.2"
9 | },
10 | "peerDependencies": {
11 | "@artsy/fresnel": "1",
12 | "styled-media-query": "2"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/v1/lib/styles/index.ts:
--------------------------------------------------------------------------------
1 | export * from './styles';
2 |
--------------------------------------------------------------------------------
/v1/lib/styles/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v1/styles",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0",
6 | "dependencies": {
7 | "@snx-v1/constantsUi": "workspace:*",
8 | "@snx-v1/media": "workspace:*"
9 | },
10 | "devDependencies": {
11 | "@tippyjs/react": "^4.2.6",
12 | "styled-components": "^5.3.6"
13 | },
14 | "peerDependencies": {
15 | "@tippyjs/react": "4",
16 | "styled-components": "5"
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/v2/components/BalanceBox/index.ts:
--------------------------------------------------------------------------------
1 | export * from './BalanceBox';
2 |
--------------------------------------------------------------------------------
/v2/components/BoxLink/index.ts:
--------------------------------------------------------------------------------
1 | export * from './BoxLink';
2 |
--------------------------------------------------------------------------------
/v2/components/BoxLink/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/BoxLink",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.1",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "react": "^18.2.0",
9 | "react-router-dom": "^6.8.1"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/v2/components/Burn/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './Burn';
2 |
--------------------------------------------------------------------------------
/v2/components/Burn/layout.ts:
--------------------------------------------------------------------------------
1 | export const leftColWidth = '58%';
2 | export const rightColWidth = '40%';
3 |
--------------------------------------------------------------------------------
/v2/components/BurnStats/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './BurnStats';
2 |
--------------------------------------------------------------------------------
/v2/components/BurnStats/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/BurnStats",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.9",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "@snx-v2/ContractContext": "workspace:*",
9 | "@snx-v2/StatBox": "workspace:*",
10 | "@snx-v2/icons": "workspace:*",
11 | "@snx-v2/useApr": "workspace:*",
12 | "@snx-v2/useDelegateWallet": "workspace:*",
13 | "@snx-v2/useFeesBurnedInPeriod": "workspace:*",
14 | "@synthetixio/formatters": "workspace:*",
15 | "react": "^18.2.0"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/v2/components/CRatioBanner/index.ts:
--------------------------------------------------------------------------------
1 | export * from './CRatioBanner';
2 |
--------------------------------------------------------------------------------
/v2/components/CRatioBanner/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/CRatioBanner",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.13",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "@snx-v2/getHealthVariant": "workspace:*",
9 | "@snx-v2/useDebtData": "workspace:*",
10 | "@snx-v2/useFeePoolData": "workspace:*",
11 | "@snx-v2/useRewardsAvailable": "workspace:*",
12 | "@synthetixio/v3-theme": "workspace:*",
13 | "react": "^18.2.0",
14 | "react-i18next": "^12.1.5"
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/v2/components/CRatioBox/index.ts:
--------------------------------------------------------------------------------
1 | export * from './CRatioBox';
2 |
--------------------------------------------------------------------------------
/v2/components/CRatioBox/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/CRatioBox",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.11",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "@snx-v2/getHealthVariant": "workspace:*",
9 | "@snx-v2/icons": "workspace:*",
10 | "@snx-v2/useDebtData": "workspace:*",
11 | "@synthetixio/formatters": "workspace:*",
12 | "react": "^18.2.0",
13 | "react-i18next": "^12.1.5"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/v2/components/CRatioHealthCard/index.ts:
--------------------------------------------------------------------------------
1 | export * from './CRatioHealthCard';
2 |
--------------------------------------------------------------------------------
/v2/components/CRatioHealthCard/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/CRatioHealthCard",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.12",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "@snx-v2/CRatioHealthPercentage": "workspace:^",
9 | "@snx-v2/CRatioProgressBar": "workspace:*",
10 | "@snx-v2/getHealthVariant": "workspace:*",
11 | "@snx-v2/useDebtData": "workspace:*",
12 | "react": "^18.2.0",
13 | "react-i18next": "^12.1.5"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/v2/components/CRatioHealthPercentage/index.ts:
--------------------------------------------------------------------------------
1 | export * from './CRatioHealthPercentage';
2 |
--------------------------------------------------------------------------------
/v2/components/CRatioHealthPercentage/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/CRatioHealthPercentage",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.1",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "react": "^18.2.0"
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/v2/components/CRatioProgressBar/index.ts:
--------------------------------------------------------------------------------
1 | export * from './CRatioProgressBar';
2 |
--------------------------------------------------------------------------------
/v2/components/CRatioProgressBar/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/CRatioProgressBar",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.11",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "@snx-v2/getHealthVariant": "workspace:*",
9 | "@snx-v2/icons": "workspace:*",
10 | "@snx-v2/useDebtData": "workspace:*",
11 | "react": "^18.2.0"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/v2/components/CountDown/index.ts:
--------------------------------------------------------------------------------
1 | export * from './CountDown';
2 |
--------------------------------------------------------------------------------
/v2/components/CountDown/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/CountDown",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "@snx-v2/useInterval": "workspace:*",
9 | "date-fns": "^2.29.3",
10 | "react": "^18.2.0"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/v2/components/EarnStats/index.ts:
--------------------------------------------------------------------------------
1 | export * from './EarnStats';
2 |
--------------------------------------------------------------------------------
/v2/components/EarnStats/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/EarnStats",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.10",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "@snx-v2/StatBox": "workspace:*",
9 | "@snx-v2/useApr": "workspace:*",
10 | "@snx-v2/useClaimableRewards": "workspace:*",
11 | "@snx-v2/useGetLifetimeRewards": "workspace:*",
12 | "@synthetixio/formatters": "workspace:*",
13 | "react": "^18.2.0"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/v2/components/EpochPrice/index.ts:
--------------------------------------------------------------------------------
1 | export * from './EpochPrice';
2 |
--------------------------------------------------------------------------------
/v2/components/EpochPrice/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/EpochPrice",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "@snx-v2/CountDown": "workspace:*",
9 | "@snx-v2/icons": "workspace:*",
10 | "react": "^18.2.0",
11 | "react-i18next": "^12.1.5"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/v2/components/EthGasPriceEstimator/index.ts:
--------------------------------------------------------------------------------
1 | export * from './EthGasPriceEstimator';
2 |
--------------------------------------------------------------------------------
/v2/components/EthGasPriceEstimator/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/EthGasPriceEstimator",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.2-0",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "@snx-v2/GasSpeedContext": "workspace:*",
9 | "@snx-v2/icons": "workspace:*",
10 | "@synthetixio/formatters": "workspace:*",
11 | "@synthetixio/wei": "^2.74.4",
12 | "react": "^18.2.0",
13 | "react-i18next": "^12.1.5"
14 | },
15 | "stableVersion": "0.0.1"
16 | }
17 |
--------------------------------------------------------------------------------
/v2/components/ExternalLink/ExternalLink.tsx:
--------------------------------------------------------------------------------
1 | import React, { PropsWithChildren } from 'react';
2 | import { Link, LinkProps } from '@chakra-ui/react';
3 | import { ArrowTopRight } from '@snx-v2/icons';
4 |
5 | export const ExternalLink = ({ children, ...props }: PropsWithChildren) => {
6 | return (
7 |
8 | {children}
9 |
10 |
11 | );
12 | };
13 |
--------------------------------------------------------------------------------
/v2/components/ExternalLink/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ExternalLink';
2 |
--------------------------------------------------------------------------------
/v2/components/ExternalLink/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/ExternalLink",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "@snx-v2/icons": "workspace:*",
9 | "react": "^18.2.0"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/v2/components/HomeButton/index.ts:
--------------------------------------------------------------------------------
1 | export * from './HomeButton';
2 |
--------------------------------------------------------------------------------
/v2/components/HomeButton/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/HomeButton",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.1",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "@snx-v2/icons": "workspace:*",
9 | "react-i18next": "^12.1.5",
10 | "react-router-dom": "^6.8.1"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/v2/components/MainActionCards/index.ts:
--------------------------------------------------------------------------------
1 | export * from './MainActionCards';
2 | export * from './MainActionCardsList';
3 |
--------------------------------------------------------------------------------
/v2/components/Mint/index.tsx:
--------------------------------------------------------------------------------
1 | export { Mint } from './Mint';
2 |
--------------------------------------------------------------------------------
/v2/components/Mint/layout.ts:
--------------------------------------------------------------------------------
1 | export const leftColWidth = '58%';
2 | export const rightColWidth = '40%';
3 |
--------------------------------------------------------------------------------
/v2/components/MintOrBurnChanges/index.ts:
--------------------------------------------------------------------------------
1 | export * from './MintOrBurnChanges';
2 |
--------------------------------------------------------------------------------
/v2/components/Navigation/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Navigation';
2 |
--------------------------------------------------------------------------------
/v2/components/Notifi/index.ts:
--------------------------------------------------------------------------------
1 | import { NotifiCard } from './NotifiCard';
2 | export { NotifiCard } from './NotifiCard';
3 | export default NotifiCard;
4 |
--------------------------------------------------------------------------------
/v2/components/Notifi/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/Notifi",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.2",
6 | "dependencies": {
7 | "@notifi-network/notifi-react-card": "^0.86.0",
8 | "@snx-v2/ContractContext": "workspace:*",
9 | "@snx-v2/useSynthetixContracts": "workspace:*",
10 | "react": "^18.2.0"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/v2/components/NotifiButton/index.ts:
--------------------------------------------------------------------------------
1 | export * from './NotifiButton';
2 | export * from './NotifiContextWrapper';
3 |
--------------------------------------------------------------------------------
/v2/components/NotifiButton/notifibutton.css:
--------------------------------------------------------------------------------
1 | .notifi-unread-counter {
2 | position: absolute;
3 | top: 0.2rem;
4 | bottom: 0;
5 | left: 1.2rem;
6 | right: 0;
7 | display: flex;
8 | align-items: center;
9 | justify-content: center;
10 | font-size: 0.7rem;
11 | color: #000;
12 | text-align: center;
13 | width: 1.05rem;
14 | height: 1.05rem;
15 | background-color: #82f7c5;
16 | border-radius: 50px;
17 | }
18 |
--------------------------------------------------------------------------------
/v2/components/NotifiButton/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/NotifiButton",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.2",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "@ethersproject/bytes": "^5.8.0",
9 | "@notifi-network/notifi-react-card": "^0.86.0",
10 | "@snx-v2/ContractContext": "workspace:*",
11 | "@snx-v2/Notifi": "workspace:*",
12 | "@snx-v2/SignerContext": "workspace:*",
13 | "@snx-v2/icons": "workspace:*",
14 | "@snx-v2/useSynthetixContracts": "workspace:*",
15 | "@synthetixio/safe-import": "workspace:*",
16 | "react": "^18.2.0"
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/v2/components/RewardsItem/index.ts:
--------------------------------------------------------------------------------
1 | export * from './RewardsItem';
2 | export * from './Fees';
3 |
--------------------------------------------------------------------------------
/v2/components/SelfLiquidation/index.ts:
--------------------------------------------------------------------------------
1 | export * from './SelfLiquidation';
2 |
--------------------------------------------------------------------------------
/v2/components/Settings/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './Settings';
2 |
--------------------------------------------------------------------------------
/v2/components/Settings/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/Settings",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "@snx-v2/icons": "workspace:*",
9 | "react": "^18.2.0",
10 | "react-i18next": "^12.1.5"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/v2/components/StatBox/index.ts:
--------------------------------------------------------------------------------
1 | export * from './StatBox';
2 |
--------------------------------------------------------------------------------
/v2/components/StatBox/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/StatBox",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.1",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "@snx-v2/icons": "workspace:*",
9 | "react": "^18.2.0"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/v2/components/SwapLinks/index.ts:
--------------------------------------------------------------------------------
1 | export * from './SwapLinks';
2 |
--------------------------------------------------------------------------------
/v2/components/SwapLinks/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/SwapLinks",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.13",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "@snx-v2/ContractContext": "workspace:*",
9 | "@snx-v2/icons": "workspace:*",
10 | "@snx-v2/useDebtData": "workspace:*",
11 | "@snx-v2/useSynthetixContracts": "workspace:*",
12 | "@synthetixio/formatters": "workspace:*",
13 | "react": "^18.2.0",
14 | "react-i18next": "^12.1.5",
15 | "react-router-dom": "^6.8.1"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/v2/components/TableComponents/index.ts:
--------------------------------------------------------------------------------
1 | export * from './TableComponents';
2 |
--------------------------------------------------------------------------------
/v2/components/TableComponents/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/TableComponents",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.1",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/v2/components/TermsModal/index.ts:
--------------------------------------------------------------------------------
1 | export * from './TermsModal';
2 |
--------------------------------------------------------------------------------
/v2/components/TermsModal/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/TermsModal",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.1",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "@snx-v2/Constants": "workspace:*",
9 | "@synthetixio/v3-theme": "workspace:*",
10 | "react": "^18.2.0",
11 | "react-router-dom": "^6.8.1"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/v2/components/TransactionModal/index.ts:
--------------------------------------------------------------------------------
1 | export * from './TransactionModal';
2 |
--------------------------------------------------------------------------------
/v2/components/TransactionModal/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/TransactionModal",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.1",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "@synthetixio/v3-theme": "workspace:*",
9 | "react": "^18.2.0",
10 | "react-i18next": "^12.1.5"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/v2/components/UnflagOptions/index.ts:
--------------------------------------------------------------------------------
1 | export * from './UnflagOptions';
2 |
--------------------------------------------------------------------------------
/v2/components/UnflagOptions/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/UnflagOptions",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.13",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "@snx-v2/getHealthVariant": "workspace:*",
9 | "@snx-v2/icons": "workspace:*",
10 | "@snx-v2/useDebtData": "workspace:*",
11 | "@snx-v2/useLiquidationData": "workspace:*",
12 | "@snx-v2/useSynthsBalances": "workspace:*",
13 | "@synthetixio/formatters": "workspace:*",
14 | "react-i18next": "^12.1.5",
15 | "react-router-dom": "^6.8.1"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/v2/components/UserBalances/index.ts:
--------------------------------------------------------------------------------
1 | export * from './UserBalances';
2 |
--------------------------------------------------------------------------------
/v2/components/UserBalances/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/UserBalances",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "@snx-v2/icons": "workspace:*",
9 | "@synthetixio/wei": "^2.74.4",
10 | "react-router-dom": "^6.8.1"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/v2/components/UtilityCard/index.ts:
--------------------------------------------------------------------------------
1 | export * from './UtilityCard';
2 |
--------------------------------------------------------------------------------
/v2/components/UtilityCard/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/UtilityCard",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "react": "^18.2.0"
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/v2/components/WalletBalances/index.ts:
--------------------------------------------------------------------------------
1 | export * from './WalletBalances';
2 |
--------------------------------------------------------------------------------
/v2/components/WalletLayout/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './WalletLayout';
2 |
--------------------------------------------------------------------------------
/v2/components/WalletLayout/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/WalletLayout",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.10",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "@snx-v2/ContractContext": "workspace:*",
9 | "@snx-v2/useSynthetixContracts": "workspace:*",
10 | "react": "^18.2.0",
11 | "react-i18next": "^12.1.5",
12 | "react-router-dom": "^6.8.1"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/v2/components/WalletModal/index.ts:
--------------------------------------------------------------------------------
1 | export * from './WalletModal';
2 |
--------------------------------------------------------------------------------
/v2/components/Welcome/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Welcome';
2 |
--------------------------------------------------------------------------------
/v2/components/Welcome/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/Welcome",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0",
6 | "dependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "@snx-v2/Constants": "workspace:*",
9 | "react": "^18.2.0",
10 | "react-i18next": "^12.1.5"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/v2/components/icons/ArrowLeft/ArrowLeft.tsx:
--------------------------------------------------------------------------------
1 | import { Icon, IconProps } from '@chakra-ui/react';
2 |
3 | interface ArrowLeftProps extends IconProps {
4 | color?: string;
5 | }
6 |
7 | export const ArrowLeft = ({
8 | width = '12px',
9 | height = '12px',
10 | color = '#00D1FF',
11 | ...props
12 | }: ArrowLeftProps) => {
13 | return (
14 |
15 |
19 |
20 | );
21 | };
22 |
--------------------------------------------------------------------------------
/v2/components/icons/ArrowLeft/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ArrowLeft';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/ArrowRight/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ArrowRight';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/ArrowTopRight/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ArrowTopRight';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/AvatarIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './AvatarIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/BridgeIcon/index.ts:
--------------------------------------------------------------------------------
1 | export * from './BridgeIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/ChevronDown/ChevronDown.tsx:
--------------------------------------------------------------------------------
1 | import { Icon, IconProps } from '@chakra-ui/react';
2 |
3 | export const ChevronDown = ({ width = '20px', height = '20px', ...props }: IconProps) => {
4 | return (
5 |
6 |
10 |
11 | );
12 | };
13 |
--------------------------------------------------------------------------------
/v2/components/icons/ChevronDown/index.tsx:
--------------------------------------------------------------------------------
1 | export { ChevronDown } from './ChevronDown';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/ChevronUp/ChevronUp.tsx:
--------------------------------------------------------------------------------
1 | import { Icon, IconProps } from '@chakra-ui/react';
2 |
3 | export const ChevronUp = ({ width = '20px', height = '20px', ...props }: IconProps) => {
4 | return (
5 |
6 |
10 |
11 | );
12 | };
13 |
--------------------------------------------------------------------------------
/v2/components/icons/ChevronUp/index.tsx:
--------------------------------------------------------------------------------
1 | export { ChevronUp } from './ChevronUp';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/ClockIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './ClockIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/CloseIcon/CloseIcon.tsx:
--------------------------------------------------------------------------------
1 | import { Icon, IconProps } from '@chakra-ui/react';
2 |
3 | export const CloseIcon = ({
4 | color = 'black',
5 | width = '24px',
6 | height = '24px',
7 | ...props
8 | }: IconProps) => {
9 | return (
10 |
11 |
15 |
16 | );
17 | };
18 |
--------------------------------------------------------------------------------
/v2/components/icons/CloseIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export { CloseIcon } from './CloseIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/CollectIcon/index.ts:
--------------------------------------------------------------------------------
1 | export * from './CollectIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/CopyIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './CopyIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/CowSwapIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export { CowSwapIcon } from './CowSwapIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/CurveIcon/Curve.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/components/icons/CurveIcon/Curve.png
--------------------------------------------------------------------------------
/v2/components/icons/CurveIcon/CurveIcon.tsx:
--------------------------------------------------------------------------------
1 | import { Image, ImageProps } from '@chakra-ui/react';
2 | import { FC } from 'react';
3 | import CurveIconImg from './Curve.png';
4 |
5 | // Curve's SVG icon is huge so using a png here instead
6 | export const CurveIcon: FC = (props) => {
7 | return ;
8 | };
9 |
--------------------------------------------------------------------------------
/v2/components/icons/CurveIcon/index.ts:
--------------------------------------------------------------------------------
1 | export * from './CurveIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/DebtPoolIcon/index.ts:
--------------------------------------------------------------------------------
1 | export * from './DebtPoolIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/DollarIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './DollarIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/EthereumIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export { EthereumIcon } from './EthereumIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/FailedIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export { FailedIcon } from './FailedIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/GovIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export { GovIcon } from './GovIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/GuideIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export { GuideIcon } from './GuideIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/InfoIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export { InfoIcon } from './InfoIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/InfoOutline/index.tsx:
--------------------------------------------------------------------------------
1 | export { InfoOutline } from './InfoOutline';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/KebabMenu/index.tsx:
--------------------------------------------------------------------------------
1 | export { KebabMenu } from './KebabMenu';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/KebabMenuVertical/index.tsx:
--------------------------------------------------------------------------------
1 | export { KebabMenuVertical } from './KebabMenuVertical';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/KwentaIcon/index.ts:
--------------------------------------------------------------------------------
1 | export * from './KwentaIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/LoansIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export { LoansIcon } from './LoansIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/LyraIcon/index.ts:
--------------------------------------------------------------------------------
1 | export * from './LyraIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/MaintainIcon/index.ts:
--------------------------------------------------------------------------------
1 | export * from './MaintainIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/NineDots/index.ts:
--------------------------------------------------------------------------------
1 | export * from './NineDots';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/NotificationsIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export { NotificationsIcon } from './NotificationsIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/OneInchIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export { OneInchIcon } from './OneInchIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/OpenInNew/index.ts:
--------------------------------------------------------------------------------
1 | export * from './OpenInNew';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/OptimismIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export { OptimismIcon } from './OptimismIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/OvertimeIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './OvertimeIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/PolynomialIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './PolynomialIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/SBTCIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export { SBTCIcon } from './SBTCIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/SLINKIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export { SLINKIcon } from './SLINKIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/SNXIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './SNXIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/SUSDIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export { SUSDIcon } from './SUSDIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/SettingsIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export { SettingsIcon } from './SettingsIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/StakeIcon/index.ts:
--------------------------------------------------------------------------------
1 | export * from './StakeIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/StakingIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export { StakingIcon } from './StakingIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/StakingLogo/index.ts:
--------------------------------------------------------------------------------
1 | export * from './StakingLogo';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/StakingRewardsIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './StakingRewardsIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/SushiSwapLogo/index.tsx:
--------------------------------------------------------------------------------
1 | export { SushiSwapLogo } from './SushiSwapLogo';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/SwitchIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export { SwitchIcon } from './SwitchIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/ThalesIcon/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ThalesIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/TickIcon/TickIcon.tsx:
--------------------------------------------------------------------------------
1 | import { Icon, IconProps } from '@chakra-ui/react';
2 |
3 | export const TickIcon = ({
4 | width = '16px',
5 | height = '16px',
6 | color = 'success',
7 | ...props
8 | }: IconProps) => {
9 | return (
10 |
11 |
15 |
16 | );
17 | };
18 |
--------------------------------------------------------------------------------
/v2/components/icons/TickIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './TickIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/TokensIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export { TokensIcon } from './TokensIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/TradingFeesIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './TradingFeesIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/TransactionCompleted/index.tsx:
--------------------------------------------------------------------------------
1 | export { TransactionCompleted } from './TransactionCompleted';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/TransactionPending/index.tsx:
--------------------------------------------------------------------------------
1 | export { TransactionPending } from './TransactionPending';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/TriangleDownIcon/TriangleDownIcon.tsx:
--------------------------------------------------------------------------------
1 | import { Icon, IconProps } from '@chakra-ui/react';
2 |
3 | export const TriangleDownIcon = ({
4 | width = '25px',
5 | height = '24px',
6 | color = 'white',
7 | ...props
8 | }: IconProps) => {
9 | return (
10 |
11 |
12 |
13 | );
14 | };
15 |
--------------------------------------------------------------------------------
/v2/components/icons/TriangleDownIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export { TriangleDownIcon } from './TriangleDownIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/TriangleUpIcon/TriangleUpIcon.tsx:
--------------------------------------------------------------------------------
1 | import { Icon, IconProps } from '@chakra-ui/react';
2 |
3 | export const TriangleUpIcon = ({
4 | width = '25px',
5 | height = '24px',
6 | color = 'white',
7 | ...props
8 | }: IconProps) => {
9 | return (
10 |
11 |
12 |
13 | );
14 | };
15 |
--------------------------------------------------------------------------------
/v2/components/icons/TriangleUpIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export { TriangleUpIcon } from './TriangleUpIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/WalletIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export { WalletIcon } from './WalletIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/WreckedIcon/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './WreckedIcon';
2 |
--------------------------------------------------------------------------------
/v2/components/icons/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/icons",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0",
6 | "devDependencies": {
7 | "@chakra-ui/react": "^2.5.0",
8 | "react": "^18.2.0"
9 | },
10 | "peerDependencies": {
11 | "@chakra-ui/react": "2",
12 | "react": "18"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/v2/contracts/index.js:
--------------------------------------------------------------------------------
1 | throw new Error('Import each contract directly from @synthetixio/contracts/build');
2 |
--------------------------------------------------------------------------------
/v2/contracts/src/mainnet-ovm/deployment/EscrowChecker.ts:
--------------------------------------------------------------------------------
1 | // !!! DO NOT EDIT !!! Automatically generated file
2 |
3 | export const name = 'EscrowChecker';
4 | export const address = '0xcdb7D0a946223255d39A6e29B54f08f3291cc118';
5 | export const source = 'EscrowChecker';
6 | export const abi = [
7 | 'constructor(address _esc)',
8 | 'function checkAccountSchedule(address account) view returns (uint256[16])',
9 | 'function synthetix_escrow() view returns (address)',
10 | ];
11 |
--------------------------------------------------------------------------------
/v2/contracts/src/mainnet-ovm/deployment/EtherCollateral.ts:
--------------------------------------------------------------------------------
1 | // !!! DO NOT EDIT !!! Automatically generated file
2 |
3 | export const name = 'EtherCollateral';
4 | export const address = '0xC8E91c926E04BE1cb94e51c5379d14774D51ae6C';
5 | export const source = 'EmptyEtherCollateral';
6 | export const abi = ['function totalIssuedSynths() pure returns (uint256)'];
7 |
--------------------------------------------------------------------------------
/v2/contracts/src/mainnet-ovm/deployment/EtherCollateralsUSD.ts:
--------------------------------------------------------------------------------
1 | // !!! DO NOT EDIT !!! Automatically generated file
2 |
3 | export const name = 'EtherCollateralsUSD';
4 | export const address = '0xC0c66470E766AE2026E6695966C56C90741811AA';
5 | export const source = 'EmptyEtherCollateral';
6 | export const abi = ['function totalIssuedSynths() pure returns (uint256)'];
7 |
--------------------------------------------------------------------------------
/v2/contracts/src/mainnet-ovm/deployment/EtherWrapper.ts:
--------------------------------------------------------------------------------
1 | // !!! DO NOT EDIT !!! Automatically generated file
2 |
3 | export const name = 'EtherWrapper';
4 | export const address = '0xc3Ee42caBD773A608fa9Ec951982c94BD6F33d59';
5 | export const source = 'EmptyEtherWrapper';
6 | export const abi = [
7 | 'constructor()',
8 | 'function distributeFees()',
9 | 'function totalIssuedSynths() view returns (uint256)',
10 | ];
11 |
--------------------------------------------------------------------------------
/v2/contracts/src/mainnet-ovm/deployment/Math.ts:
--------------------------------------------------------------------------------
1 | // !!! DO NOT EDIT !!! Automatically generated file
2 |
3 | export const name = 'Math';
4 | export const address = '0x0B3A73EE0740b3130e40B2A6b5aaf59E7E3Ef74c';
5 | export const source = 'Math';
6 | export const abi = [];
7 |
--------------------------------------------------------------------------------
/v2/contracts/src/mainnet-ovm/deployment/SafeDecimalMath.ts:
--------------------------------------------------------------------------------
1 | // !!! DO NOT EDIT !!! Automatically generated file
2 |
3 | export const name = 'SafeDecimalMath';
4 | export const address = '0x0142F40c25CE1F1177Ed131101FA19217396cB88';
5 | export const source = 'SafeDecimalMath';
6 | export const abi = [
7 | 'function PRECISE_UNIT() view returns (uint256)',
8 | 'function UNIT() view returns (uint256)',
9 | 'function decimals() view returns (uint8)',
10 | 'function highPrecisionDecimals() view returns (uint8)',
11 | 'function preciseUnit() pure returns (uint256)',
12 | 'function unit() pure returns (uint256)',
13 | ];
14 |
--------------------------------------------------------------------------------
/v2/contracts/src/mainnet-ovm/deployment/SignedSafeDecimalMath.ts:
--------------------------------------------------------------------------------
1 | // !!! DO NOT EDIT !!! Automatically generated file
2 |
3 | export const name = 'SignedSafeDecimalMath';
4 | export const address = '0x253914cf059f4c3E277c28060C404acFc38FB6e2';
5 | export const source = 'SignedSafeDecimalMath';
6 | export const abi = [
7 | 'function PRECISE_UNIT() view returns (int256)',
8 | 'function UNIT() view returns (int256)',
9 | 'function decimals() view returns (uint8)',
10 | 'function highPrecisionDecimals() view returns (uint8)',
11 | 'function preciseUnit() pure returns (int256)',
12 | 'function unit() pure returns (int256)',
13 | ];
14 |
--------------------------------------------------------------------------------
/v2/contracts/src/mainnet-ovm/deployment/json/EtherCollateral.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "constant": true,
4 | "inputs": [],
5 | "name": "totalIssuedSynths",
6 | "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
7 | "payable": false,
8 | "stateMutability": "pure",
9 | "type": "function"
10 | }
11 | ]
12 |
--------------------------------------------------------------------------------
/v2/contracts/src/mainnet-ovm/deployment/json/EtherCollateralsUSD.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "constant": true,
4 | "inputs": [],
5 | "name": "totalIssuedSynths",
6 | "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
7 | "payable": false,
8 | "stateMutability": "pure",
9 | "type": "function"
10 | }
11 | ]
12 |
--------------------------------------------------------------------------------
/v2/contracts/src/mainnet-ovm/deployment/json/Math.json:
--------------------------------------------------------------------------------
1 | []
2 |
--------------------------------------------------------------------------------
/v2/contracts/src/mainnet/deployment/EscrowChecker.ts:
--------------------------------------------------------------------------------
1 | // !!! DO NOT EDIT !!! Automatically generated file
2 |
3 | export const name = 'EscrowChecker';
4 | export const address = '0x3b399e00AFd8201ACf8A5a0EcCF1C47d8D5E41da';
5 | export const source = 'EscrowChecker';
6 | export const abi = [
7 | 'function checkAccountSchedule(address account) view returns (uint256[16])',
8 | 'function synthetix_escrow() view returns (address)',
9 | 'constructor(address _esc)',
10 | ];
11 |
--------------------------------------------------------------------------------
/v2/contracts/src/mainnet/deployment/Math.ts:
--------------------------------------------------------------------------------
1 | // !!! DO NOT EDIT !!! Automatically generated file
2 |
3 | export const name = 'Math';
4 | export const address = '0x385e1Eb2FF28F4A637DA2C9971F8CAF5F5b1E77c';
5 | export const source = 'Math';
6 | export const abi = [];
7 |
--------------------------------------------------------------------------------
/v2/contracts/src/mainnet/deployment/SafeDecimalMath.ts:
--------------------------------------------------------------------------------
1 | // !!! DO NOT EDIT !!! Automatically generated file
2 |
3 | export const name = 'SafeDecimalMath';
4 | export const address = '0x84D626B2BB4D0F064067e4BF80FCe7055d8F3E7B';
5 | export const source = 'SafeDecimalMath';
6 | export const abi = [
7 | 'function decimals() view returns (uint8)',
8 | 'function PRECISE_UNIT() view returns (uint256)',
9 | 'function unit() pure returns (uint256)',
10 | 'function UNIT() view returns (uint256)',
11 | 'function preciseUnit() pure returns (uint256)',
12 | 'function highPrecisionDecimals() view returns (uint8)',
13 | ];
14 |
--------------------------------------------------------------------------------
/v2/contracts/src/mainnet/deployment/SignedSafeDecimalMath.ts:
--------------------------------------------------------------------------------
1 | // !!! DO NOT EDIT !!! Automatically generated file
2 |
3 | export const name = 'SignedSafeDecimalMath';
4 | export const address = '0x728A2B79Cad691531CC1146eF802617FF50c7095';
5 | export const source = 'SignedSafeDecimalMath';
6 | export const abi = [
7 | 'function PRECISE_UNIT() view returns (int256)',
8 | 'function UNIT() view returns (int256)',
9 | 'function decimals() view returns (uint8)',
10 | 'function highPrecisionDecimals() view returns (uint8)',
11 | 'function preciseUnit() pure returns (int256)',
12 | 'function unit() pure returns (int256)',
13 | ];
14 |
--------------------------------------------------------------------------------
/v2/contracts/src/mainnet/deployment/json/Math.json:
--------------------------------------------------------------------------------
1 | []
2 |
--------------------------------------------------------------------------------
/v2/contracts/src/sepolia-ovm/deployment/EscrowChecker.ts:
--------------------------------------------------------------------------------
1 | // !!! DO NOT EDIT !!! Automatically generated file
2 |
3 | export const name = 'EscrowChecker';
4 | export const address = '0xAf5E03bF7d4274873A23f343048e1cd3Edca22c0';
5 | export const source = 'EscrowChecker';
6 | export const abi = [
7 | 'constructor(address _esc)',
8 | 'function checkAccountSchedule(address account) view returns (uint256[16])',
9 | 'function synthetix_escrow() view returns (address)',
10 | ];
11 |
--------------------------------------------------------------------------------
/v2/contracts/src/sepolia-ovm/deployment/EtherWrapper.ts:
--------------------------------------------------------------------------------
1 | // !!! DO NOT EDIT !!! Automatically generated file
2 |
3 | export const name = 'EtherWrapper';
4 | export const address = '0x94dD4B5845BB6e13CD9cb8C9798660c7d1fC4863';
5 | export const source = 'EmptyEtherWrapper';
6 | export const abi = [
7 | 'constructor()',
8 | 'function distributeFees()',
9 | 'function totalIssuedSynths() view returns (uint256)',
10 | ];
11 |
--------------------------------------------------------------------------------
/v2/contracts/src/sepolia-ovm/deployment/Math.ts:
--------------------------------------------------------------------------------
1 | // !!! DO NOT EDIT !!! Automatically generated file
2 |
3 | export const name = 'Math';
4 | export const address = '0xee4287a9e9B89F880D50F68597E91a06f69dCc21';
5 | export const source = 'Math';
6 | export const abi = [];
7 |
--------------------------------------------------------------------------------
/v2/contracts/src/sepolia-ovm/deployment/SafeDecimalMath.ts:
--------------------------------------------------------------------------------
1 | // !!! DO NOT EDIT !!! Automatically generated file
2 |
3 | export const name = 'SafeDecimalMath';
4 | export const address = '0x2aD7cCAac0Eeb396C3A5fc2b73A885435688C0D5';
5 | export const source = 'SafeDecimalMath';
6 | export const abi = [
7 | 'function PRECISE_UNIT() view returns (uint256)',
8 | 'function UNIT() view returns (uint256)',
9 | 'function decimals() view returns (uint8)',
10 | 'function highPrecisionDecimals() view returns (uint8)',
11 | 'function preciseUnit() pure returns (uint256)',
12 | 'function unit() pure returns (uint256)',
13 | ];
14 |
--------------------------------------------------------------------------------
/v2/contracts/src/sepolia-ovm/deployment/SignedSafeDecimalMath.ts:
--------------------------------------------------------------------------------
1 | // !!! DO NOT EDIT !!! Automatically generated file
2 |
3 | export const name = 'SignedSafeDecimalMath';
4 | export const address = '0xc7dCC0929881530d3386de51D9ffdD35B8009c6E';
5 | export const source = 'SignedSafeDecimalMath';
6 | export const abi = [
7 | 'function PRECISE_UNIT() view returns (int256)',
8 | 'function UNIT() view returns (int256)',
9 | 'function decimals() view returns (uint8)',
10 | 'function highPrecisionDecimals() view returns (uint8)',
11 | 'function preciseUnit() pure returns (int256)',
12 | 'function unit() pure returns (int256)',
13 | ];
14 |
--------------------------------------------------------------------------------
/v2/contracts/src/sepolia-ovm/deployment/json/Math.json:
--------------------------------------------------------------------------------
1 | []
2 |
--------------------------------------------------------------------------------
/v2/contracts/src/sepolia/deployment/EscrowChecker.ts:
--------------------------------------------------------------------------------
1 | // !!! DO NOT EDIT !!! Automatically generated file
2 |
3 | export const name = 'EscrowChecker';
4 | export const address = '0x7f9Ecf9cD54cDB7D00927cf32e4029f9a69AF4e5';
5 | export const source = 'EscrowChecker';
6 | export const abi = [
7 | 'constructor(address _esc)',
8 | 'function checkAccountSchedule(address account) view returns (uint256[16])',
9 | 'function synthetix_escrow() view returns (address)',
10 | ];
11 |
--------------------------------------------------------------------------------
/v2/contracts/src/sepolia/deployment/Math.ts:
--------------------------------------------------------------------------------
1 | // !!! DO NOT EDIT !!! Automatically generated file
2 |
3 | export const name = 'Math';
4 | export const address = '0xe5BBE61dC29670Fa52E3a3bCdb7278d926Db1A2A';
5 | export const source = 'Math';
6 | export const abi = [];
7 |
--------------------------------------------------------------------------------
/v2/contracts/src/sepolia/deployment/SafeDecimalMath.ts:
--------------------------------------------------------------------------------
1 | // !!! DO NOT EDIT !!! Automatically generated file
2 |
3 | export const name = 'SafeDecimalMath';
4 | export const address = '0x9D6D846D4546614a7e668e66886624c0AE21D786';
5 | export const source = 'SafeDecimalMath';
6 | export const abi = [
7 | 'function PRECISE_UNIT() view returns (uint256)',
8 | 'function UNIT() view returns (uint256)',
9 | 'function decimals() view returns (uint8)',
10 | 'function highPrecisionDecimals() view returns (uint8)',
11 | 'function preciseUnit() pure returns (uint256)',
12 | 'function unit() pure returns (uint256)',
13 | ];
14 |
--------------------------------------------------------------------------------
/v2/contracts/src/sepolia/deployment/SignedSafeDecimalMath.ts:
--------------------------------------------------------------------------------
1 | // !!! DO NOT EDIT !!! Automatically generated file
2 |
3 | export const name = 'SignedSafeDecimalMath';
4 | export const address = '0x2060e6041F7C1BF9A90FA0c060E40C402d81D6CE';
5 | export const source = 'SignedSafeDecimalMath';
6 | export const abi = [
7 | 'function PRECISE_UNIT() view returns (int256)',
8 | 'function UNIT() view returns (int256)',
9 | 'function decimals() view returns (uint8)',
10 | 'function highPrecisionDecimals() view returns (uint8)',
11 | 'function preciseUnit() pure returns (int256)',
12 | 'function unit() pure returns (int256)',
13 | ];
14 |
--------------------------------------------------------------------------------
/v2/contracts/src/sepolia/deployment/json/Math.json:
--------------------------------------------------------------------------------
1 | []
2 |
--------------------------------------------------------------------------------
/v2/contracts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.base.module.json",
3 | "compilerOptions": {
4 | "module": "commonjs",
5 | "outDir": "./build",
6 | "rootDir": "./src"
7 | },
8 | "include": ["src"]
9 | }
10 |
--------------------------------------------------------------------------------
/v2/cypress/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | "no-console": "off"
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/v2/cypress/.gitignore:
--------------------------------------------------------------------------------
1 | .env.local
2 |
--------------------------------------------------------------------------------
/v2/cypress/cypress.d.ts:
--------------------------------------------------------------------------------
1 | import { mount } from 'cypress/react';
2 |
3 | // Augment the Cypress namespace to include type definitions for
4 | // your custom command.
5 | // Alternatively, can be defined in cypress/support/component.d.ts
6 | // with a at the top of your spec.
7 | declare global {
8 | namespace Cypress {
9 | interface Chainable {
10 | mount: typeof mount;
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/v2/cypress/cypress/.gitignore:
--------------------------------------------------------------------------------
1 | # cypress ignores
2 | videos
3 | screenshots
4 | reports
5 | forks
6 |
--------------------------------------------------------------------------------
/v2/cypress/cypress/e2e/home.e2e.js:
--------------------------------------------------------------------------------
1 | it('shows homepage to unauthorised user', () => {
2 | cy.visit('http://localhost:3000');
3 | cy.get('#app').should('contain', 'Welcome to Synthetix');
4 | });
5 |
--------------------------------------------------------------------------------
/v2/cypress/cypress/lib/testname.js:
--------------------------------------------------------------------------------
1 | export function testname() {
2 | return Cypress.currentTest.titlePath.join('--').replace(/[^\w-]+/gi, '-');
3 | }
4 |
--------------------------------------------------------------------------------
/v2/cypress/cypress/support/component-index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Components App
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/v2/cypress/cypress/tasks/forkReset.js:
--------------------------------------------------------------------------------
1 | import { ethers } from 'ethers';
2 |
3 | export async function forkReset() {
4 | const provider = new ethers.providers.JsonRpcProvider('http://127.0.0.1:8545');
5 | await provider.send('anvil_reset', [
6 | {
7 | forking: {
8 | jsonRpcUrl: '',
9 | blockNumber: 14390000,
10 | },
11 | },
12 | ]);
13 | console.log('forkReset', { result: 'OK' });
14 | return null;
15 | }
16 |
--------------------------------------------------------------------------------
/v2/lib/Constants/Constants.ts:
--------------------------------------------------------------------------------
1 | export const WEEKS_IN_YEAR = 52;
2 | export const GWEI_DECIMALS = 9;
3 |
--------------------------------------------------------------------------------
/v2/lib/Constants/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Constants';
2 | export * from './links';
3 | export * from './localStorage';
4 | export * from './subgraph';
5 |
--------------------------------------------------------------------------------
/v2/lib/Constants/localStorage.ts:
--------------------------------------------------------------------------------
1 | export const LOCAL_STORAGE_KEYS = {
2 | SELECTED_WALLET: 'selectedWallet',
3 | WATCHED_WALLETS: 'watchedWallets',
4 | THALES_STAKING_INFO_VISIBLE: 'thalesStakingInfo',
5 | WARNING_URL_BANNER_VISIBLE: 'isWarningUrlBannerVisible',
6 | RE_ELECTION_NEW_START_TIME: 'reElectionNewStartTimeVisible',
7 | };
8 |
9 | export const SESSION_STORAGE_KEYS = {
10 | TERMS_CONDITIONS_ACCEPTED: 'TERMS_CONDITIONS_ACCEPTED',
11 | };
12 |
--------------------------------------------------------------------------------
/v2/lib/Constants/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/Constants",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0",
6 | "dependencies": {
7 | "react": "^18.2.0"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/v2/lib/Constants/subgraph.ts:
--------------------------------------------------------------------------------
1 | export const MAINNET_URL = 'https://api.thegraph.com/subgraphs/name/synthetixio-team/mainnet-main';
2 | export const OPTIMISM_URL =
3 | 'https://gateway-arbitrum.network.thegraph.com/api/3955c204decac48c529b8105344afb7f/subgraphs/id/39nXvA89wrgSz7vRAq6uxmvYn2CTNDuSfXJue3m7PVKA';
4 |
--------------------------------------------------------------------------------
/v2/lib/ContractContext/ContractContext.tsx:
--------------------------------------------------------------------------------
1 | import { createContext } from 'react';
2 |
3 | export const ContractContext = createContext<{
4 | networkId: number | null;
5 | walletAddress: string | null;
6 | ensName: string | null;
7 | walletType: string | null;
8 | }>({
9 | networkId: null,
10 | walletAddress: null,
11 | ensName: null,
12 | walletType: null,
13 | });
14 |
--------------------------------------------------------------------------------
/v2/lib/ContractContext/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ContractContext';
2 |
--------------------------------------------------------------------------------
/v2/lib/ContractContext/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/ContractContext",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0",
6 | "dependencies": {
7 | "react": "^18.2.0"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/v2/lib/GasSpeedContext/index.ts:
--------------------------------------------------------------------------------
1 | export * from './GasSpeedContext';
2 |
--------------------------------------------------------------------------------
/v2/lib/GasSpeedContext/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/GasSpeedContext",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0",
6 | "dependencies": {
7 | "react": "^18.2.0"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/v2/lib/SignerContext/SignerContext.tsx:
--------------------------------------------------------------------------------
1 | import { createContext } from 'react';
2 | import { Signer } from 'ethers';
3 |
4 | export const SignerContext = createContext(null);
5 |
--------------------------------------------------------------------------------
/v2/lib/SignerContext/index.ts:
--------------------------------------------------------------------------------
1 | export * from './SignerContext';
2 |
--------------------------------------------------------------------------------
/v2/lib/SignerContext/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/SignerContext",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0",
6 | "dependencies": {
7 | "ethers": "^5.8.0",
8 | "react": "^18.2.0"
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/v2/lib/SwitchNetworkContext/SwitchNetworkContext.tsx:
--------------------------------------------------------------------------------
1 | import { NetworkId } from '@synthetixio/contracts-interface';
2 | import { createContext } from 'react';
3 |
4 | // eslint-disable-next-line @typescript-eslint/no-empty-function
5 | export const SwitchNetworkContext = createContext<(id: NetworkId) => Promise>(
6 | async () => undefined
7 | );
8 |
--------------------------------------------------------------------------------
/v2/lib/SwitchNetworkContext/index.ts:
--------------------------------------------------------------------------------
1 | export * from './SwitchNetworkContext';
2 |
--------------------------------------------------------------------------------
/v2/lib/SwitchNetworkContext/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/SwitchNetworkContext",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.7",
6 | "dependencies": {
7 | "@synthetixio/contracts-interface": "workspace:*",
8 | "react": "^18.2.0"
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/v2/lib/SynthIcons/getPngSynthIconUrl.ts:
--------------------------------------------------------------------------------
1 | // TODO we should come up with a better solution for this...
2 | export const getPngSynthIconUrl = (currencyKey: string) => {
3 | return `https://raw.githubusercontent.com/Synthetixio/synthetix-assets/master/synths/png/${currencyKey}.png`;
4 | };
5 |
--------------------------------------------------------------------------------
/v2/lib/SynthIcons/index.ts:
--------------------------------------------------------------------------------
1 | export * from './getPngSynthIconUrl';
2 |
--------------------------------------------------------------------------------
/v2/lib/SynthIcons/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/SynthIcons",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.1"
6 | }
7 |
--------------------------------------------------------------------------------
/v2/lib/calculateWeeklyRewardsInUsd/calculateWeeklyRewardsInUsd.tsx:
--------------------------------------------------------------------------------
1 | import Wei from '@synthetixio/wei';
2 |
3 | export const calculateWeeklyRewardsInUsd = (
4 | SNXRate?: Wei,
5 | feesToDistribute?: Wei,
6 | rewardsToDistribute?: Wei
7 | ) => {
8 | if (!feesToDistribute || !rewardsToDistribute || !SNXRate) return undefined;
9 | return feesToDistribute.add(SNXRate.mul(rewardsToDistribute));
10 | };
11 |
--------------------------------------------------------------------------------
/v2/lib/calculateWeeklyRewardsInUsd/index.ts:
--------------------------------------------------------------------------------
1 | export * from './calculateWeeklyRewardsInUsd';
2 |
--------------------------------------------------------------------------------
/v2/lib/calculateWeeklyRewardsInUsd/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/calculateWeeklyRewardsInUsd",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.1",
6 | "dependencies": {
7 | "@synthetixio/wei": "^2.74.4"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/v2/lib/feeSuggestion/index.ts:
--------------------------------------------------------------------------------
1 | export * from './feeSuggestion';
2 |
--------------------------------------------------------------------------------
/v2/lib/feeSuggestion/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/feeSuggestion",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0",
6 | "dependencies": {
7 | "@snx-v2/Constants": "workspace:*",
8 | "@synthetixio/wei": "^2.74.4",
9 | "ethers": "^5.8.0",
10 | "react": "^18.2.0"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/v2/lib/formatters/date.ts:
--------------------------------------------------------------------------------
1 | import format from 'date-fns/format';
2 |
3 | export const formatShortDateWithTime = (date: Date | number) => format(date, 'MMM d, yyyy H:mma');
4 |
--------------------------------------------------------------------------------
/v2/lib/formatters/index.ts:
--------------------------------------------------------------------------------
1 | export * from './number';
2 | export * from './string';
3 | export * from './date';
4 |
--------------------------------------------------------------------------------
/v2/lib/formatters/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@synthetixio/formatters",
3 | "main": "dist/index.js",
4 | "version": "0.0.1-0",
5 | "scripts": {
6 | "build:ts": "tsc",
7 | "build": "yarn build:ts"
8 | },
9 | "dependencies": {
10 | "date-fns": "^2.29.3",
11 | "typescript": "^5.7.3"
12 | },
13 | "stableVersion": "0.0.1-0",
14 | "publishConfig": {
15 | "access": "public"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/v2/lib/formatters/string.test.ts:
--------------------------------------------------------------------------------
1 | import { parseFloatWithCommas } from './string';
2 |
3 | describe('string formatters', () => {
4 | test('parseFloatWithCommas', () => {
5 | expect(parseFloatWithCommas('1000')).toBe(1000);
6 | expect(parseFloatWithCommas('10,000')).toBe(10000);
7 | expect(parseFloatWithCommas('1,000,000.50')).toBe(1000000.5);
8 | });
9 | });
10 |
--------------------------------------------------------------------------------
/v2/lib/formatters/string.ts:
--------------------------------------------------------------------------------
1 | export const truncateAddress = (address: string, first = 5, last = 5) =>
2 | `${address.slice(0, first)}...${address.slice(-last, address.length)}`;
3 |
4 | export const parseFloatWithCommas = (numberWithCommas: string) =>
5 | parseFloat(numberWithCommas.replaceAll(',', ''));
6 |
--------------------------------------------------------------------------------
/v2/lib/formatters/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../../tsconfig.base.module.json",
3 | "compilerOptions": {
4 | "outDir": "./dist",
5 | "rootDir": "./"
6 | },
7 | "include": ["**/*.ts"],
8 | "exclude": ["node_modules", "**/*.test.ts", "./dist/**/*"]
9 | }
10 |
--------------------------------------------------------------------------------
/v2/lib/getHealthVariant/index.ts:
--------------------------------------------------------------------------------
1 | export * from './getHealthVariant';
2 |
--------------------------------------------------------------------------------
/v2/lib/getHealthVariant/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/getHealthVariant",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0"
6 | }
7 |
--------------------------------------------------------------------------------
/v2/lib/parseTxnError/index.ts:
--------------------------------------------------------------------------------
1 | export * from './parseTxnError';
2 |
--------------------------------------------------------------------------------
/v2/lib/parseTxnError/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/parseTxnError",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0"
6 | }
7 |
--------------------------------------------------------------------------------
/v2/lib/parseTxnError/parseTxnError.ts:
--------------------------------------------------------------------------------
1 | export const parseTxnError = (error: any) => {
2 | if (error.reason) return error.reason;
3 | let errorMessage = error.data?.message ?? error.message;
4 | const isFrameWalletError = errorMessage?.includes('(error={');
5 | if (isFrameWalletError) {
6 | // Frame wallet throws a weird error, we try to parse the message and if it fails we just show the ugly full message
7 | errorMessage = errorMessage.match(/"message":"([^"]+)"/)?.[1] || errorMessage;
8 | }
9 | if (errorMessage) {
10 | return errorMessage;
11 | }
12 |
13 | return 'Unknown error';
14 | };
15 |
--------------------------------------------------------------------------------
/v2/lib/stakingCalculations/index.ts:
--------------------------------------------------------------------------------
1 | export * from './stakingCalculations';
2 |
--------------------------------------------------------------------------------
/v2/lib/stakingCalculations/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/stakingCalculations",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0",
6 | "dependencies": {
7 | "@synthetixio/wei": "^2.74.4"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/v2/lib/subgraph/index.ts:
--------------------------------------------------------------------------------
1 | export * as MainnetTypes from './mainnet';
2 | export * as OptimismTypes from './optimism';
3 |
--------------------------------------------------------------------------------
/v2/lib/subgraph/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/subgraph",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0",
6 | "scripts": {
7 | "build": "graphql-codegen --config codegen.ts"
8 | },
9 | "devDependencies": {
10 | "@graphql-codegen/add": "^4.0.0",
11 | "@graphql-codegen/cli": "^3.0.0",
12 | "@graphql-codegen/schema-ast": "^3.0.0",
13 | "@graphql-codegen/typescript": "^3.0.0",
14 | "typescript": "^5.7.3"
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/v2/lib/sumBy/index.ts:
--------------------------------------------------------------------------------
1 | export * from './sumBy';
2 |
--------------------------------------------------------------------------------
/v2/lib/sumBy/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/sumBy",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.1"
6 | }
7 |
--------------------------------------------------------------------------------
/v2/lib/sumBy/sumBy.ts:
--------------------------------------------------------------------------------
1 | export const sumBy = >(key: K, arr: T[]) =>
2 | arr.reduce((acc, val) => {
3 | const keyValue = val[key];
4 | return acc + keyValue;
5 | }, 0);
6 |
--------------------------------------------------------------------------------
/v2/lib/synthsByName/index.ts:
--------------------------------------------------------------------------------
1 | export * from './synthsByName';
2 |
--------------------------------------------------------------------------------
/v2/lib/synthsByName/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/synthsByName",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.11",
6 | "dependencies": {
7 | "@snx-v2/ContractContext": "workspace:*",
8 | "@snx-v2/useSynthetixContracts": "workspace:*",
9 | "@synthetixio/contracts": "workspace:*",
10 | "@tanstack/react-query": "^4.24.6",
11 | "react": "^18.2.0"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/v2/lib/txnLink/index.ts:
--------------------------------------------------------------------------------
1 | export * from './txnLink';
2 |
--------------------------------------------------------------------------------
/v2/lib/txnLink/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/txnLink",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.11",
6 | "dependencies": {
7 | "@snx-v2/ContractContext": "workspace:*",
8 | "@snx-v2/useSynthetixContracts": "workspace:*",
9 | "react": "^18.2.0"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/v2/lib/txnLink/txnLink.test.ts:
--------------------------------------------------------------------------------
1 | import { getEtherscanBaseUrl } from './txnLink';
2 | describe('getEtherscanBaseUrl', () => {
3 | it('handles mainnet', () => {
4 | expect(getEtherscanBaseUrl(1)).toBe('https://etherscan.io');
5 | });
6 |
7 | it('handles optimism', () => {
8 | expect(getEtherscanBaseUrl(10)).toBe('https://optimistic.etherscan.io');
9 | });
10 |
11 | it('returns mainnet when unkown', () => {
12 | expect(getEtherscanBaseUrl(123456)).toBe('https://etherscan.io');
13 | });
14 | });
15 |
--------------------------------------------------------------------------------
/v2/lib/txnReducer/index.ts:
--------------------------------------------------------------------------------
1 | export * from './txnReducer';
2 |
--------------------------------------------------------------------------------
/v2/lib/txnReducer/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/txnReducer",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.1"
6 | }
7 |
--------------------------------------------------------------------------------
/v2/lib/useApproveERC20sUSDMutation/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useApproveERC20sUSDMutation';
2 |
--------------------------------------------------------------------------------
/v2/lib/useApproveERC20sUSDMutation/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useApproveERC20sUSDMutation",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.11",
6 | "dependencies": {
7 | "@ethersproject/bignumber": "^5.8.0",
8 | "@snx-v2/txnReducer": "workspace:*",
9 | "@snx-v2/useGasOptions": "workspace:*",
10 | "@snx-v2/useSynthetixContracts": "workspace:*",
11 | "@tanstack/react-query": "^4.24.6",
12 | "react": "^18.2.0"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/v2/lib/useApr/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useApr';
2 |
--------------------------------------------------------------------------------
/v2/lib/useApr/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useApr",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.11",
6 | "dependencies": {
7 | "@snx-v2/useDebtData": "workspace:*",
8 | "@snx-v2/useGlobalStakingApr": "workspace:*",
9 | "@snx-v2/useStakingApr": "workspace:*"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/v2/lib/useApr/useApr.ts:
--------------------------------------------------------------------------------
1 | import { useDebtData } from '@snx-v2/useDebtData';
2 | import { useGlobalStakingApr } from '@snx-v2/useGlobalStakingApr';
3 | import { useStakingApr } from '@snx-v2/useStakingApr';
4 |
5 | export const useApr = () => {
6 | const { data: debtData } = useDebtData();
7 |
8 | const stakingAprQuery = useStakingApr();
9 |
10 | const notStaking = debtData?.debtBalance.eq(0);
11 |
12 | const globalAprQuery = useGlobalStakingApr();
13 |
14 | const firstEpochUserStaking = stakingAprQuery.data?.combinedApr.eq(0);
15 |
16 | return notStaking || firstEpochUserStaking ? globalAprQuery : stakingAprQuery;
17 | };
18 |
--------------------------------------------------------------------------------
/v2/lib/useAuthorisedWallets/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useAuthorisedWallets';
2 |
--------------------------------------------------------------------------------
/v2/lib/useAuthorisedWallets/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useAuthorisedWallets",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0",
6 | "dependencies": {
7 | "@snx-v2/Constants": "workspace:*",
8 | "@snx-v2/ContractContext": "workspace:*",
9 | "@tanstack/react-query": "^4.24.6",
10 | "react": "^18.2.0"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/v2/lib/useBridgeMutation/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useBridgeMutation';
2 |
--------------------------------------------------------------------------------
/v2/lib/useBridgeMutation/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useBridgeMutation",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.11",
6 | "dependencies": {
7 | "@ethersproject/bignumber": "^5.8.0",
8 | "@snx-v2/txnReducer": "workspace:*",
9 | "@snx-v2/useGasOptions": "workspace:*",
10 | "@snx-v2/useSynthetixContracts": "workspace:*",
11 | "@tanstack/react-query": "^4.24.6",
12 | "ethers": "^5.8.0",
13 | "react": "^18.2.0"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/v2/lib/useBurnMutation/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useBurnMutation';
2 | export * from './reducer';
3 |
--------------------------------------------------------------------------------
/v2/lib/useBurnMutation/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useBurnMutation",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.11",
6 | "dependencies": {
7 | "@ethersproject/bignumber": "^5.8.0",
8 | "@snx-v2/txnReducer": "workspace:*",
9 | "@snx-v2/useGasOptions": "workspace:*",
10 | "@snx-v2/useSynthetixContracts": "workspace:*",
11 | "@tanstack/react-query": "^4.24.6",
12 | "react": "^18.2.0"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/v2/lib/useClaimLiquidatorRewardsMutation/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useClaimLiquidatorRewardsMutation';
2 |
--------------------------------------------------------------------------------
/v2/lib/useClaimLiquidatorRewardsMutation/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useClaimLiquidatorRewardsMutation",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.11",
6 | "dependencies": {
7 | "@snx-v2/ContractContext": "workspace:*",
8 | "@snx-v2/txnReducer": "workspace:*",
9 | "@snx-v2/useGasOptions": "workspace:*",
10 | "@snx-v2/useSynthetixContracts": "workspace:*",
11 | "@tanstack/react-query": "^4.24.6",
12 | "react": "^18.2.0"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/v2/lib/useClaimRewardsMutation/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useClaimRewardsMutation';
2 |
--------------------------------------------------------------------------------
/v2/lib/useClaimRewardsMutation/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useClaimRewardsMutation",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.11",
6 | "dependencies": {
7 | "@snx-v2/txnReducer": "workspace:*",
8 | "@snx-v2/useDelegateWallet": "workspace:*",
9 | "@snx-v2/useGasOptions": "workspace:*",
10 | "@snx-v2/useSynthetixContracts": "workspace:*",
11 | "@tanstack/react-query": "^4.24.6",
12 | "react": "^18.2.0"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/v2/lib/useClaimableRewards/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useClaimableRewards';
2 |
--------------------------------------------------------------------------------
/v2/lib/useClaimableRewards/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useClaimableRewards",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.10",
6 | "dependencies": {
7 | "@snx-v2/ContractContext": "workspace:*",
8 | "@snx-v2/useDelegateWallet": "workspace:*",
9 | "@snx-v2/useExchangeRatesData": "workspace:*",
10 | "@snx-v2/useGetLiquidationRewards": "workspace:*",
11 | "@snx-v2/useRewardsAvailable": "workspace:*",
12 | "@tanstack/react-query": "^4.24.6",
13 | "react": "^18.2.0"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/v2/lib/useDebtData/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useDebtData';
2 |
--------------------------------------------------------------------------------
/v2/lib/useDebtData/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useDebtData",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.12",
6 | "dependencies": {
7 | "@ethersproject/strings": "^5.8.0",
8 | "@snx-v2/ContractContext": "workspace:*",
9 | "@snx-v2/useDelegateWallet": "workspace:*",
10 | "@snx-v2/useSynthetixContracts": "workspace:*",
11 | "@synthetixio/wei": "^2.74.4",
12 | "@tanstack/react-query": "^4.24.6",
13 | "ethers": "^5.8.0",
14 | "react": "^18.2.0"
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/v2/lib/useDebtPoolData/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useDebtPoolData';
2 |
--------------------------------------------------------------------------------
/v2/lib/useDebtPoolData/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useDebtPoolData",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.5",
6 | "dependencies": {
7 | "@tanstack/react-query": "^4.24.6"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/v2/lib/useDebtShareDataPeriod/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useDebtShareDataPeriod';
2 |
--------------------------------------------------------------------------------
/v2/lib/useDebtShareDataPeriod/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useDebtShareDataPeriod",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.12",
6 | "dependencies": {
7 | "@snx-v2/ContractContext": "workspace:*",
8 | "@snx-v2/useDelegateWallet": "workspace:*",
9 | "@snx-v2/useSynthetixContracts": "workspace:*",
10 | "@synthetixio/contracts-interface": "workspace:*",
11 | "@synthetixio/use-global-providers": "workspace:*",
12 | "@synthetixio/wei": "^2.74.4",
13 | "@tanstack/react-query": "^4.24.6",
14 | "react": "^18.2.0"
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/v2/lib/useDelegateWallet/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useDelegateWallet';
2 |
--------------------------------------------------------------------------------
/v2/lib/useDelegateWallet/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useDelegateWallet",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.3",
6 | "dependencies": {
7 | "react": "^18.2.0"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/v2/lib/useEscrowBalance/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useEscrowBalance';
2 |
--------------------------------------------------------------------------------
/v2/lib/useEscrowBalance/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useEscrowBalance",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.11",
6 | "dependencies": {
7 | "@snx-v2/ContractContext": "workspace:*",
8 | "@snx-v2/useSynthetixContracts": "workspace:*",
9 | "@synthetixio/wei": "^2.74.4",
10 | "@tanstack/react-query": "^4.24.6",
11 | "react": "^18.2.0"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/v2/lib/useEthBalance/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useEthBalance';
2 |
--------------------------------------------------------------------------------
/v2/lib/useEthBalance/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useEthBalance",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.1",
6 | "dependencies": {
7 | "@snx-v2/ContractContext": "workspace:*",
8 | "@snx-v2/SignerContext": "workspace:*",
9 | "@synthetixio/wei": "^2.74.4",
10 | "@tanstack/react-query": "^4.24.6",
11 | "react": "^18.2.0"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/v2/lib/useExchangeRatesData/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useExchangeRatesData';
2 |
--------------------------------------------------------------------------------
/v2/lib/useExchangeRatesData/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useExchangeRatesData",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.12",
6 | "dependencies": {
7 | "@ethersproject/strings": "^5.8.0",
8 | "@snx-v2/ContractContext": "workspace:*",
9 | "@snx-v2/useSynthetixContracts": "workspace:*",
10 | "@synthetixio/wei": "^2.74.4",
11 | "@tanstack/react-query": "^4.24.6",
12 | "ethers": "^5.8.0",
13 | "react": "^18.2.0"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/v2/lib/useFeePeriodMultiNetwork/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useFeePeriodMultiNetwork';
2 |
--------------------------------------------------------------------------------
/v2/lib/useFeePeriodMultiNetwork/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useFeePeriodMultiNetwork",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.12",
6 | "dependencies": {
7 | "@snx-v2/useSynthetixContracts": "workspace:*",
8 | "@synthetixio/contracts-interface": "workspace:*",
9 | "@synthetixio/use-global-providers": "workspace:*",
10 | "@tanstack/react-query": "^4.24.6",
11 | "react": "^18.2.0"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/v2/lib/useFeePoolData/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useFeePoolData';
2 |
--------------------------------------------------------------------------------
/v2/lib/useFeePoolData/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useFeePoolData",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.12",
6 | "dependencies": {
7 | "@snx-v2/ContractContext": "workspace:*",
8 | "@snx-v2/useSynthetixContracts": "workspace:*",
9 | "@synthetixio/wei": "^2.74.4",
10 | "@tanstack/react-query": "^4.24.6",
11 | "date-fns": "^2.29.3",
12 | "react": "^18.2.0"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/v2/lib/useFeesBurnedInPeriod/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useFeesBurnedInPeriod';
2 |
--------------------------------------------------------------------------------
/v2/lib/useFeesBurnedInPeriod/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useFeesBurnedInPeriod",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.12",
6 | "dependencies": {
7 | "@snx-v2/ContractContext": "workspace:*",
8 | "@snx-v2/useDebtShareDataPeriod": "workspace:*",
9 | "@snx-v2/useFeePeriodMultiNetwork": "workspace:*",
10 | "@synthetixio/wei": "^2.74.4",
11 | "react": "^18.2.0"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/v2/lib/useFeesClaimed/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useFeesClaimed';
2 |
--------------------------------------------------------------------------------
/v2/lib/useFeesClaimed/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useFeesClaimed",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0",
6 | "dependencies": {
7 | "@snx-v2/Constants": "workspace:*",
8 | "@snx-v2/ContractContext": "workspace:*",
9 | "@snx-v2/useDelegateWallet": "workspace:*",
10 | "@synthetixio/wei": "^2.74.4",
11 | "@tanstack/react-query": "^4.24.6",
12 | "react": "^18.2.0"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/v2/lib/useGasOptions/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useGasOptions';
2 |
--------------------------------------------------------------------------------
/v2/lib/useGasPrice/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useGasPrice';
2 |
--------------------------------------------------------------------------------
/v2/lib/useGasPrice/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useGasPrice",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.12",
6 | "dependencies": {
7 | "@snx-v2/Constants": "workspace:*",
8 | "@snx-v2/ContractContext": "workspace:*",
9 | "@snx-v2/feeSuggestion": "workspace:*",
10 | "@snx-v2/useSynthetixContracts": "workspace:*",
11 | "@synthetixio/use-global-providers": "workspace:*",
12 | "@synthetixio/wei": "^2.74.4",
13 | "@tanstack/react-query": "^4.24.6",
14 | "react": "^18.2.0"
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/v2/lib/useGetLifetimeRewards/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useGetLifetimeRewards';
2 |
--------------------------------------------------------------------------------
/v2/lib/useGetLifetimeRewards/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useGetLifetimeRewards",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.10",
6 | "dependencies": {
7 | "@snx-v2/useExchangeRatesData": "workspace:*",
8 | "@tanstack/react-query": "^4.24.6",
9 | "react": "^18.2.0"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/v2/lib/useGetLiquidationRewards/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useGetLiquidationRewards';
2 |
--------------------------------------------------------------------------------
/v2/lib/useGetLiquidationRewards/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useGetLiquidationRewards",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.12",
6 | "dependencies": {
7 | "@snx-v2/ContractContext": "workspace:*",
8 | "@snx-v2/useDelegateWallet": "workspace:*",
9 | "@snx-v2/useSynthetixContracts": "workspace:*",
10 | "@synthetixio/wei": "^2.74.4",
11 | "@tanstack/react-query": "^4.24.6",
12 | "react": "^18.2.0"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/v2/lib/useGlobalProvidersWithFallback/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useGlobalProvidersWithFallback';
2 |
--------------------------------------------------------------------------------
/v2/lib/useGlobalProvidersWithFallback/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@synthetixio/use-global-providers",
3 | "main": "dist/index.js",
4 | "version": "0.0.1-0",
5 | "scripts": {
6 | "build:ts": "tsc",
7 | "build": "yarn build:ts"
8 | },
9 | "dependencies": {
10 | "ethers": "^5.8.0",
11 | "react": "^18.2.0",
12 | "typescript": "^5.7.3"
13 | },
14 | "stableVersion": "0.0.1-0",
15 | "publishConfig": {
16 | "access": "public"
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/v2/lib/useGlobalProvidersWithFallback/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../../tsconfig.base.module.json",
3 | "compilerOptions": {
4 | "outDir": "./dist",
5 | "rootDir": "./",
6 | "jsx": "react"
7 | },
8 | "include": ["**/*.ts", "**/*.tsx"],
9 | "exclude": ["node_modules", "./dist/**/*"]
10 | }
11 |
--------------------------------------------------------------------------------
/v2/lib/useGlobalStakingApr/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useGlobalStakingApr';
2 |
--------------------------------------------------------------------------------
/v2/lib/useGlobalStakingApr/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useGlobalStakingApr",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.11",
6 | "dependencies": {
7 | "@snx-v2/Constants": "workspace:*",
8 | "@snx-v2/ContractContext": "workspace:*",
9 | "@snx-v2/useExchangeRatesData": "workspace:*",
10 | "@snx-v2/useFeePeriodMultiNetwork": "workspace:*",
11 | "@snx-v2/useSynthetixContracts": "workspace:*",
12 | "@snx-v2/useTotalStakedSNX": "workspace:*",
13 | "@synthetixio/wei": "^2.74.4",
14 | "react": "^18.2.0"
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/v2/lib/useInterval/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useInterval';
2 |
--------------------------------------------------------------------------------
/v2/lib/useInterval/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useInterval",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0",
6 | "dependencies": {
7 | "react": "^18.2.0"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/v2/lib/useInterval/useInterval.ts:
--------------------------------------------------------------------------------
1 | import { useEffect, useRef } from 'react';
2 |
3 | export function useInterval(callback: () => void, delay: number | null) {
4 | const savedCallback = useRef(callback);
5 |
6 | useEffect(() => {
7 | savedCallback.current = callback;
8 | }, [callback]);
9 |
10 | useEffect(() => {
11 | if (delay === null) {
12 | return;
13 | }
14 |
15 | const id = setInterval(() => savedCallback.current(), delay);
16 |
17 | return () => clearInterval(id);
18 | }, [delay]);
19 | }
20 |
--------------------------------------------------------------------------------
/v2/lib/useIssuedDebt/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useIssuedDebt';
2 |
--------------------------------------------------------------------------------
/v2/lib/useIssuedDebt/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useIssuedDebt",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.0",
6 | "dependencies": {
7 | "@snx-v2/ContractContext": "workspace:*",
8 | "@tanstack/react-query": "^4.24.6",
9 | "react": "^18.2.0"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/v2/lib/useLiquidationData/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useLiquidationData';
2 |
--------------------------------------------------------------------------------
/v2/lib/useLiquidationData/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useLiquidationData",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.12",
6 | "dependencies": {
7 | "@snx-v2/ContractContext": "workspace:*",
8 | "@snx-v2/useSynthetixContracts": "workspace:*",
9 | "@synthetixio/wei": "^2.74.4",
10 | "@tanstack/react-query": "^4.24.6",
11 | "react": "^18.2.0"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/v2/lib/useMinStakeTime/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useMinStakeTime';
2 |
--------------------------------------------------------------------------------
/v2/lib/useMinStakeTime/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useMinStakeTime",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.12",
6 | "dependencies": {
7 | "@snx-v2/ContractContext": "workspace:*",
8 | "@snx-v2/useDelegateWallet": "workspace:*",
9 | "@snx-v2/useSynthetixContracts": "workspace:*",
10 | "@synthetixio/wei": "^2.74.4",
11 | "@tanstack/react-query": "^4.24.6",
12 | "react": "^18.2.0"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/v2/lib/useMintMutation/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useMintMutation';
2 |
--------------------------------------------------------------------------------
/v2/lib/useMintMutation/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useMintMutation",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.11",
6 | "dependencies": {
7 | "@ethersproject/bignumber": "^5.8.0",
8 | "@snx-v2/txnReducer": "workspace:*",
9 | "@snx-v2/useGasOptions": "workspace:*",
10 | "@snx-v2/useSynthetixContracts": "workspace:*",
11 | "@tanstack/react-query": "^4.24.6",
12 | "react": "^18.2.0"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/v2/lib/useOptimismLayer1Fee/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useOptimismLayer1Fee';
2 |
--------------------------------------------------------------------------------
/v2/lib/useRewardsAvailable/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useRewardsAvailable';
2 |
--------------------------------------------------------------------------------
/v2/lib/useRewardsAvailable/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useRewardsAvailable",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.12",
6 | "dependencies": {
7 | "@snx-v2/ContractContext": "workspace:*",
8 | "@snx-v2/useDelegateWallet": "workspace:*",
9 | "@snx-v2/useSynthetixContracts": "workspace:*",
10 | "@synthetixio/wei": "^2.74.4",
11 | "@tanstack/react-query": "^4.24.6",
12 | "react": "^18.2.0"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/v2/lib/useSelfLiquidationData/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useSelfLiquidationData';
2 |
--------------------------------------------------------------------------------
/v2/lib/useSelfLiquidationData/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useSelfLiquidationData",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.11",
6 | "dependencies": {
7 | "@snx-v2/ContractContext": "workspace:*",
8 | "@snx-v2/getHealthVariant": "workspace:*",
9 | "@snx-v2/useDebtData": "workspace:*",
10 | "@snx-v2/useExchangeRatesData": "workspace:*",
11 | "@snx-v2/useLiquidationData": "workspace:*",
12 | "@snx-v2/useSynthetixContracts": "workspace:*",
13 | "@synthetixio/wei": "^2.74.4",
14 | "@tanstack/react-query": "^4.24.6",
15 | "react": "^18.2.0"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/v2/lib/useSelfLiquidationMutation/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useSelfLiquidationMutation';
2 |
--------------------------------------------------------------------------------
/v2/lib/useSelfLiquidationMutation/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useSelfLiquidationMutation",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.11",
6 | "dependencies": {
7 | "@snx-v2/txnReducer": "workspace:*",
8 | "@snx-v2/useGasOptions": "workspace:*",
9 | "@snx-v2/useSynthetixContracts": "workspace:*",
10 | "@synthetixio/wei": "^2.74.4",
11 | "@tanstack/react-query": "^4.24.6",
12 | "react": "^18.2.0"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/v2/lib/useStakingApr/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useStakingApr';
2 |
--------------------------------------------------------------------------------
/v2/lib/useStakingApr/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useStakingApr",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.11",
6 | "dependencies": {
7 | "@snx-v2/Constants": "workspace:*",
8 | "@snx-v2/stakingCalculations": "workspace:*",
9 | "@snx-v2/useDebtData": "workspace:*",
10 | "@snx-v2/useDebtShareDataPeriod": "workspace:*",
11 | "@snx-v2/useExchangeRatesData": "workspace:*",
12 | "@snx-v2/useFeePoolData": "workspace:*",
13 | "@snx-v2/useFeesBurnedInPeriod": "workspace:*",
14 | "@synthetixio/wei": "^2.74.4",
15 | "react": "^18.2.0"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/v2/lib/useSynthRedeemer/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useSynthRedeemer';
2 |
--------------------------------------------------------------------------------
/v2/lib/useSynthetixContracts/common.ts:
--------------------------------------------------------------------------------
1 | export const NetworkIdByName = {
2 | mainnet: 1,
3 | 'mainnet-ovm': 10,
4 | } as const;
5 |
6 | export const NetworkNameById = {
7 | 1: 'mainnet',
8 | 10: 'mainnet-ovm',
9 | } as const;
10 | export type NetworkId = (typeof NetworkIdByName)[keyof typeof NetworkIdByName];
11 |
12 | export function isSupportedNetworkId(id: number | string | null | undefined): id is NetworkId {
13 | if (!id) return false;
14 | return id in NetworkNameById;
15 | }
16 |
--------------------------------------------------------------------------------
/v2/lib/useSynthetixContracts/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useSynthetix';
2 | export * from './useLiquidator';
3 | export * from './useSystemSettings';
4 | export * from './useFeePool';
5 | export * from './useExchangeRates';
6 | export * from './useSynthUtil';
7 | export * from './useProxyERC20sUSD';
8 | export * from './useRewardEscrowV2';
9 | export * from './useLiquidatorRewards';
10 | export * from './useSynthetixDebtShare';
11 | export * from './useIssuer';
12 | export * from './common';
13 |
--------------------------------------------------------------------------------
/v2/lib/useSynthetixContracts/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useSynthetixContracts",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.12",
6 | "dependencies": {
7 | "@ethersproject/providers": "^5.8.0",
8 | "@snx-v2/ContractContext": "workspace:*",
9 | "@snx-v2/SignerContext": "workspace:*",
10 | "@synthetixio/contracts": "workspace:*",
11 | "@synthetixio/use-global-providers": "workspace:*",
12 | "@synthetixio/v3-contracts": "^8.1.0",
13 | "@tanstack/react-query": "^4.24.6",
14 | "ethers": "^5.8.0",
15 | "react": "^18.2.0"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/v2/lib/useSynthsBalances/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useSynthsBalances';
2 |
--------------------------------------------------------------------------------
/v2/lib/useSynthsBalances/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useSynthsBalances",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.12",
6 | "dependencies": {
7 | "@ethersproject/bignumber": "^5.8.0",
8 | "@ethersproject/strings": "^5.8.0",
9 | "@snx-v2/ContractContext": "workspace:*",
10 | "@snx-v2/useSynthetixContracts": "workspace:*",
11 | "@synthetixio/wei": "^2.74.4",
12 | "@tanstack/react-query": "^4.24.6",
13 | "lodash": "^4.17.21",
14 | "react": "^18.2.0"
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/v2/lib/useTotalIssuedSynthsExcludeOtherCollateral/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useTotalIssuedSynthsExcludeOtherCollateral';
2 |
--------------------------------------------------------------------------------
/v2/lib/useTotalIssuedSynthsExcludeOtherCollateral/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useTotalIssuedSynthsExcludeOtherCollateral",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.11",
6 | "dependencies": {
7 | "@ethersproject/strings": "^5.8.0",
8 | "@snx-v2/useSynthetixContracts": "workspace:*",
9 | "@synthetixio/wei": "^2.74.4",
10 | "@tanstack/react-query": "^4.24.6"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/v2/lib/useTotalStakedSNX/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useTotalStakedSNX';
2 |
--------------------------------------------------------------------------------
/v2/lib/useTotalStakedSNX/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snx-v2/useTotalStakedSNX",
3 | "private": true,
4 | "main": "index.ts",
5 | "version": "0.0.1",
6 | "dependencies": {
7 | "@tanstack/react-query": "^4.24.6"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/v2/lib/v3Theme/index.ts:
--------------------------------------------------------------------------------
1 | export * from './v3Theme';
2 | export * from './Fonts';
3 |
--------------------------------------------------------------------------------
/v2/lib/v3Theme/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@synthetixio/v3-theme",
3 | "main": "dist/index.js",
4 | "version": "0.0.1",
5 | "scripts": {
6 | "build:ts": "tsc",
7 | "build": "yarn build:ts"
8 | },
9 | "dependencies": {
10 | "@chakra-ui/react": "^2.5.0",
11 | "@chakra-ui/theme-tools": "^2.0.18",
12 | "@emotion/react": "^11.10.5",
13 | "react": "^18.2.0",
14 | "typescript": "^5.7.3"
15 | },
16 | "publishConfig": {
17 | "access": "public"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/v2/lib/v3Theme/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../../tsconfig.base.module.json",
3 | "compilerOptions": {
4 | "outDir": "./dist",
5 | "rootDir": "./",
6 | "jsx": "react"
7 | },
8 | "include": ["**/*.ts", "**/*.tsx"],
9 | "exclude": ["node_modules", "./dist/**/*"]
10 | }
11 |
--------------------------------------------------------------------------------
/v2/ui/.gitignore:
--------------------------------------------------------------------------------
1 | # local env files
2 | .env.local
3 | .env.development.local
4 | .env.test.local
5 | .env.production.local
6 |
7 | tmp/
8 | out/
9 |
10 | graphql.schema.json
11 | graphql.schema.clean.json
12 |
--------------------------------------------------------------------------------
/v2/ui/_redirects:
--------------------------------------------------------------------------------
1 | /* /index.html 200
--------------------------------------------------------------------------------
/v2/ui/additional.d.ts:
--------------------------------------------------------------------------------
1 | declare module '*.svg';
2 | declare module '*.png';
3 | declare module '*.webp';
4 | declare module '*.gif';
5 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/arrow-forward-blue.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/arrow-forward-pink.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/arrow-right-long.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/arrow-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/arrows-change.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/arrows-swap.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/back.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/caret-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/caret-dropdown.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/caret-left-end.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/caret-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/caret-right-end.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/caret-right-gold.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/caret-right-small.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/caret-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/caret-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/change-negative.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/change-positive.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/check.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/chevron-collapse.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/chevron-expand.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/circle-ellipsis.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/circle-error.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/close.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/copy.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/cross.svg:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/delegate.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/deprecated-x.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/dhedge.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/elipses.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/exit.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/expand.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/info-pink.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/info.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/link-blue.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/link.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/menu-close.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/menu-hamburger-white.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/menu-hamburger.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/menu.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/navigation-back.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/no-notifications.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/notification-alert.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/notification.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/open-external.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/plus-thin.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/plus.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/search.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/tick.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/trash.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/wallet-yellow.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/app/wallet.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/currencies/crypto/BNB.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/currencies/crypto/DHEDGE.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/currencies/crypto/EOS.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/currencies/crypto/LEND.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/currencies/crypto/LTC.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/currencies/crypto/MKR.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/currencies/crypto/XMR.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/currencies/crypto/XRP.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/currencies/fiat/JPY.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/v2/ui/assets/svg/social/twitter.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/wallet-icons/atoken.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/assets/wallet-icons/atoken.png
--------------------------------------------------------------------------------
/v2/ui/assets/wallet-icons/authereum.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/assets/wallet-icons/authereum.png
--------------------------------------------------------------------------------
/v2/ui/assets/wallet-icons/browserWallet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/assets/wallet-icons/browserWallet.png
--------------------------------------------------------------------------------
/v2/ui/assets/wallet-icons/dapper.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/assets/wallet-icons/dapper.png
--------------------------------------------------------------------------------
/v2/ui/assets/wallet-icons/fortmatic.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/wallet-icons/hyperpay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/assets/wallet-icons/hyperpay.png
--------------------------------------------------------------------------------
/v2/ui/assets/wallet-icons/metamask.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/assets/wallet-icons/metamask.png
--------------------------------------------------------------------------------
/v2/ui/assets/wallet-icons/mykey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/assets/wallet-icons/mykey.png
--------------------------------------------------------------------------------
/v2/ui/assets/wallet-icons/opera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/assets/wallet-icons/opera.png
--------------------------------------------------------------------------------
/v2/ui/assets/wallet-icons/operaTouch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/assets/wallet-icons/operaTouch.png
--------------------------------------------------------------------------------
/v2/ui/assets/wallet-icons/status.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/wallet-icons/tokenpocket.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/assets/wallet-icons/tokenpocket.png
--------------------------------------------------------------------------------
/v2/ui/assets/wallet-icons/torus.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/v2/ui/assets/wallet-icons/trezor.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/assets/webp/currencies/crypto/BTC.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/assets/webp/currencies/crypto/BTC.webp
--------------------------------------------------------------------------------
/v2/ui/bootstrap.tsx:
--------------------------------------------------------------------------------
1 | import { Suspense } from 'react';
2 | import ReactDOM from 'react-dom/client';
3 |
4 | import '@reach/dialog/styles.css';
5 | import 'tippy.js/dist/tippy.css';
6 | import './app.css';
7 |
8 | import './i18n';
9 |
10 | import App from './App';
11 |
12 | export async function bootstrap() {
13 | const app = document.querySelector('#app');
14 | const root = ReactDOM.createRoot(app as Element);
15 | root.render(
16 |
17 |
18 |
19 | );
20 | }
21 |
--------------------------------------------------------------------------------
/v2/ui/components/AvailableBalanceBridge/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './AvailableBalanceBridge';
2 |
--------------------------------------------------------------------------------
/v2/ui/components/BaseModal/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './BaseModal';
2 |
--------------------------------------------------------------------------------
/v2/ui/components/BridgeSections/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './BridgeSections';
2 |
--------------------------------------------------------------------------------
/v2/ui/components/Button/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './Button';
2 |
--------------------------------------------------------------------------------
/v2/ui/components/ChakraProviderWithTheme.tsx:
--------------------------------------------------------------------------------
1 | import React, { FC, PropsWithChildren } from 'react';
2 | import { stakingTheme } from '../content/theme';
3 | import { ChakraProvider, extendTheme } from '@chakra-ui/react';
4 |
5 | const ChakraProviderWithTheme: FC = ({ children }) => {
6 | return {children};
7 | };
8 |
9 | export default ChakraProviderWithTheme;
10 |
--------------------------------------------------------------------------------
/v2/ui/components/ChangePercent/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './ChangePercent';
2 |
--------------------------------------------------------------------------------
/v2/ui/components/Currency/CurrencyAmount/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './CurrencyAmount';
2 |
--------------------------------------------------------------------------------
/v2/ui/components/Currency/CurrencyIcon/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './CurrencyIcon';
2 |
--------------------------------------------------------------------------------
/v2/ui/components/Currency/CurrencyName/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './CurrencyName';
2 |
--------------------------------------------------------------------------------
/v2/ui/components/Currency/CurrencyPrice/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './CurrencyPrice';
2 |
--------------------------------------------------------------------------------
/v2/ui/components/Currency/common.tsx:
--------------------------------------------------------------------------------
1 | import styled from 'styled-components';
2 | import media from '@snx-v1/media';
3 |
4 | export const ContainerRow = styled.span`
5 | display: inline-grid;
6 | grid-gap: 2px;
7 |
8 | ${media.lessThan('md')`
9 | display: flex;
10 | flex-direction: row;
11 | `}
12 | `;
13 |
--------------------------------------------------------------------------------
/v2/ui/components/Currency/index.ts:
--------------------------------------------------------------------------------
1 | import CurrencyIcon from './CurrencyIcon';
2 | import CurrencyName from './CurrencyName';
3 | import CurrencyPrice from './CurrencyPrice';
4 | import CurrencyAmount from './CurrencyAmount';
5 |
6 | export default {
7 | Icon: CurrencyIcon,
8 | Name: CurrencyName,
9 | Price: CurrencyPrice,
10 | Amount: CurrencyAmount,
11 | };
12 |
--------------------------------------------------------------------------------
/v2/ui/components/DateSelect/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './DateSelect';
2 |
--------------------------------------------------------------------------------
/v2/ui/components/GasSelector/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './GasSelector';
2 |
--------------------------------------------------------------------------------
/v2/ui/components/Input/SearchInput.tsx:
--------------------------------------------------------------------------------
1 | import styled from 'styled-components';
2 |
3 | import Input from './Input';
4 |
5 | export const TextInput = styled(Input).attrs({ type: 'search' })``;
6 |
7 | export default TextInput;
8 |
--------------------------------------------------------------------------------
/v2/ui/components/Input/TextInput.tsx:
--------------------------------------------------------------------------------
1 | import styled from 'styled-components';
2 |
3 | import Input from './Input';
4 |
5 | export const TextInput = styled(Input).attrs({ type: 'text' })``;
6 |
7 | export default TextInput;
8 |
--------------------------------------------------------------------------------
/v2/ui/components/Loader/Loader.tsx:
--------------------------------------------------------------------------------
1 | import type { FC } from 'react';
2 | import LoaderIcon from 'assets/svg/app/loader.svg';
3 | import { AbsoluteCenteredDiv } from '@snx-v1/styles';
4 |
5 | type LoaderProps = {
6 | inline?: boolean;
7 | };
8 |
9 | export const Loader: FC = ({ inline }) => {
10 | const loader = ;
11 |
12 | return inline ? loader : {loader};
13 | };
14 |
15 | Loader.defaultProps = {
16 | inline: false,
17 | };
18 |
19 | export default Loader;
20 |
--------------------------------------------------------------------------------
/v2/ui/components/Loader/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './Loader';
2 |
--------------------------------------------------------------------------------
/v2/ui/components/Media/index.ts:
--------------------------------------------------------------------------------
1 | export {
2 | DesktopOnlyView,
3 | MobileOnlyView,
4 | MobileOrTabletView,
5 | MobileHiddenView,
6 | TabletOnlyView,
7 | DesktopOrTabletView,
8 | } from './Media';
9 |
--------------------------------------------------------------------------------
/v2/ui/components/NativeBridge/index.tsx:
--------------------------------------------------------------------------------
1 | export { default } from './NativeBridge';
2 |
--------------------------------------------------------------------------------
/v2/ui/components/ProgressBar/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './ProgressBar';
2 |
--------------------------------------------------------------------------------
/v2/ui/components/Select/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './Select';
2 |
--------------------------------------------------------------------------------
/v2/ui/components/StatBox/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './StatBox';
2 |
--------------------------------------------------------------------------------
/v2/ui/components/StatsSection/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './StatsSection';
2 |
--------------------------------------------------------------------------------
/v2/ui/components/StructuredTab/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './StructuredTab';
2 |
--------------------------------------------------------------------------------
/v2/ui/components/Tab/index.tsx:
--------------------------------------------------------------------------------
1 | export { TabList, TabButton, TabPanel, TabPanelContainer } from './Tab';
2 |
--------------------------------------------------------------------------------
/v2/ui/components/Table/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './Table';
2 |
--------------------------------------------------------------------------------
/v2/ui/constants/1inch.ts:
--------------------------------------------------------------------------------
1 | export const ethAddress = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
2 | export const quoteEndpoint = 'https://api.1inch.exchange/v2.0/quote';
3 | export const swapEndpoint = 'https://api.1inch.exchange/v2.0/swap';
4 |
--------------------------------------------------------------------------------
/v2/ui/constants/date.ts:
--------------------------------------------------------------------------------
1 | import getISOWeeksInYear from 'date-fns/getISOWeeksInYear';
2 |
3 | export const WEEKS_IN_YEAR = getISOWeeksInYear(new Date());
4 |
5 | export const DURATION_SEPARATOR = ' ';
6 |
--------------------------------------------------------------------------------
/v2/ui/constants/dhedge.ts:
--------------------------------------------------------------------------------
1 | import { Contract } from 'ethers';
2 | import { abi as erc20ABI } from 'contracts/erc20';
3 | import { abi as dHedgePoolLogicABI } from 'contracts/dHedgePoolLogic';
4 |
5 | export const dSNXContractMainnet = new Contract(
6 | '0x5f7F94a1dd7b15594d17543BEB8B30b111DD464c',
7 | erc20ABI
8 | );
9 |
10 | export const dSNXPoolAddressMainnet = '0x65bb99e80a863e0e27ee6d09c794ed8c0be47186';
11 | export const dSNXPoolAddressOptimism = '0x59babc14dd73761e38e5bda171b2298dc14da92d';
12 | export const dSNXPoolContractOptimism = new Contract(dSNXPoolAddressOptimism, dHedgePoolLogicABI);
13 |
--------------------------------------------------------------------------------
/v2/ui/constants/enums.ts:
--------------------------------------------------------------------------------
1 | export enum BridgeTypeEnum {
2 | NATIVE = 'NATIVE',
3 | INSTANT = 'INSTANT',
4 | }
5 |
6 | export enum BridgeTransactionStatusEnum {
7 | PENDING = 'pending',
8 | SUCCESS = 'success',
9 | ERROR = 'error',
10 | }
11 |
--------------------------------------------------------------------------------
/v2/ui/constants/network.ts:
--------------------------------------------------------------------------------
1 | import { wei } from '@synthetixio/wei';
2 | import { BigNumber, ethers } from 'ethers';
3 |
4 | export const GWEI_PRECISION = 9;
5 |
6 | export const TokenAllowanceLimit = wei(ethers.constants.MaxUint256);
7 | export enum Transaction {
8 | PRESUBMIT = 'PRESUBMIT',
9 | WAITING = 'WAITING',
10 | FAILED = 'FAILED',
11 | SUCCESS = 'SUCCESS',
12 | }
13 | export type GasLimitEstimate = BigNumber | null;
14 |
--------------------------------------------------------------------------------
/v2/ui/constants/placeholder.ts:
--------------------------------------------------------------------------------
1 | export const NO_VALUE = '-';
2 | export const ESTIMATE_VALUE = '≈';
3 |
--------------------------------------------------------------------------------
/v2/ui/constants/queryKeys.ts:
--------------------------------------------------------------------------------
1 | import { WeiSource } from '@synthetixio/wei';
2 |
3 | export const QUERY_KEYS = {
4 | Swap: {
5 | quote1Inch: (walletAddress: string, networkId: number, amount: WeiSource) => [
6 | 'quote',
7 | '1inch',
8 | walletAddress,
9 | networkId,
10 | amount,
11 | ],
12 | swap1Inch: (
13 | walletAddress: string,
14 | networkId: number,
15 | amount: WeiSource,
16 | fromAddress: string
17 | ) => ['swap', '1inch', walletAddress, networkId, amount, fromAddress],
18 | },
19 | };
20 |
21 | export default QUERY_KEYS;
22 |
--------------------------------------------------------------------------------
/v2/ui/constants/storage.ts:
--------------------------------------------------------------------------------
1 | export const LOCAL_STORAGE_KEYS = {
2 | SELECTED_WALLET: 'selectedWallet',
3 | THALES_STAKING_INFO_VISIBLE: 'thalesStakingInfo',
4 | KWENTA_TOKEN_LIVE: 'KWENTA_TOKEN_LIVE',
5 | WARNING_URL_BANNER_VISIBLE: 'isWarningUrlBannerVisible',
6 | RE_ELECTION_NEW_START_TIME: 'reElectionNewStartTimeVisible',
7 | LIQUIDATION_SETTING_CHANGES: 'LIQUIDATION_SETTING_CHANGES',
8 | BRIDGING_HISTORY: 'BRIDGING_HISTORY',
9 | };
10 |
--------------------------------------------------------------------------------
/v2/ui/containers/BlockExplorer/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './BlockExplorer';
2 |
--------------------------------------------------------------------------------
/v2/ui/containers/Connector/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './Connector';
2 |
--------------------------------------------------------------------------------
/v2/ui/containers/Loans/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './Loans';
2 |
--------------------------------------------------------------------------------
/v2/ui/containers/Loans/types.ts:
--------------------------------------------------------------------------------
1 | import { BigNumber } from 'ethers';
2 |
3 | export type Loan = {
4 | account: string;
5 | amount: BigNumber;
6 | collateral: BigNumber;
7 | cratio: BigNumber;
8 | minCratio: BigNumber;
9 | currency: string;
10 | collateralAsset: string;
11 | id: BigNumber;
12 | accruedInterest: BigNumber;
13 | interestIndex: BigNumber;
14 | lastInteraction: BigNumber;
15 | };
16 |
--------------------------------------------------------------------------------
/v2/ui/containers/index.tsx:
--------------------------------------------------------------------------------
1 | import { FC, ReactNode } from 'react';
2 |
3 | import Connector from './Connector';
4 | import BlockExplorer from './BlockExplorer';
5 |
6 | type WithAppContainersProps = {
7 | children: ReactNode;
8 | };
9 |
10 | export const WithAppContainers: FC = ({ children }) => (
11 |
12 | {children}
13 |
14 | );
15 |
16 | export default WithAppContainers;
17 |
--------------------------------------------------------------------------------
/v2/ui/content/DelegatePage.tsx:
--------------------------------------------------------------------------------
1 | import { FC } from 'react';
2 | import Head from 'react-helmet';
3 | import { useTranslation } from 'react-i18next';
4 | import Main from 'sections/delegate/index';
5 |
6 | const DelegatePage: FC = () => {
7 | const { t } = useTranslation();
8 | return (
9 | <>
10 |
11 | {t('delegate.page-title')}
12 |
13 |
14 | >
15 | );
16 | };
17 |
18 | export default DelegatePage;
19 |
--------------------------------------------------------------------------------
/v2/ui/content/MergeAccountsPage.tsx:
--------------------------------------------------------------------------------
1 | import { FC } from 'react';
2 | import Head from 'react-helmet';
3 | import { useTranslation } from 'react-i18next';
4 | import Main from 'sections/merge-accounts';
5 |
6 | const MergeAccountsPage: FC = () => {
7 | const { t } = useTranslation();
8 |
9 | return (
10 | <>
11 |
12 | {t('merge-accounts.page-title')}
13 |
14 |
15 |
16 | >
17 | );
18 | };
19 |
20 | export default MergeAccountsPage;
21 |
--------------------------------------------------------------------------------
/v2/ui/content/V2Burn.tsx:
--------------------------------------------------------------------------------
1 | import { Container, Box } from '@chakra-ui/react';
2 | import { Burn } from '@snx-v2/Burn';
3 | import { HomeButton } from '@snx-v2/HomeButton';
4 |
5 | const V2Burn = () => {
6 | return (
7 | <>
8 |
9 |
10 |
11 |
12 |
13 |
14 | >
15 | );
16 | };
17 |
18 | export default V2Burn;
19 |
--------------------------------------------------------------------------------
/v2/ui/content/V2Mint.tsx:
--------------------------------------------------------------------------------
1 | import { Container, Box } from '@chakra-ui/react';
2 | import { Mint } from '@snx-v2/Mint';
3 | import { HomeButton } from '@snx-v2/HomeButton';
4 |
5 | const V2Mint = () => {
6 | return (
7 |
8 |
9 |
10 |
11 |
12 |
13 | );
14 | };
15 |
16 | export default V2Mint;
17 |
--------------------------------------------------------------------------------
/v2/ui/content/V2SelfLiquidation.tsx:
--------------------------------------------------------------------------------
1 | import { Box, Container } from '@chakra-ui/react';
2 | import { SelfLiquidation } from '@snx-v2/SelfLiquidation';
3 |
4 | const V2SelfLiquidation = () => {
5 | return (
6 |
7 |
8 |
9 |
10 |
11 | );
12 | };
13 |
14 | export default V2SelfLiquidation;
15 |
--------------------------------------------------------------------------------
/v2/ui/contracts/ethToken.ts:
--------------------------------------------------------------------------------
1 | import { Network } from 'store/wallet';
2 | import { ethers } from 'ethers';
3 | import { DEFAULT_NETWORK_ID } from 'constants/defaults';
4 | import { isSupportedNetworkId } from '../utils/network';
5 |
6 | export const getETHToken = (network?: Network | null) => {
7 | return {
8 | symbol: 'ETH',
9 | address: ethers.constants.AddressZero,
10 | decimals: 18,
11 | logoURI: '',
12 | name: 'Ethereum',
13 | chainId: network?.id && isSupportedNetworkId(network?.id) ? network.id : DEFAULT_NETWORK_ID,
14 | tags: [],
15 | };
16 | };
17 |
--------------------------------------------------------------------------------
/v2/ui/contracts/wBTCToken.js:
--------------------------------------------------------------------------------
1 | export default {
2 | address: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599',
3 | abi: [
4 | {
5 | constant: true,
6 | inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
7 | name: 'balanceOf',
8 | outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
9 | payable: false,
10 | stateMutability: 'view',
11 | type: 'function',
12 | },
13 | ],
14 | };
15 |
--------------------------------------------------------------------------------
/v2/ui/contracts/wETHToken.js:
--------------------------------------------------------------------------------
1 | export default {
2 | address: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
3 | abi: [
4 | {
5 | constant: true,
6 | inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
7 | name: 'balanceOf',
8 | outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
9 | payable: false,
10 | stateMutability: 'view',
11 | type: 'function',
12 | },
13 | ],
14 | };
15 |
--------------------------------------------------------------------------------
/v2/ui/hooks/isMounted.ts:
--------------------------------------------------------------------------------
1 | import { useEffect, useRef } from 'react';
2 |
3 | export default function useIsMounted(): boolean {
4 | const mountedRef = useRef(false);
5 |
6 | useEffect(() => {
7 | mountedRef.current = true;
8 |
9 | return () => {
10 | mountedRef.current = false;
11 | };
12 | }, []);
13 |
14 | return mountedRef.current;
15 | }
16 |
--------------------------------------------------------------------------------
/v2/ui/hooks/useMediaQuery.ts:
--------------------------------------------------------------------------------
1 | import { useMediaQuery as baseUseMediaQuery } from 'react-responsive';
2 | import { breakpoints, Breakpoint } from '@snx-v1/media';
3 |
4 | const useMediaQuery = (screen: Breakpoint) => {
5 | const query = `(max-width: ${breakpoints[screen]}px)`;
6 | return baseUseMediaQuery({ query });
7 | };
8 |
9 | export default useMediaQuery;
10 |
--------------------------------------------------------------------------------
/v2/ui/i18n.ts:
--------------------------------------------------------------------------------
1 | import i18n from 'i18next';
2 | import { initReactI18next } from 'react-i18next';
3 |
4 | import enTranslation from './translations/en.json';
5 |
6 | i18n.use(initReactI18next).init({
7 | resources: {
8 | en: { translation: enTranslation },
9 | },
10 | fallbackLng: 'en',
11 | lng: 'en',
12 | });
13 |
14 | export default i18n;
15 |
--------------------------------------------------------------------------------
/v2/ui/index.ts:
--------------------------------------------------------------------------------
1 | import { safeImport } from '@synthetixio/safe-import/safeImport';
2 |
3 | async function bootstrap() {
4 | const { bootstrap } = await safeImport(() => import(/* webpackChunkName: "app" */ './bootstrap'));
5 | bootstrap();
6 | }
7 |
8 | bootstrap();
9 |
10 | if (module.hot) {
11 | module.hot.accept();
12 | module.hot.dispose(() => {
13 | // do nothing
14 | });
15 | }
16 |
--------------------------------------------------------------------------------
/v2/ui/jest.config.js:
--------------------------------------------------------------------------------
1 | require.resolve('babel-jest');
2 | require.resolve('jest-environment-jsdom');
3 |
4 | module.exports = {
5 | roots: ['/../../v2', '/../../v1'],
6 | modulePaths: [''],
7 | globalSetup: './tests/global.js',
8 | setupFilesAfterEnv: ['/tests/setup.js'],
9 | testEnvironment: 'jest-environment-jsdom',
10 | testMatch: ['/../../v{1,2}/**/*.test.{js,jsx,ts,tsx}'],
11 | collectCoverageFrom: [
12 | '/../../v{1,2}/**/*.{js,jsx,ts,tsx}',
13 | '!/*.{js,jsx,ts,tsx}',
14 | '!/../../v{1,2}/**/*.d.{ts,tsx}',
15 | ],
16 | };
17 |
--------------------------------------------------------------------------------
/v2/ui/orphans.ts:
--------------------------------------------------------------------------------
1 | // Temporary include orphan component here until incorporated into the app
2 | import '@snx-v2/EthGasPriceEstimator';
3 | import '@snx-v2/SelfLiquidation';
4 |
--------------------------------------------------------------------------------
/v2/ui/public/_redirects:
--------------------------------------------------------------------------------
1 | /* /index.html 200
--------------------------------------------------------------------------------
/v2/ui/public/fonts/GT-America-Condensed-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/public/fonts/GT-America-Condensed-Bold.woff2
--------------------------------------------------------------------------------
/v2/ui/public/fonts/GT-America-Condensed-Medium.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/public/fonts/GT-America-Condensed-Medium.woff2
--------------------------------------------------------------------------------
/v2/ui/public/fonts/GT-America-Extended-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/public/fonts/GT-America-Extended-Bold.woff2
--------------------------------------------------------------------------------
/v2/ui/public/fonts/GT-America-Mono-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/public/fonts/GT-America-Mono-Bold.woff2
--------------------------------------------------------------------------------
/v2/ui/public/fonts/Inter-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/public/fonts/Inter-Bold.woff2
--------------------------------------------------------------------------------
/v2/ui/public/fonts/Inter-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/public/fonts/Inter-Regular.woff2
--------------------------------------------------------------------------------
/v2/ui/public/fonts/Inter-SemiBold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/public/fonts/Inter-SemiBold.woff2
--------------------------------------------------------------------------------
/v2/ui/public/images/browserWallet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/public/images/browserWallet.png
--------------------------------------------------------------------------------
/v2/ui/public/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/public/images/favicon.ico
--------------------------------------------------------------------------------
/v2/ui/public/images/icon-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/public/images/icon-192x192.png
--------------------------------------------------------------------------------
/v2/ui/public/images/icon-256x256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/public/images/icon-256x256.png
--------------------------------------------------------------------------------
/v2/ui/public/images/icon-384x384.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/public/images/icon-384x384.png
--------------------------------------------------------------------------------
/v2/ui/public/images/icon-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/public/images/icon-512x512.png
--------------------------------------------------------------------------------
/v2/ui/public/images/icon-swap.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/v2/ui/public/images/staking-facebook.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/public/images/staking-facebook.jpg
--------------------------------------------------------------------------------
/v2/ui/public/images/staking-twitter.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/public/images/staking-twitter.jpg
--------------------------------------------------------------------------------
/v2/ui/public/metatag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Synthetixio/js-monorepo/d4752cb4d290eb7285f1f4f8254fb0db61dd1c52/v2/ui/public/metatag.png
--------------------------------------------------------------------------------
/v2/ui/scripts/noop.js:
--------------------------------------------------------------------------------
1 | (function (exports) {
2 | exports.noop = function () {};
3 | })(typeof module === 'object' && typeof module.exports === 'object' ? module.exports : window);
4 |
--------------------------------------------------------------------------------
/v2/ui/sections/escrow/components/RewardEscrowSchedule/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './RewardEscrowSchedule';
2 |
--------------------------------------------------------------------------------
/v2/ui/sections/escrow/components/StakingRewardsTab/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './StakingRewardsTab';
2 |
--------------------------------------------------------------------------------
/v2/ui/sections/escrow/components/TokenSaleEscrowSchedule/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './TokenSaleEscrowSchedule';
2 |
--------------------------------------------------------------------------------
/v2/ui/sections/escrow/components/TokenSaleTab/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './TokenSaleTab';
2 |
--------------------------------------------------------------------------------
/v2/ui/sections/escrow/components/TxSent/index.ts:
--------------------------------------------------------------------------------
1 | import ActionInProgress from './ActionInProgress';
2 | import ActionCompleted from './ActionCompleted';
3 |
4 | export { ActionCompleted, ActionInProgress };
5 |
--------------------------------------------------------------------------------
/v2/ui/sections/history/CustomTypeOption/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './CustomTypeOption';
2 |
--------------------------------------------------------------------------------
/v2/ui/sections/history/Transactions/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './Transactions';
2 |
--------------------------------------------------------------------------------
/v2/ui/sections/history/TypeIcon/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './TypeIcon';
2 |
--------------------------------------------------------------------------------
/v2/ui/sections/loans/components/ActionBox/ActiveBorrowsTab/ActiveBorrowsTab.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | import Action, { ACTION_NAMES } from './ModifyLoanActions';
4 | import LoanList from './LoanList';
5 |
6 | type ActiveBorrowsTabProps = {
7 | loanId: string;
8 | loanAction: string;
9 | };
10 |
11 | const ActiveBorrowsTab: React.FC = ({ loanId, loanAction }) => {
12 | return loanId ? : ;
13 | };
14 |
15 | export default ActiveBorrowsTab;
16 |
--------------------------------------------------------------------------------
/v2/ui/sections/loans/constants.ts:
--------------------------------------------------------------------------------
1 | export const DEBT_ASSETS = ['sUSD', 'sETH'];
2 | export const DEBT_ASSETS_L2 = ['sUSD', 'sETH'];
3 |
4 | export const getSafeMinCRatioBuffer = (debtAsset: string, collateralAsset: string) => {
5 | if (collateralAsset.includes('ETH') && debtAsset.includes('sETH')) return 0.02;
6 | return 0.1;
7 | };
8 |
--------------------------------------------------------------------------------
/v2/ui/sections/merge-accounts/burn/index.tsx:
--------------------------------------------------------------------------------
1 | import { FC } from 'react';
2 | import Connector from 'containers/Connector';
3 |
4 | import { Cols, Col } from 'sections/merge-accounts/common';
5 | import ActionBox from './BurnActionBox';
6 | import InfoBox from './BurnInfoBox';
7 |
8 | const Burn: FC = () => {
9 | const { isAppReady } = Connector.useContainer();
10 |
11 | return !isAppReady ? null : (
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | );
21 | };
22 |
23 | export default Burn;
24 |
--------------------------------------------------------------------------------
/v2/ui/sections/merge-accounts/merge/index.tsx:
--------------------------------------------------------------------------------
1 | import { FC } from 'react';
2 |
3 | import Connector from 'containers/Connector';
4 | import { Cols, Col } from 'sections/merge-accounts/common';
5 | import ActionBox from './MergeActionBox';
6 | import InfoBox from './MergeInfoBox';
7 |
8 | const Merge: FC = () => {
9 | const { isAppReady } = Connector.useContainer();
10 |
11 | return !isAppReady ? null : (
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | );
21 | };
22 |
23 | export default Merge;
24 |
--------------------------------------------------------------------------------
/v2/ui/sections/merge-accounts/nominate/index.tsx:
--------------------------------------------------------------------------------
1 | import Connector from 'containers/Connector';
2 | import { FC } from 'react';
3 |
4 | import { Cols, Col } from 'sections/merge-accounts/common';
5 | import ActionBox from './NominateActionBox';
6 | import InfoBox from './NominateInfoBox';
7 |
8 | const Nominate: FC = () => {
9 | const { isAppReady } = Connector.useContainer();
10 |
11 | return !isAppReady ? null : (
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | );
21 | };
22 |
23 | export default Nominate;
24 |
--------------------------------------------------------------------------------
/v2/ui/sections/migrate-debt/components/ExternalLink/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './ExternalLink';
2 |
--------------------------------------------------------------------------------
/v2/ui/sections/migrate-debt/components/TxSent/index.ts:
--------------------------------------------------------------------------------
1 | import ActionInProgress from './ActionInProgress';
2 | import ActionCompleted from './ActionCompleted';
3 |
4 | export { ActionCompleted, ActionInProgress };
5 |
--------------------------------------------------------------------------------
/v2/ui/sections/migrate-debt/migrate/ActionBox/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './ActionBox';
2 |
--------------------------------------------------------------------------------
/v2/ui/sections/migrate-debt/migrate/MigrateTab/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './MigrateTab';
2 |
--------------------------------------------------------------------------------
/v2/ui/sections/migrate-debt/migrate/index.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import styled from 'styled-components';
3 |
4 | import ActionBox from './ActionBox';
5 |
6 | const Index: React.FC = () => {
7 | return (
8 |
9 |
10 |
11 | );
12 | };
13 |
14 | const Container = styled.div`
15 | margin: 0 auto;
16 | max-width: 650px;
17 | `;
18 |
19 | export default Index;
20 |
--------------------------------------------------------------------------------
/v2/ui/sections/migrate-escrow/components/ExternalLink/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './ExternalLink';
2 |
--------------------------------------------------------------------------------
/v2/ui/sections/migrate-escrow/components/TxSent/index.ts:
--------------------------------------------------------------------------------
1 | import ActionInProgress from './ActionInProgress';
2 | import ActionCompleted from './ActionCompleted';
3 |
4 | export { ActionCompleted, ActionInProgress };
5 |
--------------------------------------------------------------------------------
/v2/ui/sections/migrate-escrow/migrate/ActionBox/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './ActionBox';
2 |
--------------------------------------------------------------------------------
/v2/ui/sections/migrate-escrow/migrate/MigrateTab/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './MigrateTab';
2 |
--------------------------------------------------------------------------------
/v2/ui/sections/migrate-escrow/migrate/index.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import styled from 'styled-components';
3 |
4 | import ActionBox from './ActionBox';
5 |
6 | const Index: React.FC = () => {
7 | return (
8 |
9 |
10 |
11 | );
12 | };
13 |
14 | const Container = styled.div`
15 | margin: 0 auto;
16 | max-width: 650px;
17 | `;
18 |
19 | export default Index;
20 |
--------------------------------------------------------------------------------
/v2/ui/sections/shared/Layout/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './Layout';
2 |
--------------------------------------------------------------------------------
/v2/ui/sections/shared/SystemStatus/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './SystemStatus';
2 |
--------------------------------------------------------------------------------
/v2/ui/sections/shared/components/SocialLinks/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './SocialLinks';
2 |
--------------------------------------------------------------------------------
/v2/ui/sections/shared/modals/DelegateModal/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './DelegateModal';
2 |
--------------------------------------------------------------------------------
/v2/ui/sections/shared/modals/TxConfirmationModal/index.ts:
--------------------------------------------------------------------------------
1 | export { default } from './TxConfirmationModal';
2 |
--------------------------------------------------------------------------------
/v2/ui/store/app/constants.ts:
--------------------------------------------------------------------------------
1 | import { getAppKey } from '../utils';
2 |
3 | export const priceCurrencyStateKey = getAppKey('priceCurrency');
4 | export const languageStateKey = getAppKey('language');
5 |
--------------------------------------------------------------------------------
/v2/ui/store/escrow/index.ts:
--------------------------------------------------------------------------------
1 | import { atom } from 'recoil';
2 |
3 | import { getEscrowKey } from '../utils';
4 |
5 | export enum EscrowPanelType {
6 | REWARDS = 'rewards',
7 | ICO = 'ico',
8 | }
9 |
10 | export const panelTypeState = atom({
11 | key: getEscrowKey('panelType'),
12 | default: EscrowPanelType.REWARDS,
13 | });
14 |
--------------------------------------------------------------------------------
/v2/ui/store/gov/index.ts:
--------------------------------------------------------------------------------
1 | export enum ProposalInfoType {
2 | RESULTS = 'results',
3 | HISTORY = 'history',
4 | }
5 |
6 | export enum PanelType {
7 | LIST = 'list',
8 | PROPOSAL = 'proposal',
9 | CREATE = 'create',
10 | }
11 |
--------------------------------------------------------------------------------
/v2/ui/store/utils.ts:
--------------------------------------------------------------------------------
1 | export const getAppKey = (subKey: string) => `app/${subKey}`;
2 | export const getUIKey = (subKey: string) => `ui/${subKey}`;
3 | export const getWalletKey = (subKey: string) => `wallet/${subKey}`;
4 | export const getStakingKey = (subKey: string) => `staking/${subKey}`;
5 | export const getEscrowKey = (subKey: string) => `escrow/${subKey}`;
6 | export const getGovKey = (subKey: string) => `gov/${subKey};`;
7 | export const getDebtKey = (subKey: string) => `debt/${subKey}`;
8 |
--------------------------------------------------------------------------------
/v2/ui/styles/theme/fonts.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | regular: 'Inter',
3 | interBold: 'Inter Bold',
4 | interSemiBold: 'Inter Semi Bold',
5 | mono: 'GT America Mono',
6 | condensedBold: 'GT America Condensed-Bold',
7 | condensedMedium: 'GT America Condensed-Medium',
8 | extended: 'GT America Extended Bold',
9 | };
10 |
--------------------------------------------------------------------------------
/v2/ui/styles/theme/index.ts:
--------------------------------------------------------------------------------
1 | import colors from './colors';
2 | import fonts from './fonts';
3 |
4 | export const theme = {
5 | colors,
6 | fonts,
7 | };
8 |
9 | export type ThemeInterface = typeof theme;
10 |
11 | export default theme;
12 |
--------------------------------------------------------------------------------
/v2/ui/tests/e2e/needs-fix/pages/loans-page.js:
--------------------------------------------------------------------------------
1 | import Page from './page';
2 |
3 | export default class LoansPage extends Page {
4 | getForm() {
5 | return cy.findByTestId('loans-form');
6 | }
7 |
8 | getFormButton() {
9 | return cy.findByTestId('loans-form-button');
10 | }
11 |
12 | getLeftInput() {
13 | return cy.findByTestId('loans-form-left-input');
14 | }
15 |
16 | getRightInput() {
17 | return cy.findByTestId('loans-form-right-input');
18 | }
19 |
20 | getTable() {
21 | return cy.findByTestId('loans-table');
22 | }
23 |
24 | visit() {
25 | cy.visit('/loans');
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/v2/ui/tests/e2e/pages/home/header.js:
--------------------------------------------------------------------------------
1 | import Page from '../page';
2 | export default class Header extends Page {
3 | getUserMenu() {
4 | return cy.findByTestId('user-menu');
5 | }
6 | getConnectWalletBtn() {
7 | return cy.findByTestId('connect-wallet');
8 | }
9 | getWalletAddress() {
10 | return cy.findByTestId('wallet-address');
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/v2/ui/tests/e2e/pages/home/onboard.js:
--------------------------------------------------------------------------------
1 | import Page from '../page';
2 | export default class Onboard extends Page {
3 | getBrowserWalletBtn() {
4 | return cy.findByAltText('Browser Wallet');
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/v2/ui/tests/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "allowJs": true,
4 | "baseUrl": "../../node_modules",
5 | "types": [
6 | "cypress",
7 | "@types/puppeteer-core",
8 | "@synthetixio/synpress/support",
9 | "cypress-wait-until",
10 | "@testing-library/cypress"
11 | ],
12 | "outDir": "./output"
13 | },
14 | "include": ["**/*.*"]
15 | }
16 |
--------------------------------------------------------------------------------
/v2/ui/tests/global.js:
--------------------------------------------------------------------------------
1 | module.exports = async () => {
2 | process.env.TZ = 'UTC';
3 | };
4 |
--------------------------------------------------------------------------------
/v2/ui/translations/constants.ts:
--------------------------------------------------------------------------------
1 | export enum Language {
2 | EN = 'en',
3 | }
4 |
--------------------------------------------------------------------------------
/v2/ui/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../tsconfig.json"
3 | }
4 |
--------------------------------------------------------------------------------
/v2/ui/typings/missing-types.d.ts:
--------------------------------------------------------------------------------
1 | declare module 'synthetix-data';
2 | declare module '@snapshot-labs/snapshot.js';
3 | declare module '@ensdomains/ensjs';
4 | declare module 'remarkable/linkify';
5 | declare module 'remarkable-external-link';
6 | declare module '@synthetixio/safe-import';
7 | declare module '@synthetixio/safe-import/safeImport';
8 |
--------------------------------------------------------------------------------
/v2/ui/typings/react-i18next.d.ts:
--------------------------------------------------------------------------------
1 | import 'react-i18next';
2 | import ns1 from '../translations/en.json';
3 |
4 | declare module 'react-i18next' {
5 | // and extend them!
6 | interface CustomTypeOptions {
7 | // custom namespace type if you changed it
8 | defaultNS: 'ns1';
9 | // custom resources type
10 | resources: {
11 | ns1: typeof ns1;
12 | };
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/v2/ui/typings/styled-components.d.ts:
--------------------------------------------------------------------------------
1 | import { ThemeInterface } from 'styles/theme';
2 |
3 | declare module 'styled-components' {
4 | interface DefaultTheme extends ThemeInterface {}
5 | }
6 |
--------------------------------------------------------------------------------
/v2/ui/typings/window.d.ts:
--------------------------------------------------------------------------------
1 | import { NetworkId } from '@synthetixio/contracts-interface';
2 | import { providers } from 'ethers';
3 |
4 | declare global {
5 | interface Window {
6 | web3?: {
7 | eth?: {
8 | net: {
9 | getId: () => NetworkId;
10 | };
11 | };
12 | version: {
13 | getNetwork(cb: (err: Error | undefined, networkId: NetworkId) => void): void;
14 | network: NetworkId;
15 | };
16 | };
17 | ethereum?: providers;
18 | trustwallet?: providers;
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/v2/ui/utils/governance.ts:
--------------------------------------------------------------------------------
1 | import { VOTE_CODE, NOMINATION_CODE } from '@synthetixio/queries';
2 |
3 | export const isAnyElectionInNomination = (
4 | periodStatuses?: { currentPeriodLabel: string; code: number }[]
5 | ) => periodStatuses?.some(({ code }) => code === NOMINATION_CODE) ?? false;
6 | export const isAnyElectionInVoting = (
7 | periodStatuses?: { currentPeriodLabel: string; code: number }[]
8 | ) => periodStatuses?.some(({ code }) => code === VOTE_CODE) ?? false;
9 |
--------------------------------------------------------------------------------
/v2/ui/utils/localStore.ts:
--------------------------------------------------------------------------------
1 | export const set = (key: string, value: any) => {
2 | if (typeof window !== 'undefined') {
3 | window.localStorage.setItem(key, JSON.stringify(value));
4 | }
5 | };
6 |
7 | export function get(key: string): T | null {
8 | if (typeof window !== 'undefined') {
9 | const item = window.localStorage.getItem(key);
10 | try {
11 | if (item != null) {
12 | return JSON.parse(item);
13 | }
14 | } catch (e) {
15 | console.error(e);
16 | }
17 | }
18 | return null;
19 | }
20 |
21 | export default {
22 | set,
23 | get,
24 | };
25 |
--------------------------------------------------------------------------------
/v2/ui/utils/parse.ts:
--------------------------------------------------------------------------------
1 | import { wei, WeiSource } from '@synthetixio/wei';
2 |
3 | export function parseSafeWei(v: WeiSource, def: WeiSource) {
4 | let p = wei(def);
5 | try {
6 | p = wei(v);
7 | } catch (_) {}
8 |
9 | return p;
10 | }
11 |
--------------------------------------------------------------------------------
/v2/ui/utils/promise.ts:
--------------------------------------------------------------------------------
1 | export function sleep(ms: number): Promise {
2 | return new Promise((r) => setTimeout(r, ms));
3 | }
4 |
--------------------------------------------------------------------------------
/v2/ui/utils/ts-helpers.ts:
--------------------------------------------------------------------------------
1 | export function isObjectOrErrorWithMessage(x: unknown): x is { message: string } {
2 | if (typeof x !== 'object') return false;
3 | if (x === null) return false;
4 | return 'message' in x;
5 | }
6 | export function notNill(value: Value | null | undefined): value is Value {
7 | return value !== null && value !== undefined;
8 | }
9 |
10 | export type Omit = Pick>;
11 | export type PartialBy = Omit & Partial>;
12 |
--------------------------------------------------------------------------------
/v2/ui/v2-components/Header/index.tsx:
--------------------------------------------------------------------------------
1 | export { Header } from './Header';
2 |
--------------------------------------------------------------------------------