UNPKG

@antefinance/ante-sdk

Version:

Library for interacting with Ante smart contracts

255 lines (247 loc) 6.5 kB
import { ChainId, GateTypeEnum, Network, GrantPoolVersion, GiveawayPoolVersion, HashTreeIndexVersion, MetaPoolVersion, Version, IOUVersion, TaskPoolVersion, USD1Version, TestTokenVersion, } from '@types'; import dtsConfig from './dts.config'; import factoryConfigv05 from './v0.5/factory.config'; import factoryConfigv051 from './v0.5.1/factory.config'; import factoryConfigv052 from './v0.5.2/factory.config'; import factoryConfigv06 from './v0.6/factory.config'; import grantPoolConfig from './grant-pool.config'; import grantPoolV2Config from './grant-pool-v2.config'; import testTokenConfig from './test-token.config'; import giveawayPoolConfig from './giveaway-pool.config'; import metaPoolConfig from './meta-pool.config'; import metaPool001Config from './meta-pool-001.config'; import metaPool002Config from './meta-pool-002.config'; import hashTreeIndexConfig from './hash-tree-index.config'; import hashTreeIndexV2Config from './hash-tree-index-v2.config'; import zkIOU721FactoryConfig from './iou/zk-iou-721-factory.config'; import minGrantV2ContributionConfig from './iou/gate/min-grant-v2-contribution.config'; import minGrantV2Contribution2Config from './iou/gate/min-grant-v2-contribution-2.config'; import llamaConfig from './iou/gate/llama.config'; import gateConfig from './gate'; import { metaPoolV01Abi } from '@contracts/AnteMetaPoolV01'; import { metaPoolV001Abi } from '@contracts/AnteMetaPoolV001'; import { metaPoolV002Abi } from '@contracts/AnteMetaPoolV002'; import { grantPoolAbi } from '@contracts/AnteGrantPool'; import { giveawayPoolAbi } from '@contracts/AnteGiveawayPool'; import { hashTreeIndexAbi } from '@contracts/AnteHashTreeIndex'; import { hashTreeIndexV2Abi } from '@contracts/AnteHashTreeIndexV2'; import { allowlistAnteGateAbi } from '@contracts/gates/AllowlistAnteGate'; import { nftAnteGateAbi } from '@contracts/gates/NFTAnteGate'; import { zupassAnteGateAbi } from '@contracts/gates/ZupassAnteGate'; import { grantPoolV2Abi } from '@contracts/AnteGrantPoolV2'; import { grantPoolV2AlphaAbi } from '@contracts/AnteGrantPoolV2.0'; import { ZKIOU721Abi } from '@contracts/ZKAnteIOU721'; import { ZKIOU721FactoryAbi } from '@contracts/ZKAnteIOU721Factory'; import { grantIOUMintGateAbi } from '@contracts/AnteGrantIOUMintGate'; import grantPoolV2AlphaConfig from './grant-pool-v2-alpha.config'; import { taskPoolAbi } from '@contracts/AnteTaskPool'; import taskPoolConfig from './task-pool.config'; import usd1Config from './usd1.config'; import { USD1Abi } from '@contracts/USD1'; import { erc20Abi } from 'viem'; export type IOUGateTypeEnum = | 'minGrantV2Contribution' | 'minGrantV2Contribution2' | 'llama'; export type FactoryConfig = { POOL_FACTORY: string; }; export type DTSConfig = { PROXY_ADDRESS: string; }; export type AnteConfig = { factory: { [key in Version]?: { [network in Network]?: FactoryConfig; }; }; decentralizedTrustScore: { [network in Network]?: DTSConfig; }; metaPool: { [key in MetaPoolVersion]?: { [network in ChainId]?: string; }; }; grantPool: { [key in GrantPoolVersion]?: { [network in ChainId]?: string; }; }; taskPool: { [key in TaskPoolVersion]?: { [network in ChainId]?: string; }; }; giveawayPool: { [key in GiveawayPoolVersion]?: { [network in ChainId]?: string; }; }; hashTreeIndex: { [key in HashTreeIndexVersion]?: { [network in ChainId]?: string; }; }; gate: { [key in GateTypeEnum]?: { [network in ChainId]?: string; }; }; iouFactory: { [key in IOUVersion]?: { [network in ChainId]?: string; }; }; iouGate: { [key in IOUGateTypeEnum]?: { [network in ChainId]?: string; }; }; usd1: { [key in USD1Version]?: { [network in ChainId]?: string; }; }; testToken: { [key in TestTokenVersion]?: { [network in ChainId]?: string; }; }; }; export const defaultConfig: AnteConfig = { factory: { 'v0.5': factoryConfigv05, 'v0.5.1': factoryConfigv051, 'v0.5.2': factoryConfigv052, 'v0.6': factoryConfigv06, }, decentralizedTrustScore: dtsConfig, metaPool: { v01: metaPoolConfig, v001: metaPool001Config, v002: metaPool002Config, }, grantPool: { v01: grantPoolConfig, v2Alpha: grantPoolV2AlphaConfig, v2: grantPoolV2Config, }, giveawayPool: { v01: giveawayPoolConfig, }, taskPool: { v01: taskPoolConfig, }, hashTreeIndex: { v1: hashTreeIndexConfig, v2: hashTreeIndexV2Config, }, gate: gateConfig, iouFactory: { v1: zkIOU721FactoryConfig, }, iouGate: { minGrantV2Contribution: minGrantV2ContributionConfig, minGrantV2Contribution2: minGrantV2Contribution2Config, llama: llamaConfig, }, usd1: { v1: usd1Config, }, testToken: { v1: testTokenConfig, }, }; export type AbiConfig = { metaPool: { [key in MetaPoolVersion]?: readonly any[]; }; grantPool: { [key in GrantPoolVersion]?: readonly any[]; }; giveawayPool: { [key in GiveawayPoolVersion]?: readonly any[]; }; hashTreeIndex: { [key in HashTreeIndexVersion]?: readonly any[]; }; taskPool: { [key in TaskPoolVersion]?: readonly any[]; }; gate: { [key in GateTypeEnum]?: readonly any[]; }; iou: { [key in IOUVersion]?: readonly any[]; }; iouFactory: { [key in IOUVersion]?: readonly any[]; }; iouGate: { [key in IOUGateTypeEnum]?: readonly any[]; }; usd1: { [key in USD1Version]?: readonly any[]; }; testToken: { [key in TestTokenVersion]?: readonly any[]; }; }; export const abis: AbiConfig = { metaPool: { v01: metaPoolV01Abi, v001: metaPoolV001Abi, v002: metaPoolV002Abi, }, grantPool: { v01: grantPoolAbi, v2Alpha: grantPoolV2AlphaAbi, v2: grantPoolV2Abi, }, giveawayPool: { v01: giveawayPoolAbi, }, hashTreeIndex: { v1: hashTreeIndexAbi, v2: hashTreeIndexV2Abi, }, taskPool: { v01: taskPoolAbi, }, gate: { [GateTypeEnum.ALLOWLIST]: allowlistAnteGateAbi, [GateTypeEnum.NFT]: nftAnteGateAbi, [GateTypeEnum.ZUPASS]: zupassAnteGateAbi, }, iou: { v1: ZKIOU721Abi, }, iouFactory: { v1: ZKIOU721FactoryAbi, }, iouGate: { minGrantV2Contribution: grantIOUMintGateAbi, minGrantV2Contribution2: grantIOUMintGateAbi, llama: grantIOUMintGateAbi, }, usd1: { v1: USD1Abi, }, testToken: { v1: erc20Abi, }, };