diff --git a/LICENSE b/LICENSE
new file mode 100644
index 00000000..c8b1a71f
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2025 Bond Labs
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
index a4ed24d8..196d5629 100644
--- a/README.md
+++ b/README.md
@@ -41,6 +41,12 @@ cd apps/dapp
pnpm test:open
```
+### Enabling new Chains
+
+- Check examples under `packages/contract-library/src/deployments` for the configuration structure
+- Update `../deployments/(mainnets/testnets)/index.ts` to include the newly added deployment configuration
+- If oracle markets or fixed expiry is available, add it to `dapp/.../create-market/config.ts`
+
## Useful Links
[Turbopack](https://turbo.build/repo/docs)
diff --git a/apps/dapp/README.md b/apps/dapp/README.md
index 1fbf5521..6bf40a04 100644
--- a/apps/dapp/README.md
+++ b/apps/dapp/README.md
@@ -1,6 +1,6 @@
# Bond Protocol dApp
-## Dev setup (for now)
+## Dev setup
```bash
pnpm install
@@ -15,9 +15,6 @@ pnpm build
pnpm preview
```
-> [!WARNING]
-> App still need the [caching API](https://github.com/Bond-Protocol/api) to be running in order to work, this should be deprecated in a near future
-
## Testing
E2E tests are setup using cypress and require a running foundry/anvil node.
@@ -38,11 +35,8 @@ pnpm test:run # Headless mode
pnpm test:open # Open browser mode -- useful for development
```
-### New Chain Deployment Setup
+### Enabling new Chains
-- Add addresses to `packages/contract-library/.../address-provider.tsx`
-- Add chain to `CHAIN_ID` enum in `packages/types/.../chains.ts`
-- Add chain to `dapp/.../blockchain-provider.tsx`
-- Add subgraph to `dapp/.../services/subgraph-endpoints.ts`
-- Add chain handlers for defillama/coingecko to `dapp/.../defillama`
-- If oracle markets are not available, add it to `dapp/.../create-market/config.ts`
+- Check examples under `packages/contract-library/src/deployments` for the configuration structure
+- Update `../deployments/(mainnets/testnets)/index.ts` to include the newly added deployment configuration
+- If oracle markets or fixed expiry is available, add it to `dapp/.../create-market/config.ts`
diff --git a/apps/dapp/codegen.ts b/apps/dapp/codegen.ts
index 8ecae3a6..f4297245 100644
--- a/apps/dapp/codegen.ts
+++ b/apps/dapp/codegen.ts
@@ -5,7 +5,8 @@ dotenv.config();
const config: CodegenConfig = {
overwrite: true,
- schema: process.env.VITE_SUBGRAPH_CODEGEN_SCHEMA_ENDPOINT,
+ schema:
+ "https://api.studio.thegraph.com/query/47265/bond-protocol-base/version/latest",
documents: "src/graphql/queries.gql",
config: {
legacyMode: false,
diff --git a/apps/dapp/package.json b/apps/dapp/package.json
index 976e99c2..e707ae87 100644
--- a/apps/dapp/package.json
+++ b/apps/dapp/package.json
@@ -40,7 +40,7 @@
"@tanstack/react-query": "^5.8.9",
"@wagmi/chains": "^1.8.0",
"@wagmi/core": "^1.4.12",
- "axios": "^1.6.0",
+ "axios": "^1.7.4",
"buffer": "^6.0.3",
"cypress": "^14.1.0",
"date-fns": "2.30",
diff --git a/apps/dapp/src/components/modules/create-market/CreateMarketController.tsx b/apps/dapp/src/components/modules/create-market/CreateMarketController.tsx
index 8b80b125..4d4a9ef5 100644
--- a/apps/dapp/src/components/modules/create-market/CreateMarketController.tsx
+++ b/apps/dapp/src/components/modules/create-market/CreateMarketController.tsx
@@ -7,14 +7,13 @@ import {
useWaitForTransaction,
} from "wagmi";
import * as contractLib from "@bond-protocol/contract-library";
-import { BondType, CHAIN_ID, CreateMarketParams } from "@bond-protocol/types";
+import { BondType, CreateMarketParams } from "@bond-protocol/types";
import {
checkOraclePairValidity,
getBlockExplorer,
getOracleDecimals,
getOraclePrice,
getTeller,
- getAuctioneerForCreate,
} from "@bond-protocol/contract-library";
import {
CreateMarketAction,
@@ -28,6 +27,7 @@ import { useTokens } from "hooks";
import { parseUnits, formatUnits } from "viem";
import { useAllowance } from "hooks/contracts/useAllowance";
import { useCreateMarket as useCreateMarketContract } from "hooks/contracts/useCreateMarket";
+import { mainnet } from "@wagmi/chains";
export const CreateMarketController = () => {
const [creationHash, setCreationHash] = useState
();
@@ -364,7 +364,7 @@ export function getBondType(state: CreateMarketState) {
SDA v1.1 has not been deployed to Ethereum Mainnet
It has been deployed to Goerli, but using the old SDA contracts for consistency
*/
- if (chainId === CHAIN_ID.ETHEREUM_MAINNET) {
+ if (chainId === mainnet.id.toString()) {
return state.vestingType === "term"
? BondType.FIXED_TERM_SDA
: BondType.FIXED_EXPIRY_SDA;
diff --git a/apps/dapp/src/components/modules/create-market/CreateMarketScreen.tsx b/apps/dapp/src/components/modules/create-market/CreateMarketScreen.tsx
index 6b1a8314..03009502 100644
--- a/apps/dapp/src/components/modules/create-market/CreateMarketScreen.tsx
+++ b/apps/dapp/src/components/modules/create-market/CreateMarketScreen.tsx
@@ -33,7 +33,7 @@ import {
import { Address } from "viem";
import { Token } from "@bond-protocol/types";
import { getBlockExplorer } from "@bond-protocol/contract-library";
-import { unavailableFixedExpiry } from "./config";
+import { availableFixedExpiry } from "./config";
export type CreateMarketScreenProps = {
projectionData: Array;
@@ -221,9 +221,9 @@ export const CreateMarketScreen = (props: CreateMarketScreenProps) => {
ModalContent={(props) => (
)}
onSubmit={({ value }) =>
diff --git a/apps/dapp/src/components/modules/create-market/PriceModelPicker.tsx b/apps/dapp/src/components/modules/create-market/PriceModelPicker.tsx
index bca39d71..19ae04ee 100644
--- a/apps/dapp/src/components/modules/create-market/PriceModelPicker.tsx
+++ b/apps/dapp/src/components/modules/create-market/PriceModelPicker.tsx
@@ -7,7 +7,7 @@ import { PriceModelDetails } from "./PriceModelDetails";
import { PriceModel, PriceType } from "./create-market-reducer";
import { PriceControl, PriceControlProps } from "./PriceControl";
import { useNetwork } from "wagmi";
-import { unavailableOracleChains } from "./config";
+import { availableOracleChains } from "./config";
import { featureToggles } from "src/feature-toggles";
export type PriceModelPickerProps = {
@@ -128,7 +128,7 @@ export const PriceModelPicker = (props: PriceModelPickerProps) => {
Price Model
{featureToggles.ORACLE_BONDS ? (
- props.chain && !unavailableOracleChains.includes(props.chain) ? (
+ props.chain && availableOracleChains.includes(props.chain) ? (
{
diff --git a/apps/dapp/src/components/modules/create-market/config.ts b/apps/dapp/src/components/modules/create-market/config.ts
index a06e2911..02cb636a 100644
--- a/apps/dapp/src/components/modules/create-market/config.ts
+++ b/apps/dapp/src/components/modules/create-market/config.ts
@@ -1,5 +1,5 @@
-/** Chains where the Oracle Auctioneers are not avaiable*/
-export const unavailableOracleChains = [1, 8453, 84532, 56, 34443];
+/** Chains where the Oracle Auctioneers are avaiable*/
+export const availableOracleChains = [42161, 10, 137];
-/** Chains where the Fixed Expiry Auctioneers are not avaiable*/
-export const unavailableFixedExpiry = [34443, 80084];
+/** Chains where the Fixed Expiry Auctioneers are avaiable*/
+export const availableFixedExpiry = [1, 10, 42161, 56];
diff --git a/apps/dapp/src/components/modules/create-market/create-market-reducer.tsx b/apps/dapp/src/components/modules/create-market/create-market-reducer.tsx
index 10768ff2..2c61a143 100644
--- a/apps/dapp/src/components/modules/create-market/create-market-reducer.tsx
+++ b/apps/dapp/src/components/modules/create-market/create-market-reducer.tsx
@@ -1,9 +1,9 @@
import { calculateTrimDigits, trimAsNumber, formatDate } from "formatters";
import { createContext, Dispatch, useContext, useReducer } from "react";
import { differenceInCalendarDays } from "date-fns";
-import { formatUnits, parseUnits } from "viem";
+import { parseUnits } from "viem";
import { switchNetwork } from "@wagmi/core";
-import { unavailableOracleChains } from "./config";
+import { availableOracleChains } from "./config";
const DEFAULT_DEPOSIT_INTERVAL = 86400;
const DEFAULT_DEBT_BUFFER = 75;
@@ -198,11 +198,7 @@ function calculateAllowance(
let payoutTokenPrice = payoutToken.price;
if (state.priceModel === "static") {
- if (
- state.priceModels?.static?.fixedPrice &&
- !payoutToken.price &&
- capacityType === "quote"
- ) {
+ if (state.priceModels?.static?.fixedPrice && !payoutToken.price) {
payoutTokenPrice = state.priceModels?.static?.fixedPrice;
} else if (!payoutToken.price) {
return {
@@ -272,7 +268,7 @@ export const reducer = (
switchNetwork({ chainId });
- const oracleUnavailable = unavailableOracleChains.includes(chainId);
+ const oracleUnavailable = !availableOracleChains.includes(chainId);
return {
...state,
diff --git a/apps/dapp/src/config.ts b/apps/dapp/src/config.ts
index 4625a857..11dec920 100644
--- a/apps/dapp/src/config.ts
+++ b/apps/dapp/src/config.ts
@@ -45,3 +45,6 @@ export const testnetSubgraphs =
"https://subgraph.satsuma-prod.com/35414fbc50a7/spaces-team/bond-protocol-base-sepolia/api",
}
: {};
+
+// Key is domain restricted to *.bondprotocol.finance
+export const GRAPH_API_KEY = "70873ff55ac0869c81ba8a128ef5e786";
diff --git a/apps/dapp/src/config/auto-signer.ts b/apps/dapp/src/config/auto-signer.ts
index b6787c25..4350e477 100644
--- a/apps/dapp/src/config/auto-signer.ts
+++ b/apps/dapp/src/config/auto-signer.ts
@@ -1,6 +1,6 @@
import { WalletClient } from "wagmi";
import { baseSepolia, foundry } from "viem/chains";
-import { custom, createWalletClient, Account, Address } from "viem";
+import { custom, createWalletClient, Address } from "viem";
import { Connector } from "wagmi";
import { injectAutoSignerProvider } from "@axis-finance/auto-signer-provider";
import { privateKeyToAccount } from "viem/accounts";
diff --git a/apps/dapp/src/config/chains.ts b/apps/dapp/src/config/chains.ts
index 2ac8e58e..e09d4078 100644
--- a/apps/dapp/src/config/chains.ts
+++ b/apps/dapp/src/config/chains.ts
@@ -1,21 +1,16 @@
-import { arbitrum, mainnet, optimism, polygon, base } from "@wagmi/chains";
import { environment } from "src/environment";
import { getIconsForChains } from "src/utils/get-icons-for-chains";
-import { Chain, baseSepolia, bsc } from "viem/chains";
-import { sonic } from "@bond-protocol/contract-library";
+import { Chain } from "viem/chains";
+import { mainnetDeployments } from "@bond-protocol/contract-library/src/deployments/mainnets";
+import { testnetDeployments } from "@bond-protocol/contract-library/src/deployments/testnets";
type _Chain = Chain & { logoUrl?: string };
-export const TESTNETS = [baseSepolia].map(getIconsForChains);
-export const MAINNETS = [
- mainnet,
- arbitrum,
- optimism,
- polygon,
- base,
- bsc,
- sonic,
-];
+export const TESTNETS = testnetDeployments
+ .map((d) => d.chain)
+ .map(getIconsForChains);
+
+export const MAINNETS = mainnetDeployments.map((d) => d.chain);
export const SUPPORTED_CHAINS = [...TESTNETS, ...MAINNETS];
export const ACTIVE_CHAINS: _Chain[] = environment.isTestnet
diff --git a/apps/dapp/src/config/public-clients.ts b/apps/dapp/src/config/public-clients.ts
index 5f47c456..12ba6fb3 100644
--- a/apps/dapp/src/config/public-clients.ts
+++ b/apps/dapp/src/config/public-clients.ts
@@ -1,56 +1,14 @@
-import {
- arbitrum,
- arbitrumGoerli,
- mainnet,
- optimism,
- polygon,
- base,
-} from "@wagmi/chains";
import { environment } from "src/environment";
import { ANVIL_RPC_URL } from "./auto-signer";
import { PublicClient, createPublicClient, http } from "viem";
-import { baseSepolia, bsc } from "viem/chains";
-import { sonic } from "@bond-protocol/contract-library";
+import { baseSepolia } from "viem/chains";
+import { deployments } from "@bond-protocol/contract-library";
const key = import.meta.env.VITE_ALCHEMY_RPC_KEY;
-const rpcConfigs = [
- {
- chain: mainnet,
- endpoint: ` https://eth-mainnet.g.alchemy.com/v2/${key}`,
- },
- {
- chain: arbitrumGoerli,
- endpoint: `https://arb-goerli.g.alchemy.com/v2/${key}`,
- },
- {
- chain: arbitrum,
- endpoint: `https://arb-mainnet.g.alchemy.com/v2/${key}`,
- },
- {
- chain: optimism,
- endpoint: `https://opt-mainnet.g.alchemy.com/v2/${key}`,
- },
- {
- chain: polygon,
- endpoint: `https://polygon-mainnet.g.alchemy.com/v2/${key}`,
- },
- {
- chain: base,
- endpoint: `https://base-mainnet.g.alchemy.com/v2/${key}`,
- },
- {
- chain: baseSepolia,
- endpoint: `https://base-sepolia.g.alchemy.com/v2/${key}`,
- },
- {
- chain: sonic,
- endpoint: `https://sonic-mainnet.g.alchemy.com/v2/${key}`,
- },
- {
- chain: bsc,
- endpoint: `https://bnb-mainnet.g.alchemy.com/v2/${key}`,
- },
-];
+const rpcConfigs = deployments.map((d) => ({
+ chain: d.chain,
+ endpoint: d.getRpcURL(key),
+}));
const testRpcConfigs = [
{
diff --git a/apps/dapp/src/services/subgraph-endpoints.tsx b/apps/dapp/src/services/subgraph-endpoints.ts
similarity index 55%
rename from apps/dapp/src/services/subgraph-endpoints.tsx
rename to apps/dapp/src/services/subgraph-endpoints.ts
index 8accf984..484248c8 100644
--- a/apps/dapp/src/services/subgraph-endpoints.tsx
+++ b/apps/dapp/src/services/subgraph-endpoints.ts
@@ -1,75 +1,26 @@
import { UseQueryResult, useQueries } from "@tanstack/react-query";
import { environment } from "src/environment";
-import { mainnetSubgraphs, testnetSubgraphs } from "src/config";
import { Variables } from "graphql-request";
import { queryAllEndpoints } from "src/utils/queryAllEndpoints";
-import { CHAIN_ID } from "@bond-protocol/types";
+import { mainnetDeployments } from "@bond-protocol/contract-library/src/deployments/mainnets";
+import { testnetDeployments } from "@bond-protocol/contract-library/src/deployments/testnets";
+import { BondDeployment } from "@bond-protocol/contract-library/src/deployments/types";
-/**List of available subgraph endpoint urls indexed by chain*/
-export const subgraphEndpoints = {
- ...mainnetSubgraphs,
- ...testnetSubgraphs,
-} as Record;
-
-export const mainnetEndpoints = [
- {
- url: subgraphEndpoints[CHAIN_ID.ETHEREUM_MAINNET],
- chain: CHAIN_ID.ETHEREUM_MAINNET,
- },
- {
- url: subgraphEndpoints[CHAIN_ID.ARBITRUM_MAINNET],
- chain: CHAIN_ID.ARBITRUM_MAINNET,
- },
- {
- url: subgraphEndpoints[CHAIN_ID.OPTIMISM_MAINNET],
- chain: CHAIN_ID.OPTIMISM_MAINNET,
- },
- {
- url: subgraphEndpoints[CHAIN_ID.POLYGON_MAINNET],
- chain: CHAIN_ID.POLYGON_MAINNET,
- },
- {
- url: subgraphEndpoints[CHAIN_ID.BASE_MAINNET],
- chain: CHAIN_ID.BASE_MAINNET,
- },
- {
- url: subgraphEndpoints[CHAIN_ID.SONIC],
- chain: CHAIN_ID.SONIC,
- },
- {
- url: subgraphEndpoints[CHAIN_ID.BSC_MAINNET],
- chain: CHAIN_ID.BSC_MAINNET[CHAIN_ID.BSC_MAINNET],
- },
-];
-
-export const testnetEndpoints = [
- // {
- // url: subgraphEndpoints[CHAIN_ID.GOERLI_TESTNET],
- // chain: CHAIN_ID.GOERLI_TESTNET,
- // },
- // {
- // url: subgraphEndpoints[CHAIN_ID.ARBITRUM_GOERLI_TESTNET],
- // chain: CHAIN_ID.ARBITRUM_GOERLI_TESTNET,
- // },
- // {
- // url: subgraphEndpoints[CHAIN_ID.OPTIMISM_GOERLI_TESTNET],
- // chain: CHAIN_ID.OPTIMISM_GOERLI_TESTNET,
- // },
+function toSubgraphURL(deployment: BondDeployment) {
+ return {
+ url: deployment.subgraphURL,
+ chain: deployment.chain,
+ };
+}
+export const mainnetEndpoints = mainnetDeployments.map(toSubgraphURL);
+export const testnetEndpoints = testnetDeployments.map(toSubgraphURL);
- // {
- // url: subgraphEndpoints[CHAIN_ID.POLYGON_MUMBAI_TESTNET],
- // chain: CHAIN_ID.POLYGON_MUMBAI_TESTNET,
- // },
- {
- url: subgraphEndpoints[CHAIN_ID.BASE_SEPOLIA],
- chain: CHAIN_ID.BASE_SEPOLIA,
- },
- /*{
- url: subgraphEndpoints[CHAIN_ID.AVALANCHE_FUJI_TESTNET],
- chain: CHAIN_ID.AVALANCHE_FUJI_TESTNET,
- },
- */
-];
+export const subgraphEndpoints: Record = [
+ ...mainnetEndpoints,
+ ...testnetEndpoints,
+].reduce((record, element) => {
+ return { ...record, [element.chain.id]: element.url };
+}, {});
export const currentEndpoints = environment.isTesting
? testnetEndpoints
@@ -127,7 +78,7 @@ export function useGetSubgraphQueries({
export const getSubgraphQueriesPerChainFn = (
query: ({}: any, {}: any, {}: any) => UseQueryResult,
- func: (chain: CHAIN_ID) => any,
+ func: (chain: number) => any,
fieldName: string
): UseQueryResult[] => {
const endpoints = isTestnet ? testnetEndpoints : mainnetEndpoints;
diff --git a/apps/dapp/src/utils/queryAllEndpoints.ts b/apps/dapp/src/utils/queryAllEndpoints.ts
index 35d3a047..96cd1701 100644
--- a/apps/dapp/src/utils/queryAllEndpoints.ts
+++ b/apps/dapp/src/utils/queryAllEndpoints.ts
@@ -5,15 +5,18 @@ import {
import { environment } from "src/environment";
import { request } from "./request";
import { Variables } from "graphql-request";
+import { GRAPH_API_KEY } from "src/config";
export function queryAllEndpoints({
document,
variables,
enabled = true,
+ headers = { Authorization: `Bearer ${GRAPH_API_KEY}` },
}: {
document: string;
variables?: Variables;
enabled?: boolean;
+ headers?: Record;
}) {
const isTestnet = environment.isTestnet;
const endpoints = isTestnet ? testnetEndpoints : mainnetEndpoints;
@@ -26,9 +29,10 @@ export function queryAllEndpoints({
const queries = endpoints.map(({ url }) => ({
queryKey: [url, document],
queryFn: async () => {
- const response = await request(url, document, vars);
+ const response = await request(url, document, vars, headers);
return response;
},
+
enabled,
}));
diff --git a/apps/dapp/src/utils/request.ts b/apps/dapp/src/utils/request.ts
index 65b33f8b..1a9937b3 100644
--- a/apps/dapp/src/utils/request.ts
+++ b/apps/dapp/src/utils/request.ts
@@ -13,7 +13,8 @@ type TypedDocumentNode<
export async function request(
endpoint: string,
document: RequestDocument | TypedDocumentNode,
- variables?: Variables
+ variables?: Variables,
+ headers?: Record
) {
const response = await graphqlRequest(
endpoint,
@@ -21,6 +22,7 @@ export async function request(
variables,
{
"Content-Type": "application/json",
+ ...headers,
}
);
diff --git a/apps/lp/package.json b/apps/lp/package.json
index 64815b2a..3d857eb7 100644
--- a/apps/lp/package.json
+++ b/apps/lp/package.json
@@ -13,7 +13,7 @@
"@next/font": "13.1.1",
"@vercel/analytics": "^0.1.8",
"add": "^2.0.6",
- "eslint": "8.31.0",
+ "eslint": "9.0.0",
"eslint-config-next": "13.1.1",
"@bond-protocol/eslint-config-custom": "workspace:*",
"next": "13.5.1",
diff --git a/packages/contract-library/src/core/address-provider.ts b/packages/contract-library/src/core/address-provider.ts
index a168c182..835f1251 100644
--- a/packages/contract-library/src/core/address-provider.ts
+++ b/packages/contract-library/src/core/address-provider.ts
@@ -1,33 +1,8 @@
import { Address, zeroAddress } from "viem";
import { auctioneerAddressesByType } from "./enums";
import type { BondType } from "@bond-protocol/types";
-
-export type ContractAddresses = {
- authority: Address;
- aggregator: Address;
- fixedExpiryTeller: Address;
- fixedExpirySDAAuctioneer: Address;
- fixedExpirySDAv1_1Auctioneer: Address;
- fixedExpiryFPAAuctioneer: Address;
- fixedExpiryOFDAAuctioneer: Address;
- fixedExpiryOSDAAuctioneer: Address;
- fixedTermTeller: Address;
- fixedTermSDAAuctioneer: Address;
- fixedTermSDAv1_1Auctioneer: Address;
- fixedTermFPAAuctioneer: Address;
- fixedTermOFDAAuctioneer: Address;
- fixedTermOSDAAuctioneer: Address;
- settlement: Address;
-};
-
-export type AddressesForType = {
- teller: Address;
- auctioneer: Address;
-};
-
-export type BaseMarketPricing = "dynamic" | "static";
-export type OracleMarketPricing = "oracle-dynamic" | "oracle-static";
-export type MarketPricing = BaseMarketPricing | OracleMarketPricing;
+import { ContractAddresses, MarketPricing } from "./types";
+import { deployments } from "../deployments/index";
export const getMarketTypeByAuctioneer = (address: string): MarketPricing => {
switch (address.toLowerCase()) {
@@ -50,42 +25,6 @@ export const getMarketTypeByAuctioneer = (address: string): MarketPricing => {
}
};
-const mainnetAddresses: ContractAddresses = {
- authority: "0x007A0F48A4e3d74Ab4234adf9eA9EB32f87b4b14",
- aggregator: "0x007A66A2a13415DB3613C1a4dd1C942A285902d1",
- fixedExpiryTeller: "0x007FE70dc9797C4198528aE43d8195ffF82Bdc95",
- fixedExpirySDAAuctioneer: "0x007FEA32545a39Ff558a1367BBbC1A22bc7ABEfD",
- fixedExpirySDAv1_1Auctioneer: "" as Address,
- fixedExpiryFPAAuctioneer: "0xFEF9A527ac84836DC9939Ad75eb8ce325bBE0E54",
- fixedExpiryOFDAAuctioneer: "" as Address,
- fixedExpiryOSDAAuctioneer: "" as Address,
- fixedTermTeller: "0x007F7735baF391e207E3aA380bb53c4Bd9a5Fed6",
- fixedTermSDAAuctioneer: "0x007F7A1cb838A872515c8ebd16bE4b14Ef43a222",
- fixedTermSDAv1_1Auctioneer: "" as Address,
- fixedTermFPAAuctioneer: "0xF7F9Ae2415F8Cb89BEebf9662A19f2393e7065e0",
- fixedTermOFDAAuctioneer: "" as Address,
- fixedTermOSDAAuctioneer: "" as Address,
- settlement: "0x007105D27BCe31CcFFA76Fc191886e944606E34a",
-};
-
-const goerliAddresses: ContractAddresses = {
- authority: "0x007A0F48A4e3d74Ab4234adf9eA9EB32f87b4b14",
- aggregator: "0x007A66A2a13415DB3613C1a4dd1C942A285902d1",
- fixedExpiryTeller: "0x007FE70dc9797C4198528aE43d8195ffF82Bdc95",
- fixedExpirySDAAuctioneer: "0x007FEA32545a39Ff558a1367BBbC1A22bc7ABEfD",
- fixedExpirySDAv1_1Auctioneer: "0xFE5DA041e5a3941BA12EbaBA7A7492BEAf91B646",
- fixedExpiryFPAAuctioneer: "0xFEF9A53AA10Ce2C9Ab6519AEE7DF82767F504f55",
- fixedExpiryOFDAAuctioneer: "0xFE0FDA2ACB13249099E5edAc64439ac76C7eF4B6",
- fixedExpiryOSDAAuctioneer: "0xFE05DA9fffc72027C26E2327A9e6339670CD1b90",
- fixedTermTeller: "0x007F7735baF391e207E3aA380bb53c4Bd9a5Fed6",
- fixedTermSDAAuctioneer: "0x007F7A1cb838A872515c8ebd16bE4b14Ef43a222",
- fixedTermSDAv1_1Auctioneer: "0xF75DA09c8538b7AFe8B9D3adC1d626dA5D33467F",
- fixedTermFPAAuctioneer: "0xF7F9A96cDBFEFd70BDa14a8f30EC503b16bCe9b1",
- fixedTermOFDAAuctioneer: "0xF70FDAae514a8b48B83caDa51C0847B46Bb698bd",
- fixedTermOSDAAuctioneer: "0xF705DA9476a172408e1B94b2A7B2eF595A91C29b",
- settlement: "0x007105D27BCe31CcFFA76Fc191886e944606E34a",
-};
-
const arbitrumMainnetAddresses: ContractAddresses = {
authority: "0x007A0F48A4e3d74Ab4234adf9eA9EB32f87b4b14",
aggregator: "0x007A66A2a13415DB3613C1a4dd1C942A285902d1",
@@ -104,228 +43,15 @@ const arbitrumMainnetAddresses: ContractAddresses = {
settlement: "0x007105D27BCe31CcFFA76Fc191886e944606E34a",
};
-const arbitrumGoerliAddresses: ContractAddresses = {
- authority: "0x007A0F48A4e3d74Ab4234adf9eA9EB32f87b4b14",
- aggregator: "0x007A66A2a13415DB3613C1a4dd1C942A285902d1",
- fixedExpiryTeller: "0x007FE70dc9797C4198528aE43d8195ffF82Bdc95",
- fixedExpirySDAAuctioneer: "0x007FEA32545a39Ff558a1367BBbC1A22bc7ABEfD",
- fixedExpirySDAv1_1Auctioneer: "0xFE5DA041e5a3941BA12EbaBA7A7492BEAf91B646",
- fixedExpiryFPAAuctioneer: "0xFEF9A53AA10Ce2C9Ab6519AEE7DF82767F504f55",
- fixedExpiryOFDAAuctioneer: "0xFE0FDA2ACB13249099E5edAc64439ac76C7eF4B6",
- fixedExpiryOSDAAuctioneer: "0xFE05DA9fffc72027C26E2327A9e6339670CD1b90",
- fixedTermTeller: "0x007F7735baF391e207E3aA380bb53c4Bd9a5Fed6",
- fixedTermSDAAuctioneer: "0x007F7A1cb838A872515c8ebd16bE4b14Ef43a222",
- fixedTermSDAv1_1Auctioneer: "0xF75DA09c8538b7AFe8B9D3adC1d626dA5D33467F",
- fixedTermFPAAuctioneer: "0xF7F9A96cDBFEFd70BDa14a8f30EC503b16bCe9b1",
- fixedTermOFDAAuctioneer: "0xF70FDAae514a8b48B83caDa51C0847B46Bb698bd",
- fixedTermOSDAAuctioneer: "0xF705DA9476a172408e1B94b2A7B2eF595A91C29b",
- settlement: "0x007105D27BCe31CcFFA76Fc191886e944606E34a",
-};
-
-const optimismMainnetAddresses: ContractAddresses = {
- authority: "0x007A0F48A4e3d74Ab4234adf9eA9EB32f87b4b14",
- aggregator: "0x007A66A2a13415DB3613C1a4dd1C942A285902d1",
- fixedExpiryTeller: "0x007FE70dc9797C4198528aE43d8195ffF82Bdc95",
- fixedExpirySDAAuctioneer: "" as Address,
- fixedExpirySDAv1_1Auctioneer: "0xFE5DA041e5a3941BA12EbaBA7A7492BEAf91B646",
- fixedExpiryFPAAuctioneer: "0xFEF9A53AA10Ce2C9Ab6519AEE7DF82767F504f55",
- fixedExpiryOFDAAuctioneer: "0xFE0FDA2ACB13249099E5edAc64439ac76C7eF4B6",
- fixedExpiryOSDAAuctioneer: "0xFE05DA9fffc72027C26E2327A9e6339670CD1b90",
- fixedTermTeller: "0x007F7735baF391e207E3aA380bb53c4Bd9a5Fed6",
- fixedTermSDAAuctioneer: "" as Address,
- fixedTermSDAv1_1Auctioneer: "0xF75DA09c8538b7AFe8B9D3adC1d626dA5D33467F",
- fixedTermFPAAuctioneer: "0xF7F9A96cDBFEFd70BDa14a8f30EC503b16bCe9b1",
- fixedTermOFDAAuctioneer: "0xF70FDAae514a8b48B83caDa51C0847B46Bb698bd",
- fixedTermOSDAAuctioneer: "0xF705DA9476a172408e1B94b2A7B2eF595A91C29b",
- settlement: "" as Address,
-};
-
-const optimismGoerliAddresses: ContractAddresses = {
- authority: "0x007A0F48A4e3d74Ab4234adf9eA9EB32f87b4b14",
- aggregator: "0x007A66A2a13415DB3613C1a4dd1C942A285902d1",
- fixedExpiryTeller: "0x007FE70dc9797C4198528aE43d8195ffF82Bdc95",
- fixedExpirySDAAuctioneer: "0x007FEA32545a39Ff558a1367BBbC1A22bc7ABEfD",
- fixedExpirySDAv1_1Auctioneer: "0xFE5DA041e5a3941BA12EbaBA7A7492BEAf91B646",
- fixedExpiryFPAAuctioneer: "0xFEF9A53AA10Ce2C9Ab6519AEE7DF82767F504f55",
- fixedExpiryOFDAAuctioneer: "0xFE0FDA2ACB13249099E5edAc64439ac76C7eF4B6",
- fixedExpiryOSDAAuctioneer: "0xFE05DA9fffc72027C26E2327A9e6339670CD1b90",
- fixedTermTeller: "0x007F7735baF391e207E3aA380bb53c4Bd9a5Fed6",
- fixedTermSDAAuctioneer: "0x007F7A1cb838A872515c8ebd16bE4b14Ef43a222",
- fixedTermSDAv1_1Auctioneer: "0xF75DA09c8538b7AFe8B9D3adC1d626dA5D33467F",
- fixedTermFPAAuctioneer: "0xF7F9A96cDBFEFd70BDa14a8f30EC503b16bCe9b1",
- fixedTermOFDAAuctioneer: "0xF70FDAae514a8b48B83caDa51C0847B46Bb698bd",
- fixedTermOSDAAuctioneer: "0xF705DA9476a172408e1B94b2A7B2eF595A91C29b",
- settlement: "" as Address,
-};
-
-const polygonMumbaiAddresses: ContractAddresses = {
- authority: "0x007A2F0A16bd0874CA2e1FFfAfc2d6B0b876aA8E",
- aggregator: "0x007A6621A9997A633Cb1B757f2f7ffb51310704A",
- fixedExpiryTeller: "0x007FE7c977a584CC54269730d210D889a86Ff9Cf",
- fixedExpirySDAAuctioneer: "0xFE5DA8cF974EaC29606EDce195BF7fAbfC570f1C",
- fixedExpirySDAv1_1Auctioneer: "0xFE5DA8cF974EaC29606EDce195BF7fAbfC570f1C",
- fixedExpiryFPAAuctioneer: "0xFEF9A1BB7c9AFd5F31c58Cf87Cefc639bDfA04Dd",
- fixedExpiryOFDAAuctioneer: "0xFE0FDAD3969BbD8dd94c0bda7b04eC4ab66fFf85",
- fixedExpiryOSDAAuctioneer: "0xFE05DA30aF9cfAc9bCfC911273F83fDcbb04Ae22",
- fixedTermTeller: "0x007F774351e541b8bc720018De0796c4BF5afE3D",
- fixedTermSDAAuctioneer: "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557",
- fixedTermSDAv1_1Auctioneer: "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557",
- fixedTermFPAAuctioneer: "0xF7F9A834CBD3075D4810A9b818f594312C0de168",
- fixedTermOFDAAuctioneer: "0xF70FDA7c9C397CE958320Db5C481939F0a8bb08D",
- fixedTermOSDAAuctioneer: "0xF705DA88cd0AAeed5EA612502Fb9E5E7f1A5c2bD",
- settlement: "0x007102170E678984738f687E5b70F89Ad7ACa85e",
-};
-
-const polygonMainnetAddresses: ContractAddresses = {
- authority: "0x007A2F0A16bd0874CA2e1FFfAfc2d6B0b876aA8E",
- aggregator: "0x007A6621A9997A633Cb1B757f2f7ffb51310704A",
- fixedExpiryTeller: "0x007FE7c977a584CC54269730d210D889a86Ff9Cf",
- fixedExpirySDAAuctioneer: "0xFE5DA8cF974EaC29606EDce195BF7fAbfC570f1C",
- fixedExpirySDAv1_1Auctioneer: "0xFE5DA8cF974EaC29606EDce195BF7fAbfC570f1C",
- fixedExpiryFPAAuctioneer: "0xFEF9A1BB7c9AFd5F31c58Cf87Cefc639bDfA04Dd",
- fixedExpiryOFDAAuctioneer: "0xFE0FDAD3969BbD8dd94c0bda7b04eC4ab66fFf85",
- fixedExpiryOSDAAuctioneer: "0xFE05DA30aF9cfAc9bCfC911273F83fDcbb04Ae22",
- fixedTermTeller: "0x007F774351e541b8bc720018De0796c4BF5afE3D",
- fixedTermSDAAuctioneer:
- "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557" as Address,
- fixedTermSDAv1_1Auctioneer: "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557",
- fixedTermFPAAuctioneer: "0xF7F9A834CBD3075D4810A9b818f594312C0de168",
- fixedTermOFDAAuctioneer: "0xF70FDA7c9C397CE958320Db5C481939F0a8bb08D",
- fixedTermOSDAAuctioneer: "0xF705DA88cd0AAeed5EA612502Fb9E5E7f1A5c2bD",
- settlement: "0x007102170E678984738f687E5b70F89Ad7ACa85e",
-};
-
-const baseSepoliaAddresses: ContractAddresses = {
- authority: "0x007A2F0A16bd0874CA2e1FFfAfc2d6B0b876aA8E",
- aggregator: "0x007A6621A9997A633Cb1B757f2f7ffb51310704A",
- fixedExpiryTeller: "0x007FE7c977a584CC54269730d210D889a86Ff9Cf",
- fixedExpirySDAAuctioneer: "0xFE5DA8cF974EaC29606EDce195BF7fAbfC570f1C",
- fixedExpirySDAv1_1Auctioneer: "0xFE5DA8cF974EaC29606EDce195BF7fAbfC570f1C",
- fixedExpiryFPAAuctioneer: "0xFEF9A1BB7c9AFd5F31c58Cf87Cefc639bDfA04Dd",
- fixedExpiryOFDAAuctioneer: "" as Address,
- fixedExpiryOSDAAuctioneer: "" as Address,
- fixedTermTeller: "0x007F774351e541b8bc720018De0796c4BF5afE3D",
- fixedTermSDAAuctioneer: "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557",
- fixedTermSDAv1_1Auctioneer: "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557",
- fixedTermFPAAuctioneer: "0xF7F9A834CBD3075D4810A9b818f594312C0de168",
- fixedTermOFDAAuctioneer: "" as Address,
- fixedTermOSDAAuctioneer: "" as Address,
- settlement: "0x007102170E678984738f687E5b70F89Ad7ACa85e",
-};
-
-const baseMainnetAddresses: ContractAddresses = {
- authority: "0x007A2F0A16bd0874CA2e1FFfAfc2d6B0b876aA8E",
- aggregator: "0x007A6621A9997A633Cb1B757f2f7ffb51310704A",
- fixedExpiryTeller: "0x007FE7c977a584CC54269730d210D889a86Ff9Cf",
- fixedExpirySDAAuctioneer: "0xFE5DA8cF974EaC29606EDce195BF7fAbfC570f1C",
- fixedExpirySDAv1_1Auctioneer: "0xFE5DA8cF974EaC29606EDce195BF7fAbfC570f1C",
- fixedExpiryFPAAuctioneer: "0xFEF9A1BB7c9AFd5F31c58Cf87Cefc639bDfA04Dd",
- fixedExpiryOFDAAuctioneer: "" as Address,
- fixedExpiryOSDAAuctioneer: "" as Address,
- fixedTermTeller: "0x007F774351e541b8bc720018De0796c4BF5afE3D",
- fixedTermSDAAuctioneer: "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557",
- fixedTermSDAv1_1Auctioneer: "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557",
- fixedTermFPAAuctioneer: "0xF7F9A834CBD3075D4810A9b818f594312C0de168",
- fixedTermOFDAAuctioneer: "" as Address,
- fixedTermOSDAAuctioneer: "" as Address,
- settlement: "0x007102170E678984738f687E5b70F89Ad7ACa85e",
-};
-
-const bscMainnetAddresses: ContractAddresses = {
- authority: "0x007A2F0A16bd0874CA2e1FFfAfc2d6B0b876aA8E",
- aggregator: "0x007A6621A9997A633Cb1B757f2f7ffb51310704A",
- fixedExpiryTeller: "0x007FE7c977a584CC54269730d210D889a86Ff9Cf",
- fixedExpirySDAAuctioneer: "0xFE5DA8cF974EaC29606EDce195BF7fAbfC570f1C",
- fixedExpirySDAv1_1Auctioneer: "0xFE5DA8cF974EaC29606EDce195BF7fAbfC570f1C",
- fixedExpiryFPAAuctioneer: "" as Address,
- fixedExpiryOFDAAuctioneer: "" as Address,
- fixedExpiryOSDAAuctioneer: "" as Address,
- fixedTermTeller: "0x007F774351e541b8bc720018De0796c4BF5afE3D",
- fixedTermSDAAuctioneer:
- "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557" as Address,
- fixedTermSDAv1_1Auctioneer: "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557",
- fixedTermFPAAuctioneer: "" as Address,
- fixedTermOFDAAuctioneer: "" as Address,
- fixedTermOSDAAuctioneer: "" as Address,
- settlement: "0x007102170E678984738f687E5b70F89Ad7ACa85e",
-};
-
-const modeMainnetAddresses: ContractAddresses = {
- authority: "0x007A2F0A16bd0874CA2e1FFfAfc2d6B0b876aA8E",
- aggregator: "0x007A6621A9997A633Cb1B757f2f7ffb51310704A",
- fixedExpiryTeller: "0x007FE7c977a584CC54269730d210D889a86Ff9Cf",
- fixedExpirySDAAuctioneer: "0xFE5DA8cF974EaC29606EDce195BF7fAbfC570f1C",
- fixedExpirySDAv1_1Auctioneer: "0xFE5DA8cF974EaC29606EDce195BF7fAbfC570f1C",
- fixedExpiryFPAAuctioneer: "" as Address,
- fixedExpiryOFDAAuctioneer: "" as Address,
- fixedExpiryOSDAAuctioneer: "" as Address,
- fixedTermTeller: "0x007F774351e541b8bc720018De0796c4BF5afE3D",
- fixedTermSDAAuctioneer:
- "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557" as Address,
- fixedTermSDAv1_1Auctioneer: "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557",
- fixedTermFPAAuctioneer: "0xF7F9A834CBD3075D4810A9b818f594312C0de168",
- fixedTermOFDAAuctioneer: "" as Address,
- fixedTermOSDAAuctioneer: "" as Address,
- settlement: "0x007102170E678984738f687E5b70F89Ad7ACa85e",
-};
-
-const berachainBartio: ContractAddresses = {
- authority: "0x007A2F0A16bd0874CA2e1FFfAfc2d6B0b876aA8E",
- aggregator: "0x007A6621A9997A633Cb1B757f2f7ffb51310704A",
- fixedExpiryTeller: "" as Address,
- fixedExpirySDAAuctioneer: "" as Address,
- fixedExpirySDAv1_1Auctioneer: "" as Address,
- fixedExpiryFPAAuctioneer: "" as Address,
- fixedExpiryOFDAAuctioneer: "" as Address,
- fixedExpiryOSDAAuctioneer: "" as Address,
- fixedTermTeller: "0x007F774351e541b8bc720018De0796c4BF5afE3D",
- fixedTermSDAAuctioneer:
- "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557" as Address,
- fixedTermSDAv1_1Auctioneer: "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557",
- fixedTermFPAAuctioneer: "0xF7F9A834CBD3075D4810A9b818f594312C0de168",
- fixedTermOFDAAuctioneer: "" as Address,
- fixedTermOSDAAuctioneer: "" as Address,
- settlement: "0x007102170E678984738f687E5b70F89Ad7ACa85e",
-};
-
-const sonicAddresses: ContractAddresses = {
- authority: "0x007A0F3b90c97ab8c5eE7f3b142204Ad819edB3A",
- aggregator: "0x007A66b5358D0e2a07C0eE078908517d186c1108",
- fixedExpiryTeller: "" as Address,
- fixedExpirySDAAuctioneer: "" as Address,
- fixedExpirySDAv1_1Auctioneer: "" as Address,
- fixedExpiryFPAAuctioneer: "" as Address,
- fixedExpiryOFDAAuctioneer: "" as Address,
- fixedExpiryOSDAAuctioneer: "" as Address,
- fixedTermTeller: "0x007F774351e541b8bc720018De0796c4BF5afE3D",
- fixedTermSDAAuctioneer:
- "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557" as Address,
- fixedTermSDAv1_1Auctioneer: "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557",
- fixedTermFPAAuctioneer: "0xF7F9A834CBD3075D4810A9b818f594312C0de168",
- fixedTermOFDAAuctioneer: "" as Address,
- fixedTermOSDAAuctioneer: "" as Address,
- settlement: "0x007102170E678984738f687E5b70F89Ad7ACa85e",
-};
-
-const addressesByChainId: Record> = {
- 1: mainnetAddresses as ContractAddresses,
- 5: goerliAddresses,
- 42161: arbitrumMainnetAddresses,
- 421613: arbitrumGoerliAddresses,
- 10: optimismMainnetAddresses as ContractAddresses,
- 56: bscMainnetAddresses,
- 34443: modeMainnetAddresses,
- 420: optimismGoerliAddresses,
- 137: polygonMainnetAddresses,
- 80001: polygonMumbaiAddresses,
- 8453: baseMainnetAddresses,
- 84532: baseSepoliaAddresses,
- 80084: berachainBartio,
- 146: sonicAddresses,
-};
+const addressesByChainId: Record<
+ number,
+ Partial
+> = deployments.reduce((acc, ele) => {
+ return { ...acc, [ele.chain.id]: ele.addresses };
+}, {});
export const getAddresses = (chainId: number) => {
- return addressesByChainId[chainId] ?? mainnetAddresses;
+ return addressesByChainId[chainId];
};
export function getAuctioneerByBondType(
diff --git a/packages/contract-library/src/core/enums.ts b/packages/contract-library/src/core/enums.ts
index 2e16273e..398f4625 100644
--- a/packages/contract-library/src/core/enums.ts
+++ b/packages/contract-library/src/core/enums.ts
@@ -1,5 +1,5 @@
import { abis } from "../abis";
-import { ContractAddresses } from "./address-provider";
+import { ContractAddresses } from "./types";
import { BondType } from "@bond-protocol/types";
export enum Auctioneer {
diff --git a/packages/contract-library/src/core/index.ts b/packages/contract-library/src/core/index.ts
index 972c7559..fdfb74fd 100644
--- a/packages/contract-library/src/core/index.ts
+++ b/packages/contract-library/src/core/index.ts
@@ -2,3 +2,4 @@ export * from "./contract-helper";
export * from "./address-provider";
export * from "./chains";
export * from "./enums";
+export type * from "./types";
diff --git a/packages/contract-library/src/core/types.ts b/packages/contract-library/src/core/types.ts
new file mode 100644
index 00000000..6410d1ab
--- /dev/null
+++ b/packages/contract-library/src/core/types.ts
@@ -0,0 +1,28 @@
+import { Address } from "viem";
+
+export type ContractAddresses = {
+ authority: Address;
+ aggregator: Address;
+ fixedExpiryTeller: Address;
+ fixedExpirySDAAuctioneer: Address;
+ fixedExpirySDAv1_1Auctioneer: Address;
+ fixedExpiryFPAAuctioneer: Address;
+ fixedExpiryOFDAAuctioneer: Address;
+ fixedExpiryOSDAAuctioneer: Address;
+ fixedTermTeller: Address;
+ fixedTermSDAAuctioneer: Address;
+ fixedTermSDAv1_1Auctioneer: Address;
+ fixedTermFPAAuctioneer: Address;
+ fixedTermOFDAAuctioneer: Address;
+ fixedTermOSDAAuctioneer: Address;
+ settlement: Address;
+};
+
+export type AddressesForType = {
+ teller: Address;
+ auctioneer: Address;
+};
+
+export type BaseMarketPricing = "dynamic" | "static";
+export type OracleMarketPricing = "oracle-dynamic" | "oracle-static";
+export type MarketPricing = BaseMarketPricing | OracleMarketPricing;
diff --git a/packages/contract-library/src/deployments/index.ts b/packages/contract-library/src/deployments/index.ts
new file mode 100644
index 00000000..849ea8bc
--- /dev/null
+++ b/packages/contract-library/src/deployments/index.ts
@@ -0,0 +1,8 @@
+import { mainnetDeployments } from "./mainnets";
+import { testnetDeployments } from "./testnets";
+
+export const deployments = [...mainnetDeployments, ...testnetDeployments];
+
+export const deploymentRecord = deployments.reduce((acc, ele) => {
+ return { ...acc, [ele.chain.id]: ele };
+}, {});
diff --git a/packages/contract-library/src/deployments/mainnets/arbitrum.ts b/packages/contract-library/src/deployments/mainnets/arbitrum.ts
new file mode 100644
index 00000000..da958c29
--- /dev/null
+++ b/packages/contract-library/src/deployments/mainnets/arbitrum.ts
@@ -0,0 +1,28 @@
+import type { ContractAddresses } from "../../";
+import { arbitrum } from "viem/chains";
+
+const addresses: ContractAddresses = {
+ authority: "0x007A0F48A4e3d74Ab4234adf9eA9EB32f87b4b14",
+ aggregator: "0x007A66A2a13415DB3613C1a4dd1C942A285902d1",
+ fixedExpiryTeller: "0x007FE70dc9797C4198528aE43d8195ffF82Bdc95",
+ fixedExpirySDAAuctioneer: "0x007FEA32545a39Ff558a1367BBbC1A22bc7ABEfD",
+ fixedExpirySDAv1_1Auctioneer: "0xFE5DA041e5a3941BA12EbaBA7A7492BEAf91B646",
+ fixedExpiryFPAAuctioneer: "0xFEF9A53AA10Ce2C9Ab6519AEE7DF82767F504f55",
+ fixedExpiryOFDAAuctioneer: "0xFE0FDA2ACB13249099E5edAc64439ac76C7eF4B6",
+ fixedExpiryOSDAAuctioneer: "0xFE05DA9fffc72027C26E2327A9e6339670CD1b90",
+ fixedTermTeller: "0x007F7735baF391e207E3aA380bb53c4Bd9a5Fed6",
+ fixedTermSDAAuctioneer: "0x007F7A1cb838A872515c8ebd16bE4b14Ef43a222",
+ fixedTermSDAv1_1Auctioneer: "0xF75DA09c8538b7AFe8B9D3adC1d626dA5D33467F",
+ fixedTermFPAAuctioneer: "0xF7F9A96cDBFEFd70BDa14a8f30EC503b16bCe9b1",
+ fixedTermOFDAAuctioneer: "0xF70FDAae514a8b48B83caDa51C0847B46Bb698bd",
+ fixedTermOSDAAuctioneer: "0xF705DA9476a172408e1B94b2A7B2eF595A91C29b",
+ settlement: "0x007105D27BCe31CcFFA76Fc191886e944606E34a",
+};
+
+export default {
+ chain: arbitrum,
+ addresses,
+ subgraphURL:
+ "https://gateway.thegraph.com/api/subgraphs/id/4ePbdoXWVGRgUFJk2GirF4Gi3X3qcKPhAzWJJvH5M6g1",
+ getRpcURL: (key?: string) => `https://arb-mainnet.g.alchemy.com/v2/${key}`,
+};
diff --git a/packages/contract-library/src/deployments/mainnets/base.ts b/packages/contract-library/src/deployments/mainnets/base.ts
new file mode 100644
index 00000000..688dfd75
--- /dev/null
+++ b/packages/contract-library/src/deployments/mainnets/base.ts
@@ -0,0 +1,29 @@
+import type { ContractAddresses } from "../..";
+import type { Address } from "viem";
+import { base } from "viem/chains";
+
+const addresses: ContractAddresses = {
+ authority: "0x007A2F0A16bd0874CA2e1FFfAfc2d6B0b876aA8E",
+ aggregator: "0x007A6621A9997A633Cb1B757f2f7ffb51310704A",
+ fixedExpiryTeller: "0x007FE7c977a584CC54269730d210D889a86Ff9Cf",
+ fixedExpirySDAAuctioneer: "0xFE5DA8cF974EaC29606EDce195BF7fAbfC570f1C",
+ fixedExpirySDAv1_1Auctioneer: "0xFE5DA8cF974EaC29606EDce195BF7fAbfC570f1C",
+ fixedExpiryFPAAuctioneer: "0xFEF9A1BB7c9AFd5F31c58Cf87Cefc639bDfA04Dd",
+ fixedExpiryOFDAAuctioneer: "" as Address,
+ fixedExpiryOSDAAuctioneer: "" as Address,
+ fixedTermTeller: "0x007F774351e541b8bc720018De0796c4BF5afE3D",
+ fixedTermSDAAuctioneer: "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557",
+ fixedTermSDAv1_1Auctioneer: "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557",
+ fixedTermFPAAuctioneer: "0xF7F9A834CBD3075D4810A9b818f594312C0de168",
+ fixedTermOFDAAuctioneer: "" as Address,
+ fixedTermOSDAAuctioneer: "" as Address,
+ settlement: "0x007102170E678984738f687E5b70F89Ad7ACa85e",
+};
+
+export default {
+ chain: base,
+ addresses: addresses,
+ subgraphURL:
+ "https://gateway.thegraph.com/api/subgraphs/id/8mab7L62yataWPcKSBqcLpLoSw7WU5VLsfwqnHmzzgX1",
+ getRpcURL: (key?: string) => `https://base-mainnet.g.alchemy.com/v2/${key}`,
+};
diff --git a/packages/contract-library/src/deployments/mainnets/bsc.ts b/packages/contract-library/src/deployments/mainnets/bsc.ts
new file mode 100644
index 00000000..9558e2d5
--- /dev/null
+++ b/packages/contract-library/src/deployments/mainnets/bsc.ts
@@ -0,0 +1,30 @@
+import { ContractAddresses } from "../..";
+import { Address } from "viem";
+import { bsc } from "viem/chains";
+
+const addresses: ContractAddresses = {
+ authority: "0x007A2F0A16bd0874CA2e1FFfAfc2d6B0b876aA8E",
+ aggregator: "0x007A6621A9997A633Cb1B757f2f7ffb51310704A",
+ fixedExpiryTeller: "0x007FE7c977a584CC54269730d210D889a86Ff9Cf",
+ fixedExpirySDAAuctioneer: "0xFE5DA8cF974EaC29606EDce195BF7fAbfC570f1C",
+ fixedExpirySDAv1_1Auctioneer: "0xFE5DA8cF974EaC29606EDce195BF7fAbfC570f1C",
+ fixedExpiryFPAAuctioneer: "" as Address,
+ fixedExpiryOFDAAuctioneer: "" as Address,
+ fixedExpiryOSDAAuctioneer: "" as Address,
+ fixedTermTeller: "0x007F774351e541b8bc720018De0796c4BF5afE3D",
+ fixedTermSDAAuctioneer:
+ "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557" as Address,
+ fixedTermSDAv1_1Auctioneer: "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557",
+ fixedTermFPAAuctioneer: "" as Address,
+ fixedTermOFDAAuctioneer: "" as Address,
+ fixedTermOSDAAuctioneer: "" as Address,
+ settlement: "0x007102170E678984738f687E5b70F89Ad7ACa85e",
+};
+
+export default {
+ chain: bsc,
+ addresses,
+ subgraphURL:
+ "https://gateway.thegraph.com/api/subgraphs/id/ZoGqhRHsndEdvqQ6aJeG5xtLRq4LnrMajotrApRyUuM",
+ getRpcURL: (key?: string) => `https://bnb-mainnet.g.alchemy.com/v2/${key}`,
+};
diff --git a/packages/contract-library/src/deployments/mainnets/index.ts b/packages/contract-library/src/deployments/mainnets/index.ts
new file mode 100644
index 00000000..8ba14214
--- /dev/null
+++ b/packages/contract-library/src/deployments/mainnets/index.ts
@@ -0,0 +1,19 @@
+import arbitrum from "./arbitrum";
+import mainnet from "./mainnet";
+import optimism from "./optimism";
+import base from "./base";
+import polygon from "./polygon";
+import sonic from "./sonic";
+import bsc from "./bsc";
+
+export const mainnetDeployments = [
+ arbitrum,
+ mainnet,
+ optimism,
+ base,
+ polygon,
+ sonic,
+ bsc,
+];
+
+export * as arbitrumDeployment from "./arbitrum";
diff --git a/packages/contract-library/src/deployments/mainnets/mainnet.ts b/packages/contract-library/src/deployments/mainnets/mainnet.ts
new file mode 100644
index 00000000..5f9eb6ab
--- /dev/null
+++ b/packages/contract-library/src/deployments/mainnets/mainnet.ts
@@ -0,0 +1,29 @@
+import type { ContractAddresses } from "../..";
+import type { Address } from "viem";
+import { mainnet } from "viem/chains";
+
+const addresses: ContractAddresses = {
+ authority: "0x007A0F48A4e3d74Ab4234adf9eA9EB32f87b4b14",
+ aggregator: "0x007A66A2a13415DB3613C1a4dd1C942A285902d1",
+ fixedExpiryTeller: "0x007FE70dc9797C4198528aE43d8195ffF82Bdc95",
+ fixedExpirySDAAuctioneer: "0x007FEA32545a39Ff558a1367BBbC1A22bc7ABEfD",
+ fixedExpirySDAv1_1Auctioneer: "" as Address,
+ fixedExpiryFPAAuctioneer: "0xFEF9A527ac84836DC9939Ad75eb8ce325bBE0E54",
+ fixedExpiryOFDAAuctioneer: "" as Address,
+ fixedExpiryOSDAAuctioneer: "" as Address,
+ fixedTermTeller: "0x007F7735baF391e207E3aA380bb53c4Bd9a5Fed6",
+ fixedTermSDAAuctioneer: "0x007F7A1cb838A872515c8ebd16bE4b14Ef43a222",
+ fixedTermSDAv1_1Auctioneer: "" as Address,
+ fixedTermFPAAuctioneer: "0xF7F9Ae2415F8Cb89BEebf9662A19f2393e7065e0",
+ fixedTermOFDAAuctioneer: "" as Address,
+ fixedTermOSDAAuctioneer: "" as Address,
+ settlement: "0x007105D27BCe31CcFFA76Fc191886e944606E34a",
+};
+
+export default {
+ chain: mainnet,
+ addresses: addresses,
+ subgraphURL:
+ "https://gateway.thegraph.com/api/subgraphs/id/5RqgP2oXavdheeqPxo4vaiRGnwuPzEMVs94aHJmgrJvX",
+ getRpcURL: (key?: string) => `https://eth-mainnet.g.alchemy.com/v2/${key}`,
+};
diff --git a/packages/contract-library/src/deployments/mainnets/optimism.ts b/packages/contract-library/src/deployments/mainnets/optimism.ts
new file mode 100644
index 00000000..e246bbe5
--- /dev/null
+++ b/packages/contract-library/src/deployments/mainnets/optimism.ts
@@ -0,0 +1,29 @@
+import type { ContractAddresses } from "../..";
+import type { Address } from "viem";
+import { optimism } from "viem/chains";
+
+const addresses: ContractAddresses = {
+ authority: "0x007A0F48A4e3d74Ab4234adf9eA9EB32f87b4b14",
+ aggregator: "0x007A66A2a13415DB3613C1a4dd1C942A285902d1",
+ fixedExpiryTeller: "0x007FE70dc9797C4198528aE43d8195ffF82Bdc95",
+ fixedExpirySDAAuctioneer: "" as Address,
+ fixedExpirySDAv1_1Auctioneer: "0xFE5DA041e5a3941BA12EbaBA7A7492BEAf91B646",
+ fixedExpiryFPAAuctioneer: "0xFEF9A53AA10Ce2C9Ab6519AEE7DF82767F504f55",
+ fixedExpiryOFDAAuctioneer: "0xFE0FDA2ACB13249099E5edAc64439ac76C7eF4B6",
+ fixedExpiryOSDAAuctioneer: "0xFE05DA9fffc72027C26E2327A9e6339670CD1b90",
+ fixedTermTeller: "0x007F7735baF391e207E3aA380bb53c4Bd9a5Fed6",
+ fixedTermSDAAuctioneer: "" as Address,
+ fixedTermSDAv1_1Auctioneer: "0xF75DA09c8538b7AFe8B9D3adC1d626dA5D33467F",
+ fixedTermFPAAuctioneer: "0xF7F9A96cDBFEFd70BDa14a8f30EC503b16bCe9b1",
+ fixedTermOFDAAuctioneer: "0xF70FDAae514a8b48B83caDa51C0847B46Bb698bd",
+ fixedTermOSDAAuctioneer: "0xF705DA9476a172408e1B94b2A7B2eF595A91C29b",
+ settlement: "" as Address,
+};
+
+export default {
+ chain: optimism,
+ addresses: addresses,
+ subgraphURL:
+ "https://gateway.thegraph.com/api/subgraphs/id/36u2MphKvLra96HPfFVYeEtHkj2G62eBe9BJZojFTfWx",
+ getRpcURL: (key?: string) => `https://opt-mainnet.g.alchemy.com/v2/${key}`,
+};
diff --git a/packages/contract-library/src/deployments/mainnets/polygon.ts b/packages/contract-library/src/deployments/mainnets/polygon.ts
new file mode 100644
index 00000000..6cd0b4b7
--- /dev/null
+++ b/packages/contract-library/src/deployments/mainnets/polygon.ts
@@ -0,0 +1,31 @@
+import type { ContractAddresses } from "../..";
+import type { Address } from "viem";
+import { polygon } from "viem/chains";
+
+const addresses: ContractAddresses = {
+ authority: "0x007A2F0A16bd0874CA2e1FFfAfc2d6B0b876aA8E",
+ aggregator: "0x007A6621A9997A633Cb1B757f2f7ffb51310704A",
+ fixedExpiryTeller: "0x007FE7c977a584CC54269730d210D889a86Ff9Cf",
+ fixedExpirySDAAuctioneer: "0xFE5DA8cF974EaC29606EDce195BF7fAbfC570f1C",
+ fixedExpirySDAv1_1Auctioneer: "0xFE5DA8cF974EaC29606EDce195BF7fAbfC570f1C",
+ fixedExpiryFPAAuctioneer: "0xFEF9A1BB7c9AFd5F31c58Cf87Cefc639bDfA04Dd",
+ fixedExpiryOFDAAuctioneer: "0xFE0FDAD3969BbD8dd94c0bda7b04eC4ab66fFf85",
+ fixedExpiryOSDAAuctioneer: "0xFE05DA30aF9cfAc9bCfC911273F83fDcbb04Ae22",
+ fixedTermTeller: "0x007F774351e541b8bc720018De0796c4BF5afE3D",
+ fixedTermSDAAuctioneer:
+ "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557" as Address,
+ fixedTermSDAv1_1Auctioneer: "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557",
+ fixedTermFPAAuctioneer: "0xF7F9A834CBD3075D4810A9b818f594312C0de168",
+ fixedTermOFDAAuctioneer: "0xF70FDA7c9C397CE958320Db5C481939F0a8bb08D",
+ fixedTermOSDAAuctioneer: "0xF705DA88cd0AAeed5EA612502Fb9E5E7f1A5c2bD",
+ settlement: "0x007102170E678984738f687E5b70F89Ad7ACa85e",
+};
+
+export default {
+ chain: polygon,
+ addresses: addresses,
+ subgraphURL:
+ "https://gateway.thegraph.com/api/subgraphs/id/3pfu8JLfU29gum3EmRwy9QMNudnZEzME3aqEpbH6So84",
+ getRpcURL: (key?: string) =>
+ `https://polygon-mainnet.g.alchemy.com/v2/${key}`,
+};
diff --git a/packages/contract-library/src/deployments/mainnets/sonic.ts b/packages/contract-library/src/deployments/mainnets/sonic.ts
new file mode 100644
index 00000000..86ba388b
--- /dev/null
+++ b/packages/contract-library/src/deployments/mainnets/sonic.ts
@@ -0,0 +1,30 @@
+import type { ContractAddresses } from "../..";
+import type { Address } from "viem";
+import { sonic } from "../../chains";
+
+const addresses: ContractAddresses = {
+ authority: "0x007A0F3b90c97ab8c5eE7f3b142204Ad819edB3A",
+ aggregator: "0x007A66b5358D0e2a07C0eE078908517d186c1108",
+ fixedExpiryTeller: "" as Address,
+ fixedExpirySDAAuctioneer: "" as Address,
+ fixedExpirySDAv1_1Auctioneer: "" as Address,
+ fixedExpiryFPAAuctioneer: "" as Address,
+ fixedExpiryOFDAAuctioneer: "" as Address,
+ fixedExpiryOSDAAuctioneer: "" as Address,
+ fixedTermTeller: "0x007F774351e541b8bc720018De0796c4BF5afE3D",
+ fixedTermSDAAuctioneer:
+ "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557" as Address,
+ fixedTermSDAv1_1Auctioneer: "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557",
+ fixedTermFPAAuctioneer: "0xF7F9A834CBD3075D4810A9b818f594312C0de168",
+ fixedTermOFDAAuctioneer: "" as Address,
+ fixedTermOSDAAuctioneer: "" as Address,
+ settlement: "0x007102170E678984738f687E5b70F89Ad7ACa85e",
+};
+
+export default {
+ chain: sonic,
+ addresses: addresses,
+ subgraphURL:
+ "https://gateway.thegraph.com/api/subgraphs/id/44bPCgvSEQVe1aFzxXYMMgdUFyhRk7FxnSD5C6VmJV1D",
+ getRpcURL: (key?: string) => `https://sonic-mainnet.g.alchemy.com/v2/${key}`,
+};
diff --git a/packages/contract-library/src/deployments/testnets/base-sepolia.ts b/packages/contract-library/src/deployments/testnets/base-sepolia.ts
new file mode 100644
index 00000000..cf9e5ae7
--- /dev/null
+++ b/packages/contract-library/src/deployments/testnets/base-sepolia.ts
@@ -0,0 +1,32 @@
+import { ContractAddresses } from "../..";
+import { Address } from "viem";
+import { BondDeployment } from "../types";
+import { baseSepolia } from "viem/chains";
+
+const addresses: ContractAddresses = {
+ authority: "0x007A2F0A16bd0874CA2e1FFfAfc2d6B0b876aA8E",
+ aggregator: "0x007A6621A9997A633Cb1B757f2f7ffb51310704A",
+ fixedExpiryTeller: "0x007FE7c977a584CC54269730d210D889a86Ff9Cf",
+ fixedExpirySDAAuctioneer: "0xFE5DA8cF974EaC29606EDce195BF7fAbfC570f1C",
+ fixedExpirySDAv1_1Auctioneer: "0xFE5DA8cF974EaC29606EDce195BF7fAbfC570f1C",
+ fixedExpiryFPAAuctioneer: "0xFEF9A1BB7c9AFd5F31c58Cf87Cefc639bDfA04Dd",
+ fixedExpiryOFDAAuctioneer: "" as Address,
+ fixedExpiryOSDAAuctioneer: "" as Address,
+ fixedTermTeller: "0x007F774351e541b8bc720018De0796c4BF5afE3D",
+ fixedTermSDAAuctioneer: "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557",
+ fixedTermSDAv1_1Auctioneer: "0xF75DA1E6eA0521da0cb938D2F96bfe1Da5929557",
+ fixedTermFPAAuctioneer: "0xF7F9A834CBD3075D4810A9b818f594312C0de168",
+ fixedTermOFDAAuctioneer: "" as Address,
+ fixedTermOSDAAuctioneer: "" as Address,
+ settlement: "0x007102170E678984738f687E5b70F89Ad7ACa85e",
+};
+
+const deployment: BondDeployment = {
+ addresses,
+ chain: baseSepolia,
+ subgraphURL:
+ "https://gateway.thegraph.com/api/subgraphs/id/3AvuwA5Zn8mF3obaYcvUoRNVN5WFzX8SfN1f362dprag",
+ getRpcURL: (key?: string) => `https://base-sepolia.g.alchemy.com/v2/${key}`,
+};
+
+export default deployment;
diff --git a/packages/contract-library/src/deployments/testnets/index.ts b/packages/contract-library/src/deployments/testnets/index.ts
new file mode 100644
index 00000000..9efaefcf
--- /dev/null
+++ b/packages/contract-library/src/deployments/testnets/index.ts
@@ -0,0 +1,3 @@
+import baseSepolia from "./base-sepolia";
+
+export const testnetDeployments = [baseSepolia];
diff --git a/packages/contract-library/src/deployments/types.ts b/packages/contract-library/src/deployments/types.ts
new file mode 100644
index 00000000..4138e5e4
--- /dev/null
+++ b/packages/contract-library/src/deployments/types.ts
@@ -0,0 +1,9 @@
+import { ContractAddresses } from "../..";
+import { Chain } from "viem";
+
+export type BondDeployment = {
+ addresses: Partial;
+ chain: Chain;
+ subgraphURL: string;
+ getRpcURL: (key?: string) => string;
+};
diff --git a/packages/contract-library/src/index.ts b/packages/contract-library/src/index.ts
index 67acf827..a6bd4b59 100644
--- a/packages/contract-library/src/index.ts
+++ b/packages/contract-library/src/index.ts
@@ -5,4 +5,5 @@ export * from "./modules";
export * from "formatters";
export * from "@bond-protocol/types";
export * from "./chains";
+export * from "./deployments";
export * as chains from "viem/chains";
diff --git a/packages/types/src/chains.ts b/packages/types/src/chains.ts
index 2d4700be..da110945 100644
--- a/packages/types/src/chains.ts
+++ b/packages/types/src/chains.ts
@@ -1,21 +1,3 @@
-export enum CHAIN_ID {
- ETHEREUM_MAINNET = "1",
- POLYGON_MAINNET = "137",
- POLYGON_MUMBAI_TESTNET = "80001",
- BSC_MAINNET = "56",
- AVALANCHE_MAINNET = "43114",
- AVALANCHE_FUJI_TESTNET = "43113",
- ARBITRUM_MAINNET = "42161",
- ARBITRUM_GOERLI_TESTNET = "421613",
- OPTIMISM_MAINNET = "10",
- OPTIMISM_GOERLI_TESTNET = "420",
- BASE_MAINNET = "8453",
- BASE_SEPOLIA = "84532",
- MODE_MAINNET = "34443",
- BERA_BARTIO = "80084",
- SONIC = "146",
-}
-
export const chainLogos: Record = {
1: "/chains/ethereum.png",
10: "/chains/optimism.png",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b5bc0707..8a3c6677 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -70,8 +70,8 @@ importers:
specifier: ^1.4.12
version: 1.4.12(@types/react@18.2.45)(react@18.2.0)(typescript@5.2.2)(viem@1.17.2)
axios:
- specifier: ^1.6.0
- version: 1.6.0
+ specifier: ^1.7.4
+ version: 1.8.4
buffer:
specifier: ^6.0.3
version: 6.0.3
@@ -101,7 +101,7 @@ importers:
version: 5.2.4
openapi-client-axios:
specifier: ^7.3.3
- version: 7.3.3(axios@1.6.0)(js-yaml@4.1.0)
+ version: 7.3.3(axios@1.8.4)(js-yaml@4.1.0)
react:
specifier: ^18.2.0
version: 18.2.0
@@ -278,11 +278,11 @@ importers:
specifier: ^2.0.6
version: 2.0.6
eslint:
- specifier: 8.31.0
- version: 8.31.0
+ specifier: 9.0.0
+ version: 9.0.0
eslint-config-next:
specifier: 13.1.1
- version: 13.1.1(eslint@8.31.0)(typescript@4.9.4)
+ version: 13.1.1(eslint@9.0.0)(typescript@4.9.4)
next:
specifier: 13.5.1
version: 13.5.1(@babel/core@7.23.2)(react-dom@18.2.0)(react@18.2.0)
@@ -3483,6 +3483,21 @@ packages:
eslint: 8.44.0
eslint-visitor-keys: 3.4.1
+ /@eslint-community/eslint-utils@4.4.0(eslint@9.0.0):
+ resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+ dependencies:
+ eslint: 9.0.0
+ eslint-visitor-keys: 3.4.1
+ dev: false
+
+ /@eslint-community/regexpp@4.12.1:
+ resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+ dev: false
+
/@eslint-community/regexpp@4.5.1:
resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
@@ -3504,8 +3519,8 @@ packages:
- supports-color
dev: true
- /@eslint/eslintrc@1.4.1:
- resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==}
+ /@eslint/eslintrc@2.1.0:
+ resolution: {integrity: sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
ajv: 6.12.6
@@ -3519,28 +3534,33 @@ packages:
strip-json-comments: 3.1.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@eslint/eslintrc@2.1.0:
- resolution: {integrity: sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ /@eslint/eslintrc@3.3.1:
+ resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
dependencies:
ajv: 6.12.6
debug: 4.3.4(supports-color@8.1.1)
- espree: 9.6.0
- globals: 13.19.0
- ignore: 5.2.4
+ espree: 10.3.0
+ globals: 14.0.0
+ ignore: 5.3.2
import-fresh: 3.3.0
js-yaml: 4.1.0
minimatch: 3.1.2
strip-json-comments: 3.1.1
transitivePeerDependencies:
- supports-color
+ dev: false
/@eslint/js@8.44.0:
resolution: {integrity: sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ /@eslint/js@9.0.0:
+ resolution: {integrity: sha512-RThY/MnKrhubF6+s1JflwUjPEsnCEmYCWwqa/aRISKWNXGZ9epUwft4bUMM35SdKF9xvBrLydAM1RDHd1Z//ZQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ dev: false
+
/@fal-works/esbuild-plugin-global-externals@2.1.2:
resolution: {integrity: sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==}
dev: true
@@ -4063,7 +4083,7 @@ packages:
graphql-ws: 6.0.4(graphql@16.5.0)(ws@8.18.1)
isomorphic-ws: 5.0.0(ws@8.18.1)
tslib: 2.8.1
- ws: 8.18.1
+ ws: 8.18.1(bufferutil@4.0.6)(utf-8-validate@5.0.9)
transitivePeerDependencies:
- '@fastify/websocket'
- bufferutil
@@ -4101,7 +4121,7 @@ packages:
graphql: 16.5.0
isomorphic-ws: 5.0.0(ws@8.18.1)
tslib: 2.5.0
- ws: 8.18.1
+ ws: 8.18.1(bufferutil@4.0.6)(utf-8-validate@5.0.9)
transitivePeerDependencies:
- bufferutil
- utf-8-validate
@@ -4349,7 +4369,7 @@ packages:
isomorphic-ws: 5.0.0(ws@8.18.1)
sync-fetch: 0.6.0-2
tslib: 2.5.0
- ws: 8.18.1
+ ws: 8.18.1(bufferutil@4.0.6)(utf-8-validate@5.0.9)
transitivePeerDependencies:
- '@fastify/websocket'
- '@types/node'
@@ -4428,6 +4448,18 @@ packages:
transitivePeerDependencies:
- supports-color
+ /@humanwhocodes/config-array@0.12.3:
+ resolution: {integrity: sha512-jsNnTBlMWuTpDkeE3on7+dWJi0D6fdDfeANj/w7MpS8ztROCoLvIO2nG0CcFj+E4k8j4QrSTh4Oryi3i2G669g==}
+ engines: {node: '>=10.10.0'}
+ deprecated: Use @eslint/config-array instead
+ dependencies:
+ '@humanwhocodes/object-schema': 2.0.3
+ debug: 4.3.4(supports-color@8.1.1)
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
/@humanwhocodes/config-array@0.5.0:
resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==}
engines: {node: '>=10.10.0'}
@@ -4446,6 +4478,11 @@ packages:
/@humanwhocodes/object-schema@1.2.1:
resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
+ /@humanwhocodes/object-schema@2.0.3:
+ resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
+ deprecated: Use @eslint/object-schema instead
+ dev: false
+
/@inquirer/confirm@5.1.8(@types/node@16.18.25):
resolution: {integrity: sha512-dNLWCYZvXDjO3rnQfk2iuJNL4Ivwz/T2+C3+WnNfJKsNGSuOs3wAo2F6e0p946gtSAk31nZMfW+MRmYaplPKsg==}
engines: {node: '>=18'}
@@ -5180,7 +5217,6 @@ packages:
/@noble/hashes@1.7.1:
resolution: {integrity: sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==}
engines: {node: ^14.21.3 || >=16}
- dev: true
/@noble/secp256k1@1.7.1:
resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==}
@@ -5398,7 +5434,7 @@ packages:
resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==}
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
dependencies:
- cross-spawn: 7.0.3
+ cross-spawn: 7.0.6
is-glob: 4.0.3
open: 8.4.2
picocolors: 1.0.0
@@ -6160,7 +6196,7 @@ packages:
dependencies:
'@babel/runtime': 7.23.2
'@noble/ed25519': 1.7.1
- '@noble/hashes': 1.3.2
+ '@noble/hashes': 1.7.1
'@noble/secp256k1': 1.7.1
'@solana/buffer-layout': 4.0.0
agentkeepalive: 4.2.1
@@ -7059,7 +7095,7 @@ packages:
util: 0.12.5
util-deprecate: 1.0.2
watchpack: 2.4.0
- ws: 8.13.0(bufferutil@4.0.6)(utf-8-validate@5.0.9)
+ ws: 8.18.1(bufferutil@4.0.6)(utf-8-validate@5.0.9)
transitivePeerDependencies:
- bufferutil
- encoding
@@ -8401,7 +8437,7 @@ packages:
transitivePeerDependencies:
- supports-color
- /@typescript-eslint/parser@5.60.1(eslint@8.31.0)(typescript@4.9.4):
+ /@typescript-eslint/parser@5.60.1(eslint@8.44.0)(typescript@5.2.2):
resolution: {integrity: sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@@ -8413,15 +8449,14 @@ packages:
dependencies:
'@typescript-eslint/scope-manager': 5.60.1
'@typescript-eslint/types': 5.60.1
- '@typescript-eslint/typescript-estree': 5.60.1(typescript@4.9.4)
+ '@typescript-eslint/typescript-estree': 5.60.1(typescript@5.2.2)
debug: 4.3.4(supports-color@8.1.1)
- eslint: 8.31.0
- typescript: 4.9.4
+ eslint: 8.44.0
+ typescript: 5.2.2
transitivePeerDependencies:
- supports-color
- dev: false
- /@typescript-eslint/parser@5.60.1(eslint@8.44.0)(typescript@5.2.2):
+ /@typescript-eslint/parser@5.60.1(eslint@9.0.0)(typescript@4.9.4):
resolution: {integrity: sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@@ -8433,12 +8468,13 @@ packages:
dependencies:
'@typescript-eslint/scope-manager': 5.60.1
'@typescript-eslint/types': 5.60.1
- '@typescript-eslint/typescript-estree': 5.60.1(typescript@5.2.2)
+ '@typescript-eslint/typescript-estree': 5.60.1(typescript@4.9.4)
debug: 4.3.4(supports-color@8.1.1)
- eslint: 8.44.0
- typescript: 5.2.2
+ eslint: 9.0.0
+ typescript: 4.9.4
transitivePeerDependencies:
- supports-color
+ dev: false
/@typescript-eslint/scope-manager@5.60.1:
resolution: {integrity: sha512-Dn/LnN7fEoRD+KspEOV0xDMynEmR3iSHdgNsarlXNLGGtcUok8L4N71dxUgt3YvlO8si7E+BJ5Fe3wb5yUw7DQ==}
@@ -9732,6 +9768,14 @@ packages:
dependencies:
acorn: 8.10.0
+ /acorn-jsx@5.3.2(acorn@8.14.1):
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ acorn: 8.14.1
+ dev: false
+
/acorn-walk@7.2.0:
resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
engines: {node: '>=0.4.0'}
@@ -9753,6 +9797,12 @@ packages:
engines: {node: '>=0.4.0'}
hasBin: true
+ /acorn@8.14.1:
+ resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+ dev: false
+
/add@2.0.6:
resolution: {integrity: sha512-j5QzrmsokwWWp6kUcJQySpbG+xfOBqqKnup3OIk1pz+kB/80SLorZ9V8zHFLO92Lcd+hbvq8bT+zOGoPkmBV0Q==}
dev: false
@@ -10177,10 +10227,10 @@ packages:
- debug
dev: false
- /axios@1.6.0:
- resolution: {integrity: sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==}
+ /axios@1.8.4:
+ resolution: {integrity: sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==}
dependencies:
- follow-redirects: 1.15.2
+ follow-redirects: 1.15.9
form-data: 4.0.0
proxy-from-env: 1.1.0
transitivePeerDependencies:
@@ -11379,7 +11429,6 @@ packages:
path-key: 3.1.1
shebang-command: 2.0.0
which: 2.0.2
- dev: false
/crypto-random-string@2.0.0:
resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
@@ -12652,7 +12701,7 @@ packages:
source-map: 0.6.1
dev: true
- /eslint-config-next@13.1.1(eslint@8.31.0)(typescript@4.9.4):
+ /eslint-config-next@13.1.1(eslint@9.0.0)(typescript@4.9.4):
resolution: {integrity: sha512-/5S2XGWlGaiqrRhzpn51ux5JUSLwx8PVK2keLi5xk7QmhfYB8PqE6R6SlVw6hgnf/VexvUXSrlNJ/su00NhtHQ==}
peerDependencies:
eslint: ^7.23.0 || ^8.0.0
@@ -12663,14 +12712,14 @@ packages:
dependencies:
'@next/eslint-plugin-next': 13.1.1
'@rushstack/eslint-patch': 1.2.0
- '@typescript-eslint/parser': 5.60.1(eslint@8.31.0)(typescript@4.9.4)
- eslint: 8.31.0
+ '@typescript-eslint/parser': 5.60.1(eslint@9.0.0)(typescript@4.9.4)
+ eslint: 9.0.0
eslint-import-resolver-node: 0.3.6
- eslint-import-resolver-typescript: 3.5.3(eslint-plugin-import@2.26.0)(eslint@8.31.0)
- eslint-plugin-import: 2.26.0(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-typescript@3.5.3)(eslint@8.31.0)
- eslint-plugin-jsx-a11y: 6.6.1(eslint@8.31.0)
- eslint-plugin-react: 7.31.10(eslint@8.31.0)
- eslint-plugin-react-hooks: 4.6.0(eslint@8.31.0)
+ eslint-import-resolver-typescript: 3.5.3(eslint-plugin-import@2.26.0)(eslint@9.0.0)
+ eslint-plugin-import: 2.26.0(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-typescript@3.5.3)(eslint@9.0.0)
+ eslint-plugin-jsx-a11y: 6.6.1(eslint@9.0.0)
+ eslint-plugin-react: 7.31.10(eslint@9.0.0)
+ eslint-plugin-react-hooks: 4.6.0(eslint@9.0.0)
typescript: 4.9.4
transitivePeerDependencies:
- eslint-import-resolver-webpack
@@ -12704,7 +12753,7 @@ packages:
- supports-color
dev: false
- /eslint-import-resolver-typescript@3.5.3(eslint-plugin-import@2.26.0)(eslint@8.31.0):
+ /eslint-import-resolver-typescript@3.5.3(eslint-plugin-import@2.26.0)(eslint@9.0.0):
resolution: {integrity: sha512-njRcKYBc3isE42LaTcJNVANR3R99H9bAxBDMNDr2W7yq5gYPxbU3MkdhsQukxZ/Xg9C2vcyLlDsbKfRDg0QvCQ==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
@@ -12713,8 +12762,8 @@ packages:
dependencies:
debug: 4.3.4(supports-color@8.1.1)
enhanced-resolve: 5.10.0
- eslint: 8.31.0
- eslint-plugin-import: 2.26.0(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-typescript@3.5.3)(eslint@8.31.0)
+ eslint: 9.0.0
+ eslint-plugin-import: 2.26.0(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-typescript@3.5.3)(eslint@9.0.0)
get-tsconfig: 4.3.0
globby: 13.2.2
is-core-module: 2.12.0
@@ -12724,7 +12773,7 @@ packages:
- supports-color
dev: false
- /eslint-module-utils@2.7.4(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-node@0.3.6)(eslint-import-resolver-typescript@3.5.3)(eslint@8.31.0):
+ /eslint-module-utils@2.7.4(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-node@0.3.6)(eslint-import-resolver-typescript@3.5.3)(eslint@9.0.0):
resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==}
engines: {node: '>=4'}
peerDependencies:
@@ -12745,11 +12794,11 @@ packages:
eslint-import-resolver-webpack:
optional: true
dependencies:
- '@typescript-eslint/parser': 5.60.1(eslint@8.31.0)(typescript@4.9.4)
+ '@typescript-eslint/parser': 5.60.1(eslint@9.0.0)(typescript@4.9.4)
debug: 3.2.7(supports-color@8.1.1)
- eslint: 8.31.0
+ eslint: 9.0.0
eslint-import-resolver-node: 0.3.6
- eslint-import-resolver-typescript: 3.5.3(eslint-plugin-import@2.26.0)(eslint@8.31.0)
+ eslint-import-resolver-typescript: 3.5.3(eslint-plugin-import@2.26.0)(eslint@9.0.0)
transitivePeerDependencies:
- supports-color
dev: false
@@ -12763,7 +12812,7 @@ packages:
globals: 11.12.0
dev: true
- /eslint-plugin-import@2.26.0(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-typescript@3.5.3)(eslint@8.31.0):
+ /eslint-plugin-import@2.26.0(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-typescript@3.5.3)(eslint@9.0.0):
resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==}
engines: {node: '>=4'}
peerDependencies:
@@ -12773,14 +12822,14 @@ packages:
'@typescript-eslint/parser':
optional: true
dependencies:
- '@typescript-eslint/parser': 5.60.1(eslint@8.31.0)(typescript@4.9.4)
+ '@typescript-eslint/parser': 5.60.1(eslint@9.0.0)(typescript@4.9.4)
array-includes: 3.1.6
array.prototype.flat: 1.3.1
debug: 2.6.9
doctrine: 2.1.0
- eslint: 8.31.0
+ eslint: 9.0.0
eslint-import-resolver-node: 0.3.6
- eslint-module-utils: 2.7.4(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-node@0.3.6)(eslint-import-resolver-typescript@3.5.3)(eslint@8.31.0)
+ eslint-module-utils: 2.7.4(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-node@0.3.6)(eslint-import-resolver-typescript@3.5.3)(eslint@9.0.0)
has: 1.0.3
is-core-module: 2.12.0
is-glob: 4.0.3
@@ -12794,7 +12843,7 @@ packages:
- supports-color
dev: false
- /eslint-plugin-jsx-a11y@6.6.1(eslint@8.31.0):
+ /eslint-plugin-jsx-a11y@6.6.1(eslint@9.0.0):
resolution: {integrity: sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==}
engines: {node: '>=4.0'}
peerDependencies:
@@ -12808,7 +12857,7 @@ packages:
axobject-query: 2.2.0
damerau-levenshtein: 1.0.8
emoji-regex: 9.2.2
- eslint: 8.31.0
+ eslint: 9.0.0
has: 1.0.3
jsx-ast-utils: 3.3.3
language-tags: 1.0.5
@@ -12816,23 +12865,23 @@ packages:
semver: 6.3.1
dev: false
- /eslint-plugin-react-hooks@4.6.0(eslint@8.31.0):
+ /eslint-plugin-react-hooks@4.6.0(eslint@8.44.0):
resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
engines: {node: '>=10'}
peerDependencies:
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
dependencies:
- eslint: 8.31.0
- dev: false
+ eslint: 8.44.0
+ dev: true
- /eslint-plugin-react-hooks@4.6.0(eslint@8.44.0):
+ /eslint-plugin-react-hooks@4.6.0(eslint@9.0.0):
resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
engines: {node: '>=10'}
peerDependencies:
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
dependencies:
- eslint: 8.44.0
- dev: true
+ eslint: 9.0.0
+ dev: false
/eslint-plugin-react-refresh@0.3.5(eslint@8.44.0):
resolution: {integrity: sha512-61qNIsc7fo9Pp/mju0J83kzvLm0Bsayu7OQSLEoJxLDCBjIIyb87bkzufoOvdDxLkSlMfkF7UxomC4+eztUBSA==}
@@ -12842,7 +12891,7 @@ packages:
eslint: 8.44.0
dev: true
- /eslint-plugin-react@7.31.10(eslint@8.31.0):
+ /eslint-plugin-react@7.31.10(eslint@9.0.0):
resolution: {integrity: sha512-e4N/nc6AAlg4UKW/mXeYWd3R++qUano5/o+t+wnWxIf+bLsOaH3a4q74kX3nDjYym3VBN4HyO9nEn1GcAqgQOA==}
engines: {node: '>=4'}
peerDependencies:
@@ -12851,7 +12900,7 @@ packages:
array-includes: 3.1.6
array.prototype.flatmap: 1.3.2
doctrine: 2.1.0
- eslint: 8.31.0
+ eslint: 9.0.0
estraverse: 5.3.0
jsx-ast-utils: 3.3.3
minimatch: 3.1.2
@@ -12895,6 +12944,14 @@ packages:
esrecurse: 4.3.0
estraverse: 5.3.0
+ /eslint-scope@8.3.0:
+ resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
+ dev: false
+
/eslint-utils@2.1.0:
resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==}
engines: {node: '>=6'}
@@ -12902,16 +12959,6 @@ packages:
eslint-visitor-keys: 1.3.0
dev: true
- /eslint-utils@3.0.0(eslint@8.31.0):
- resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
- engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
- peerDependencies:
- eslint: '>=5'
- dependencies:
- eslint: 8.31.0
- eslint-visitor-keys: 2.1.0
- dev: false
-
/eslint-visitor-keys@1.3.0:
resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==}
engines: {node: '>=4'}
@@ -12920,11 +12967,17 @@ packages:
/eslint-visitor-keys@2.1.0:
resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
engines: {node: '>=10'}
+ dev: true
/eslint-visitor-keys@3.4.1:
resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ /eslint-visitor-keys@4.2.0:
+ resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ dev: false
+
/eslint@7.32.0:
resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==}
engines: {node: ^10.12.0 || >=12.0.0}
@@ -12974,12 +13027,15 @@ packages:
- supports-color
dev: true
- /eslint@8.31.0:
- resolution: {integrity: sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==}
+ /eslint@8.44.0:
+ resolution: {integrity: sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
hasBin: true
dependencies:
- '@eslint/eslintrc': 1.4.1
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.44.0)
+ '@eslint-community/regexpp': 4.5.1
+ '@eslint/eslintrc': 2.1.0
+ '@eslint/js': 8.44.0
'@humanwhocodes/config-array': 0.11.10
'@humanwhocodes/module-importer': 1.0.1
'@nodelib/fs.walk': 1.2.8
@@ -12990,7 +13046,6 @@ packages:
doctrine: 3.0.0
escape-string-regexp: 4.0.0
eslint-scope: 7.2.0
- eslint-utils: 3.0.0(eslint@8.31.0)
eslint-visitor-keys: 3.4.1
espree: 9.6.0
esquery: 1.5.0
@@ -13000,13 +13055,12 @@ packages:
find-up: 5.0.0
glob-parent: 6.0.2
globals: 13.19.0
- grapheme-splitter: 1.0.4
+ graphemer: 1.4.0
ignore: 5.2.4
import-fresh: 3.3.0
imurmurhash: 0.1.4
is-glob: 4.0.3
is-path-inside: 3.0.3
- js-sdsl: 4.1.4
js-yaml: 4.1.0
json-stable-stringify-without-jsonify: 1.0.1
levn: 0.4.1
@@ -13014,49 +13068,43 @@ packages:
minimatch: 3.1.2
natural-compare: 1.4.0
optionator: 0.9.3
- regexpp: 3.2.0
strip-ansi: 6.0.1
strip-json-comments: 3.1.1
text-table: 0.2.0
transitivePeerDependencies:
- supports-color
- dev: false
- /eslint@8.44.0:
- resolution: {integrity: sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ /eslint@9.0.0:
+ resolution: {integrity: sha512-IMryZ5SudxzQvuod6rUdIUz29qFItWx281VhtFVc2Psy/ZhlCeD/5DT6lBIJ4H3G+iamGJoTln1v+QSuPw0p7Q==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.44.0)
- '@eslint-community/regexpp': 4.5.1
- '@eslint/eslintrc': 2.1.0
- '@eslint/js': 8.44.0
- '@humanwhocodes/config-array': 0.11.10
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0)
+ '@eslint-community/regexpp': 4.12.1
+ '@eslint/eslintrc': 3.3.1
+ '@eslint/js': 9.0.0
+ '@humanwhocodes/config-array': 0.12.3
'@humanwhocodes/module-importer': 1.0.1
'@nodelib/fs.walk': 1.2.8
ajv: 6.12.6
chalk: 4.1.2
- cross-spawn: 7.0.3
+ cross-spawn: 7.0.6
debug: 4.3.4(supports-color@8.1.1)
- doctrine: 3.0.0
escape-string-regexp: 4.0.0
- eslint-scope: 7.2.0
- eslint-visitor-keys: 3.4.1
- espree: 9.6.0
+ eslint-scope: 8.3.0
+ eslint-visitor-keys: 4.2.0
+ espree: 10.3.0
esquery: 1.5.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
- file-entry-cache: 6.0.1
+ file-entry-cache: 8.0.0
find-up: 5.0.0
glob-parent: 6.0.2
- globals: 13.19.0
graphemer: 1.4.0
- ignore: 5.2.4
- import-fresh: 3.3.0
+ ignore: 5.3.2
imurmurhash: 0.1.4
is-glob: 4.0.3
is-path-inside: 3.0.3
- js-yaml: 4.1.0
json-stable-stringify-without-jsonify: 1.0.1
levn: 0.4.1
lodash.merge: 4.6.2
@@ -13064,10 +13112,19 @@ packages:
natural-compare: 1.4.0
optionator: 0.9.3
strip-ansi: 6.0.1
- strip-json-comments: 3.1.1
text-table: 0.2.0
transitivePeerDependencies:
- supports-color
+ dev: false
+
+ /espree@10.3.0:
+ resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ dependencies:
+ acorn: 8.14.1
+ acorn-jsx: 5.3.2(acorn@8.14.1)
+ eslint-visitor-keys: 4.2.0
+ dev: false
/espree@7.3.1:
resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==}
@@ -13518,6 +13575,13 @@ packages:
dependencies:
flat-cache: 3.0.4
+ /file-entry-cache@8.0.0:
+ resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
+ engines: {node: '>=16.0.0'}
+ dependencies:
+ flat-cache: 4.0.1
+ dev: false
+
/file-system-cache@2.3.0:
resolution: {integrity: sha512-l4DMNdsIPsVnKrgEXbJwDJsA5mB8rGwHYERMgqQx/xAUtChPJMre1bXBzDEqqVbWv9AIbFezXMxeEkZDSrXUOQ==}
dependencies:
@@ -13630,9 +13694,21 @@ packages:
flatted: 3.2.7
rimraf: 3.0.2
+ /flat-cache@4.0.1:
+ resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
+ engines: {node: '>=16'}
+ dependencies:
+ flatted: 3.3.3
+ keyv: 4.5.4
+ dev: false
+
/flatted@3.2.7:
resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
+ /flatted@3.3.3:
+ resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
+ dev: false
+
/flow-parser@0.205.0:
resolution: {integrity: sha512-ZJ6VuLe/BoqeI4GsF+ZuzlpfGi3FCnBrb4xDYhgEJxRt7SAj3ibRuRSsuJSRcY+lQhPZRPNbNWiQqFMxramUzw==}
engines: {node: '>=0.4.0'}
@@ -13648,6 +13724,16 @@ packages:
optional: true
dev: false
+ /follow-redirects@1.15.9:
+ resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+ dev: false
+
/for-each@0.3.3:
resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
dependencies:
@@ -13662,7 +13748,7 @@ packages:
resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==}
engines: {node: '>=8.0.0'}
dependencies:
- cross-spawn: 7.0.3
+ cross-spawn: 7.0.6
signal-exit: 3.0.7
dev: true
@@ -14101,6 +14187,11 @@ packages:
dependencies:
type-fest: 0.20.2
+ /globals@14.0.0:
+ resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
+ engines: {node: '>=18'}
+ dev: false
+
/globalthis@1.0.3:
resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
engines: {node: '>= 0.4'}
@@ -14237,7 +14328,7 @@ packages:
optional: true
dependencies:
graphql: 16.5.0
- ws: 8.18.1
+ ws: 8.18.1(bufferutil@4.0.6)(utf-8-validate@5.0.9)
dev: true
/graphql@16.5.0:
@@ -14582,7 +14673,6 @@ packages:
/ignore@5.3.2:
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
engines: {node: '>= 4'}
- dev: true
/immutable@3.7.6:
resolution: {integrity: sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==}
@@ -15111,7 +15201,7 @@ packages:
peerDependencies:
ws: '*'
dependencies:
- ws: 8.18.1
+ ws: 8.18.1(bufferutil@4.0.6)(utf-8-validate@5.0.9)
dev: true
/isows@1.0.3(ws@8.13.0):
@@ -15119,7 +15209,7 @@ packages:
peerDependencies:
ws: '*'
dependencies:
- ws: 8.13.0(bufferutil@4.0.6)(utf-8-validate@5.0.9)
+ ws: 8.13.0
/isstream@0.1.2:
resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==}
@@ -15743,10 +15833,6 @@ packages:
resolution: {integrity: sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==}
dev: true
- /js-sdsl@4.1.4:
- resolution: {integrity: sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw==}
- dev: false
-
/js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
@@ -15853,6 +15939,10 @@ packages:
engines: {node: '>=6'}
hasBin: true
+ /json-buffer@3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+ dev: false
+
/json-parse-even-better-errors@2.3.1:
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
@@ -15952,6 +16042,12 @@ packages:
readable-stream: 3.6.0
dev: false
+ /keyv@4.5.4:
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+ dependencies:
+ json-buffer: 3.0.1
+ dev: false
+
/keyvaluestorage-interface@1.0.0:
resolution: {integrity: sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==}
dev: false
@@ -17100,13 +17196,13 @@ packages:
- debug
dev: false
- /openapi-client-axios@7.3.3(axios@1.6.0)(js-yaml@4.1.0):
+ /openapi-client-axios@7.3.3(axios@1.8.4)(js-yaml@4.1.0):
resolution: {integrity: sha512-4ZvdCyrbLZzMvggLDQdBJjUEgRMQDrVNeg+G5sFi8pY8jM4GH7mv2YloXsFX8dY7zwoHEW8zclhONR8pbtBQoA==}
peerDependencies:
axios: '>=0.25.0'
js-yaml: ^4.1.0
dependencies:
- axios: 1.6.0
+ axios: 1.8.4
bath-es5: 3.0.3
dereference-json-schema: 0.2.1
js-yaml: 4.1.0
@@ -18356,6 +18452,7 @@ packages:
/regexpp@3.2.0:
resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==}
engines: {node: '>=8'}
+ dev: true
/regexpu-core@5.3.2:
resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==}
@@ -18573,7 +18670,7 @@ packages:
'@babel/runtime': 7.23.2
eventemitter3: 4.0.7
uuid: 8.3.2
- ws: 8.13.0(bufferutil@4.0.6)(utf-8-validate@5.0.9)
+ ws: 8.18.1(bufferutil@4.0.6)(utf-8-validate@5.0.9)
optionalDependencies:
bufferutil: 4.0.6
utf-8-validate: 5.0.9
@@ -20613,7 +20710,7 @@ packages:
abitype: 0.9.8(typescript@5.2.2)(zod@3.22.4)
isows: 1.0.3(ws@8.13.0)
typescript: 5.2.2
- ws: 8.13.0(bufferutil@4.0.6)(utf-8-validate@5.0.9)
+ ws: 8.13.0
transitivePeerDependencies:
- bufferutil
- utf-8-validate
@@ -21087,7 +21184,7 @@ packages:
utf-8-validate:
optional: true
- /ws@8.13.0(bufferutil@4.0.6)(utf-8-validate@5.0.9):
+ /ws@8.13.0:
resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==}
engines: {node: '>=10.0.0'}
peerDependencies:
@@ -21098,11 +21195,8 @@ packages:
optional: true
utf-8-validate:
optional: true
- dependencies:
- bufferutil: 4.0.6
- utf-8-validate: 5.0.9
- /ws@8.18.1:
+ /ws@8.18.1(bufferutil@4.0.6)(utf-8-validate@5.0.9):
resolution: {integrity: sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==}
engines: {node: '>=10.0.0'}
peerDependencies:
@@ -21113,7 +21207,9 @@ packages:
optional: true
utf-8-validate:
optional: true
- dev: true
+ dependencies:
+ bufferutil: 4.0.6
+ utf-8-validate: 5.0.9
/xml-name-validator@3.0.0:
resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==}