@merkl/api 0.20.170 → 0.20.172
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/database/api/.generated/drizzle/schema.d.ts +57 -0
- package/dist/database/api/.generated/drizzle/schema.js +52 -4
- package/dist/database/api/.generated/drizzle/schema.ts +52 -4
- package/dist/database/api/.generated/edge.js +13 -7
- package/dist/database/api/.generated/index-browser.js +10 -4
- package/dist/database/api/.generated/index.d.ts +1624 -39
- package/dist/database/api/.generated/index.js +13 -7
- package/dist/database/api/.generated/package.json +1 -1
- package/dist/database/api/.generated/schema.prisma +23 -13
- package/dist/database/api/.generated/wasm.js +10 -4
- package/dist/src/eden/index.d.ts +80 -15
- package/dist/src/engine/deprecated/dynamicData/factory.js +0 -1
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/helpers/ownerFinder.js +1 -0
- package/dist/src/engine/implementations/Erc20/subTypes/factories.js +4 -0
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/termmax/metadata.d.ts +17 -0
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/termmax/metadata.js +24 -0
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/termmax/tvl.d.ts +6 -0
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/termmax/tvl.js +69 -0
- package/dist/src/engine/implementations/Erc20/subTypes/index.d.ts +2 -1
- package/dist/src/engine/implementations/Erc20/subTypes/index.js +1 -0
- package/dist/src/engine/implementations/JsonAirdrop/metadata.d.ts +2 -2
- package/dist/src/engine/implementations/Locker/tvl.js +7 -2
- package/dist/src/engine/metadata/factory.js +0 -1
- package/dist/src/index.d.ts +28 -5
- package/dist/src/modules/v4/campaign/campaign.controller.d.ts +11 -1
- package/dist/src/modules/v4/campaign/campaign.model.d.ts +4 -0
- package/dist/src/modules/v4/campaign/campaign.model.js +2 -0
- package/dist/src/modules/v4/campaign/campaign.repository.d.ts +16 -0
- package/dist/src/modules/v4/campaign/campaign.service.d.ts +25 -1
- package/dist/src/modules/v4/campaign/campaign.service.js +3 -1
- package/dist/src/modules/v4/campaign/campaign.test.controller.d.ts +6 -2
- package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +8 -2
- package/dist/src/modules/v4/opportunity/opportunity.model.d.ts +2 -0
- package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +10 -0
- package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +13 -3
- package/dist/src/modules/v4/protocol/protocol.model.d.ts +1 -1
- package/dist/src/modules/v4/protocol/protocol.model.js +1 -0
- package/dist/src/modules/v4/protocol/protocol.repository.d.ts +2 -0
- package/dist/src/modules/v4/reward/reward.model.d.ts +3 -1
- package/dist/src/modules/v4/reward/reward.repository.d.ts +2 -0
- package/dist/src/modules/v4/reward/reward.service.d.ts +9 -0
- package/dist/src/modules/v4/reward/reward.service.js +2 -1
- package/dist/src/modules/v4/router.d.ts +28 -5
- package/dist/src/modules/v4/user/user.controller.d.ts +3 -0
- package/dist/tsconfig.package.tsbuildinfo +1 -1
- package/package.json +1 -1
@@ -7,6 +7,8 @@ import { LendleMetadata } from "./implementations/lendleVaults/metadata";
|
|
7
7
|
import { LendleTVLBuilder } from "./implementations/lendleVaults/tvl";
|
8
8
|
import { SuperlendMetadata } from "./implementations/superlend/metadata";
|
9
9
|
import { SuperlendTVLBuilder } from "./implementations/superlend/tvl";
|
10
|
+
import { TermMaxMetadata } from "./implementations/termmax/metadata";
|
11
|
+
import { TermMaxTVLBuilder } from "./implementations/termmax/tvl";
|
10
12
|
/**
|
11
13
|
* @dev TYPE SAFETY DISABLED FOR NOW AS WE DON'T HAVE ALL THE CAMPAIGNS IMPLEMENTED
|
12
14
|
*
|
@@ -20,6 +22,7 @@ const tvlMap = {
|
|
20
22
|
[Erc20SubType.euler_borrow]: new EulerTVLBuilder(),
|
21
23
|
[Erc20SubType.euler_lend]: new EulerTVLBuilder(),
|
22
24
|
[Erc20SubType.lendle_vaults]: new LendleTVLBuilder(),
|
25
|
+
[Erc20SubType.termmax]: new TermMaxTVLBuilder(),
|
23
26
|
};
|
24
27
|
export const erc20SubTypeTVLBuilderFactory = (erc20Subtype) => {
|
25
28
|
if (!tvlMap[erc20Subtype]) {
|
@@ -40,6 +43,7 @@ const metadataMap = {
|
|
40
43
|
[Erc20SubType.euler_borrow]: new EulerMetadata(),
|
41
44
|
[Erc20SubType.euler_lend]: new EulerMetadata(),
|
42
45
|
[Erc20SubType.lendle_vaults]: new LendleMetadata(),
|
46
|
+
[Erc20SubType.termmax]: new TermMaxMetadata(),
|
43
47
|
};
|
44
48
|
export const erc20SubTypeMetadataBuilderFactory = (erc20Subtype) => {
|
45
49
|
if (!metadataMap[erc20Subtype]) {
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import type { MetadataBuilder } from "@/engine/metadata/interface";
|
2
|
+
import type { CampaignWithParams } from "@/modules/v4/campaign/campaign.model";
|
3
|
+
import type { ProtocolId } from "@/modules/v4/protocol/protocol.model";
|
4
|
+
import type { Erc20LikeCampaignEnum } from "../..";
|
5
|
+
export declare class TermMaxMetadata implements MetadataBuilder<Erc20LikeCampaignEnum> {
|
6
|
+
build(campaign: Omit<CampaignWithParams<Erc20LikeCampaignEnum>, "manualOverrides">): Promise<{
|
7
|
+
action: "HOLD";
|
8
|
+
mainProtocol: ProtocolId;
|
9
|
+
name: string;
|
10
|
+
tokens: {
|
11
|
+
chainId: number;
|
12
|
+
address: any;
|
13
|
+
}[];
|
14
|
+
depositUrl: string;
|
15
|
+
explorerAddress: any;
|
16
|
+
}>;
|
17
|
+
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { OpportunityAction } from "@db/api";
|
2
|
+
import { ChainInteractionService, TermMaxFT__factory, TermMaxMarket__factory, TokenInteractionService } from "@sdk";
|
3
|
+
export class TermMaxMetadata {
|
4
|
+
async build(campaign) {
|
5
|
+
const { params, computeChainId } = campaign;
|
6
|
+
const { targetToken } = params;
|
7
|
+
const marketAddress = await TermMaxFT__factory.connect(targetToken, ChainInteractionService(computeChainId).provider()).marketAddr();
|
8
|
+
const tokens = await TermMaxMarket__factory.connect(marketAddress, ChainInteractionService(computeChainId).provider()).tokens();
|
9
|
+
const underlyingToken = tokens[4];
|
10
|
+
const underlyingTokenSymbol = await TokenInteractionService(computeChainId).symbol(underlyingToken);
|
11
|
+
const action = OpportunityAction.HOLD;
|
12
|
+
return {
|
13
|
+
action,
|
14
|
+
mainProtocol: "termmax",
|
15
|
+
name: `Provide ${underlyingTokenSymbol} on TermMax`,
|
16
|
+
tokens: [
|
17
|
+
{ chainId: computeChainId, address: targetToken },
|
18
|
+
{ chainId: computeChainId, address: underlyingToken },
|
19
|
+
],
|
20
|
+
depositUrl: ``,
|
21
|
+
explorerAddress: params.targetToken,
|
22
|
+
};
|
23
|
+
}
|
24
|
+
}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import type { Erc20LikeCampaignEnum } from "@/engine/implementations/Erc20/subTypes";
|
2
|
+
import type { TVLBuilder, TVLData } from "@/engine/tvl/interface";
|
3
|
+
import { type CampaignParameters, type MerklChainId } from "@sdk";
|
4
|
+
export declare class TermMaxTVLBuilder implements TVLBuilder<Erc20LikeCampaignEnum> {
|
5
|
+
build(computeChainId: MerklChainId, campaigns: CampaignParameters<Erc20LikeCampaignEnum>[]): Promise<TVLData<any>>;
|
6
|
+
}
|
@@ -0,0 +1,69 @@
|
|
1
|
+
import { TokenService } from "@/modules/v4/token/token.service";
|
2
|
+
import { TvlType } from "@db/api";
|
3
|
+
import { AaveInterface, ChainInteractionService, ERC20Interface, TermMaxFTInterface, TermMaxMarketInterface, bigIntToNumber, } from "@sdk";
|
4
|
+
export class TermMaxTVLBuilder {
|
5
|
+
async build(computeChainId, campaigns) {
|
6
|
+
const tvls = [];
|
7
|
+
const firstRound = await ChainInteractionService(computeChainId).fetchAndDecodeObject(campaigns.flatMap(campaign => {
|
8
|
+
const { campaignId, campaignParameters } = campaign;
|
9
|
+
const { targetToken } = campaignParameters;
|
10
|
+
return [
|
11
|
+
{
|
12
|
+
callData: TermMaxFTInterface.encodeFunctionData("marketAddr"),
|
13
|
+
target: targetToken,
|
14
|
+
key: `${campaignId}_marketAddr`,
|
15
|
+
decoder: (data) => AaveInterface.decodeFunctionResult("UNDERLYING_ASSET_ADDRESS", data)[0],
|
16
|
+
},
|
17
|
+
];
|
18
|
+
}));
|
19
|
+
const secondRound = await ChainInteractionService(computeChainId).fetchAndDecodeObject(campaigns.flatMap(campaign => {
|
20
|
+
const { campaignId, campaignParameters } = campaign;
|
21
|
+
return [
|
22
|
+
{
|
23
|
+
callData: TermMaxMarketInterface.encodeFunctionData("tokens"),
|
24
|
+
target: firstRound[`${campaignId}_marketAddr`],
|
25
|
+
key: `${campaignId}_underlyingToken`,
|
26
|
+
decoder: (data) => TermMaxMarketInterface.decodeFunctionResult("tokens", data)[4],
|
27
|
+
},
|
28
|
+
];
|
29
|
+
}));
|
30
|
+
const thirdRound = await ChainInteractionService(computeChainId).fetchAndDecodeObject(campaigns.flatMap(campaign => {
|
31
|
+
const { campaignId, campaignParameters } = campaign;
|
32
|
+
return [
|
33
|
+
{
|
34
|
+
callData: ERC20Interface.encodeFunctionData("balanceOf", [
|
35
|
+
firstRound[`${campaignId}_marketAddr`],
|
36
|
+
]),
|
37
|
+
target: secondRound[`${campaignId}_underlyingToken`],
|
38
|
+
key: `${campaignId}_totalSupplyUnderlyingToken`,
|
39
|
+
decoder: (data) => ERC20Interface.decodeFunctionResult("balanceOf", data)[0],
|
40
|
+
},
|
41
|
+
];
|
42
|
+
}));
|
43
|
+
for (const campaign of campaigns) {
|
44
|
+
const { campaignId } = campaign;
|
45
|
+
const underlyingTokenAddress = secondRound[`${campaignId}_underlyingToken`];
|
46
|
+
const underlyingTokenSupply = thirdRound[`${campaignId}_totalSupplyUnderlyingToken`];
|
47
|
+
// We don't fetch token data everytime, we use the database and the associated service
|
48
|
+
const underlyingToken = await TokenService.findUniqueFillOrThrow({
|
49
|
+
chainId: computeChainId,
|
50
|
+
address: underlyingTokenAddress,
|
51
|
+
});
|
52
|
+
if (!underlyingToken.decimals || !underlyingToken.price) {
|
53
|
+
throw new Error(`Missing decimals or price for token ${underlyingToken.address}`);
|
54
|
+
}
|
55
|
+
tvls.push({
|
56
|
+
campaign,
|
57
|
+
tvl: bigIntToNumber(underlyingTokenSupply, underlyingToken.decimals) * underlyingToken.price,
|
58
|
+
tvlBreakdown: [
|
59
|
+
{
|
60
|
+
identifier: underlyingToken.id,
|
61
|
+
type: TvlType.TOKEN,
|
62
|
+
value: bigIntToNumber(underlyingTokenSupply, underlyingToken.decimals),
|
63
|
+
},
|
64
|
+
],
|
65
|
+
});
|
66
|
+
}
|
67
|
+
return tvls;
|
68
|
+
}
|
69
|
+
}
|
@@ -10,13 +10,13 @@ export declare class JsonAirdropMetadata implements MetadataBuilder<campaignType
|
|
10
10
|
chainId: number;
|
11
11
|
address: string;
|
12
12
|
}[];
|
13
|
-
mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
|
13
|
+
mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "termmax" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
|
14
14
|
depositUrl?: undefined;
|
15
15
|
} | {
|
16
16
|
action: "DROP";
|
17
17
|
name: string;
|
18
18
|
tokens: never[];
|
19
|
-
mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
|
19
|
+
mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "termmax" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
|
20
20
|
depositUrl: any;
|
21
21
|
}>;
|
22
22
|
static generateUrl(_computeChainId: ChainId, params: CampaignParameters<campaignType>["campaignParameters"]): any;
|
@@ -1,13 +1,18 @@
|
|
1
1
|
import { computeLockerAmountFromMostRecentStateSave } from "@/engine/tvl/logStates";
|
2
|
+
import { getOnlyUserBalance } from "@/libs/tokens/balances";
|
2
3
|
import { TokenService } from "@/modules/v4/token/token.service";
|
3
|
-
import { Campaign as CampaignType } from "@sdk";
|
4
|
+
import { BN2Number, Campaign as CampaignType } from "@sdk";
|
4
5
|
export class LockerTVLBuilder {
|
5
6
|
async build(computeChainId, campaigns) {
|
6
7
|
const tvls = [];
|
7
8
|
for (const campaign of campaigns) {
|
8
|
-
|
9
|
+
let lockedAmount = (await computeLockerAmountFromMostRecentStateSave(computeChainId, CampaignType.LOCKER, campaign)).lockedAmount;
|
9
10
|
let tvl = 1;
|
10
11
|
if (campaign.campaignParameters.lockerContract === "0x48e8dE138C246c14248C94d2D616a2F9eb4590D2") {
|
12
|
+
if (lockedAmount === 0)
|
13
|
+
lockedAmount = BN2Number((await getOnlyUserBalance(computeChainId, "0x48e8dE138C246c14248C94d2D616a2F9eb4590D2", [
|
14
|
+
"0x282A69142bac47855C3fbE1693FcC4bA3B4d5Ed6",
|
15
|
+
]))["0x282A69142bac47855C3fbE1693FcC4bA3B4d5Ed6"].balance);
|
11
16
|
tvl = lockedAmount * (await TokenService.getPrice({ address: "0x8A5A5DE9db5770123Ff2145F59e9F20047f0A8EC" }));
|
12
17
|
tvls.push({
|
13
18
|
campaign: campaign,
|
@@ -53,7 +53,6 @@ const map = {
|
|
53
53
|
[Campaign.VEST]: new VestMetadata(),
|
54
54
|
[Campaign.ERC20LOGPROCESSOR]: new Erc20Metadata(),
|
55
55
|
[Campaign.ERC20REBASELOGPROCESSOR]: new Erc20Metadata(),
|
56
|
-
[Campaign.ERC20TRANSFERS]: new DefaultMetadata(), // TODO
|
57
56
|
[Campaign.M0]: new DefaultMetadata(), // TODO
|
58
57
|
[Campaign.MORPHOSUPPLY]: new DefaultMetadata(), // TODO
|
59
58
|
[Campaign.SYNCSWAP_VAULT]: new DefaultMetadata(), // TODO
|
package/dist/src/index.d.ts
CHANGED
@@ -360,7 +360,7 @@ declare const app: Elysia<"", false, {
|
|
360
360
|
} & {
|
361
361
|
price?: number | null | undefined;
|
362
362
|
})[];
|
363
|
-
mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
|
363
|
+
mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "termmax" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
|
364
364
|
description: string;
|
365
365
|
howToSteps: string[];
|
366
366
|
depositUrl: string | undefined;
|
@@ -453,7 +453,7 @@ declare const app: Elysia<"", false, {
|
|
453
453
|
} & {
|
454
454
|
price?: number | null | undefined;
|
455
455
|
})[];
|
456
|
-
mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
|
456
|
+
mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "termmax" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
|
457
457
|
description: string;
|
458
458
|
howToSteps: string[];
|
459
459
|
depositUrl: string | undefined;
|
@@ -596,6 +596,8 @@ declare const app: Elysia<"", false, {
|
|
596
596
|
};
|
597
597
|
createdAt: string;
|
598
598
|
description: string | undefined;
|
599
|
+
parentCampaignId: string | undefined;
|
600
|
+
rootCampaignId: string | undefined;
|
599
601
|
Opportunity: {
|
600
602
|
status: import("@db/api").$Enums.Status;
|
601
603
|
type: string;
|
@@ -1044,6 +1046,8 @@ declare const app: Elysia<"", false, {
|
|
1044
1046
|
creatorId?: string | null | undefined;
|
1045
1047
|
address: string;
|
1046
1048
|
} | undefined;
|
1049
|
+
rootCampaignId?: string | undefined;
|
1050
|
+
parentCampaignId?: string | undefined;
|
1047
1051
|
campaignStatus?: {
|
1048
1052
|
error?: string | undefined;
|
1049
1053
|
details?: any;
|
@@ -1216,6 +1220,8 @@ declare const app: Elysia<"", false, {
|
|
1216
1220
|
creatorId?: string | null | undefined;
|
1217
1221
|
address: string;
|
1218
1222
|
} | undefined;
|
1223
|
+
rootCampaignId?: string | undefined;
|
1224
|
+
parentCampaignId?: string | undefined;
|
1219
1225
|
campaignStatus?: {
|
1220
1226
|
error?: string | undefined;
|
1221
1227
|
details?: any;
|
@@ -1454,6 +1460,8 @@ declare const app: Elysia<"", false, {
|
|
1454
1460
|
creatorAddress: string;
|
1455
1461
|
manualOverrides: import("@db/api").$Enums.CampaignManualOverride[];
|
1456
1462
|
createdAt: Date;
|
1463
|
+
rootCampaignId: string | null;
|
1464
|
+
parentCampaignId: string | null;
|
1457
1465
|
} | {
|
1458
1466
|
Tokens: {
|
1459
1467
|
symbol: string;
|
@@ -1521,7 +1529,7 @@ declare const app: Elysia<"", false, {
|
|
1521
1529
|
} & {
|
1522
1530
|
price?: number | null | undefined;
|
1523
1531
|
})[];
|
1524
|
-
mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
|
1532
|
+
mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "termmax" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
|
1525
1533
|
description: string;
|
1526
1534
|
howToSteps: string[];
|
1527
1535
|
depositUrl: string | undefined;
|
@@ -1617,6 +1625,8 @@ declare const app: Elysia<"", false, {
|
|
1617
1625
|
creatorAddress: string;
|
1618
1626
|
manualOverrides: import("@db/api").$Enums.CampaignManualOverride[];
|
1619
1627
|
createdAt: Date;
|
1628
|
+
rootCampaignId: string | null;
|
1629
|
+
parentCampaignId: string | null;
|
1620
1630
|
};
|
1621
1631
|
};
|
1622
1632
|
};
|
@@ -1716,6 +1726,8 @@ declare const app: Elysia<"", false, {
|
|
1716
1726
|
};
|
1717
1727
|
createdAt: string;
|
1718
1728
|
description: string | undefined;
|
1729
|
+
parentCampaignId: string | undefined;
|
1730
|
+
rootCampaignId: string | undefined;
|
1719
1731
|
Opportunity: {
|
1720
1732
|
status: import("@db/api").$Enums.Status;
|
1721
1733
|
type: string;
|
@@ -1806,6 +1818,8 @@ declare const app: Elysia<"", false, {
|
|
1806
1818
|
};
|
1807
1819
|
createdAt: string;
|
1808
1820
|
description: string | undefined;
|
1821
|
+
parentCampaignId: string | undefined;
|
1822
|
+
rootCampaignId: string | undefined;
|
1809
1823
|
Opportunity: {
|
1810
1824
|
status: import("@db/api").$Enums.Status;
|
1811
1825
|
type: string;
|
@@ -2022,6 +2036,8 @@ declare const app: Elysia<"", false, {
|
|
2022
2036
|
};
|
2023
2037
|
createdAt: string;
|
2024
2038
|
description: string | undefined;
|
2039
|
+
parentCampaignId: string | undefined;
|
2040
|
+
rootCampaignId: string | undefined;
|
2025
2041
|
Opportunity: {
|
2026
2042
|
status: import("@db/api").$Enums.Status;
|
2027
2043
|
type: string;
|
@@ -2382,6 +2398,8 @@ declare const app: Elysia<"", false, {
|
|
2382
2398
|
creatorAddress: string;
|
2383
2399
|
manualOverrides: import("@db/api").$Enums.CampaignManualOverride[];
|
2384
2400
|
createdAt: Date;
|
2401
|
+
rootCampaignId: string | null;
|
2402
|
+
parentCampaignId: string | null;
|
2385
2403
|
} | {
|
2386
2404
|
Tokens: {
|
2387
2405
|
symbol: string;
|
@@ -2449,7 +2467,7 @@ declare const app: Elysia<"", false, {
|
|
2449
2467
|
} & {
|
2450
2468
|
price?: number | null | undefined;
|
2451
2469
|
})[];
|
2452
|
-
mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
|
2470
|
+
mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "termmax" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
|
2453
2471
|
description: string;
|
2454
2472
|
howToSteps: string[];
|
2455
2473
|
depositUrl: string | undefined;
|
@@ -2492,6 +2510,8 @@ declare const app: Elysia<"", false, {
|
|
2492
2510
|
creatorAddress: string;
|
2493
2511
|
manualOverrides: import("@db/api").$Enums.CampaignManualOverride[];
|
2494
2512
|
createdAt: Date;
|
2513
|
+
rootCampaignId: string | null;
|
2514
|
+
parentCampaignId: string | null;
|
2495
2515
|
} | {
|
2496
2516
|
Tokens: {
|
2497
2517
|
symbol: string;
|
@@ -2559,7 +2579,7 @@ declare const app: Elysia<"", false, {
|
|
2559
2579
|
} & {
|
2560
2580
|
price?: number | null | undefined;
|
2561
2581
|
})[];
|
2562
|
-
mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
|
2582
|
+
mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "termmax" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
|
2563
2583
|
description: string;
|
2564
2584
|
howToSteps: string[];
|
2565
2585
|
depositUrl: string | undefined;
|
@@ -4106,6 +4126,7 @@ declare const app: Elysia<"", false, {
|
|
4106
4126
|
};
|
4107
4127
|
breakdowns: {
|
4108
4128
|
campaignId: string;
|
4129
|
+
subCampaignId: string | undefined;
|
4109
4130
|
opportunity: {
|
4110
4131
|
Chain: {
|
4111
4132
|
name: string;
|
@@ -4231,6 +4252,7 @@ declare const app: Elysia<"", false, {
|
|
4231
4252
|
};
|
4232
4253
|
breakdowns: {
|
4233
4254
|
campaignId: string;
|
4255
|
+
subCampaignId: string | undefined;
|
4234
4256
|
opportunity: {
|
4235
4257
|
Chain: {
|
4236
4258
|
name: string;
|
@@ -4303,6 +4325,7 @@ declare const app: Elysia<"", false, {
|
|
4303
4325
|
}, "breakdowns"> & {
|
4304
4326
|
breakdowns: {
|
4305
4327
|
campaignId: string;
|
4328
|
+
subCampaignId: string | undefined;
|
4306
4329
|
reason: string;
|
4307
4330
|
pending: string;
|
4308
4331
|
amount: string;
|
@@ -55,6 +55,8 @@ export declare const CampaignController: Elysia<"/campaigns", false, {
|
|
55
55
|
creatorAddress: string;
|
56
56
|
manualOverrides: import("@db/api").$Enums.CampaignManualOverride[];
|
57
57
|
createdAt: Date;
|
58
|
+
rootCampaignId: string | null;
|
59
|
+
parentCampaignId: string | null;
|
58
60
|
} | {
|
59
61
|
Tokens: {
|
60
62
|
symbol: string;
|
@@ -122,7 +124,7 @@ export declare const CampaignController: Elysia<"/campaigns", false, {
|
|
122
124
|
} & {
|
123
125
|
price?: number | null | undefined;
|
124
126
|
})[];
|
125
|
-
mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
|
127
|
+
mainProtocol: "splice" | "reserve" | "morpho" | "quickswap" | "euler" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "stability" | "termmax" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "lnd" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | "puffer" | undefined;
|
126
128
|
description: string;
|
127
129
|
howToSteps: string[];
|
128
130
|
depositUrl: string | undefined;
|
@@ -218,6 +220,8 @@ export declare const CampaignController: Elysia<"/campaigns", false, {
|
|
218
220
|
creatorAddress: string;
|
219
221
|
manualOverrides: import("@db/api").$Enums.CampaignManualOverride[];
|
220
222
|
createdAt: Date;
|
223
|
+
rootCampaignId: string | null;
|
224
|
+
parentCampaignId: string | null;
|
221
225
|
};
|
222
226
|
};
|
223
227
|
};
|
@@ -317,6 +321,8 @@ export declare const CampaignController: Elysia<"/campaigns", false, {
|
|
317
321
|
};
|
318
322
|
createdAt: string;
|
319
323
|
description: string | undefined;
|
324
|
+
parentCampaignId: string | undefined;
|
325
|
+
rootCampaignId: string | undefined;
|
320
326
|
Opportunity: {
|
321
327
|
status: import("@db/api").$Enums.Status;
|
322
328
|
type: string;
|
@@ -407,6 +413,8 @@ export declare const CampaignController: Elysia<"/campaigns", false, {
|
|
407
413
|
};
|
408
414
|
createdAt: string;
|
409
415
|
description: string | undefined;
|
416
|
+
parentCampaignId: string | undefined;
|
417
|
+
rootCampaignId: string | undefined;
|
410
418
|
Opportunity: {
|
411
419
|
status: import("@db/api").$Enums.Status;
|
412
420
|
type: string;
|
@@ -623,6 +631,8 @@ export declare const CampaignController: Elysia<"/campaigns", false, {
|
|
623
631
|
};
|
624
632
|
createdAt: string;
|
625
633
|
description: string | undefined;
|
634
|
+
parentCampaignId: string | undefined;
|
635
|
+
rootCampaignId: string | undefined;
|
626
636
|
Opportunity: {
|
627
637
|
status: import("@db/api").$Enums.Status;
|
628
638
|
type: string;
|
@@ -22,6 +22,8 @@ export type Campaign = Resource<"Campaign", "opportunityId" | "rewardTokenId", {
|
|
22
22
|
endTimestamp: number;
|
23
23
|
startTimestamp: number;
|
24
24
|
createdAt: string;
|
25
|
+
rootCampaignId?: string;
|
26
|
+
parentCampaignId?: string;
|
25
27
|
}>;
|
26
28
|
export type CampaignWithParams<C extends CampaignType = CampaignType> = Campaign["model"] & {
|
27
29
|
params: CampaignParameters<C>["campaignParameters"];
|
@@ -84,6 +86,8 @@ export declare const CampaignResourceDto: import("@sinclair/typebox").TObject<{
|
|
84
86
|
details: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
|
85
87
|
}>>;
|
86
88
|
createdAt: import("@sinclair/typebox").TString;
|
89
|
+
rootCampaignId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
90
|
+
parentCampaignId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
87
91
|
}>;
|
88
92
|
export declare const CampaignConfigMinimal: import("@sinclair/typebox").TObject<{
|
89
93
|
computeChainId: import("@sinclair/typebox").TNumber;
|
@@ -34,6 +34,8 @@ export const CampaignResourceDto = t.Object({
|
|
34
34
|
distributionChain: t.Optional(ChainResourceDto),
|
35
35
|
campaignStatus: t.Optional(CampaignStatusResourceDto),
|
36
36
|
createdAt: t.String({ format: "date" }),
|
37
|
+
rootCampaignId: t.Optional(t.String()),
|
38
|
+
parentCampaignId: t.Optional(t.String()),
|
37
39
|
});
|
38
40
|
export const CampaignConfigMinimal = t.Object({
|
39
41
|
computeChainId: t.Number(),
|
@@ -340,6 +340,8 @@ export declare abstract class CampaignRepository {
|
|
340
340
|
creatorAddress: string;
|
341
341
|
manualOverrides: import("@db/api").$Enums.CampaignManualOverride[];
|
342
342
|
createdAt: Date;
|
343
|
+
rootCampaignId: string | null;
|
344
|
+
parentCampaignId: string | null;
|
343
345
|
})[]>;
|
344
346
|
/**
|
345
347
|
* Retrieves all past campaigns from the database.
|
@@ -391,6 +393,8 @@ export declare abstract class CampaignRepository {
|
|
391
393
|
creatorAddress: string;
|
392
394
|
manualOverrides: import("@db/api").$Enums.CampaignManualOverride[];
|
393
395
|
createdAt: Date;
|
396
|
+
rootCampaignId: string | null;
|
397
|
+
parentCampaignId: string | null;
|
394
398
|
})[]>;
|
395
399
|
/**
|
396
400
|
* Retrieves all live campaigns from the database.
|
@@ -459,6 +463,8 @@ export declare abstract class CampaignRepository {
|
|
459
463
|
creatorAddress: string;
|
460
464
|
manualOverrides: import("@db/api").$Enums.CampaignManualOverride[];
|
461
465
|
createdAt: Date;
|
466
|
+
rootCampaignId: string | null;
|
467
|
+
parentCampaignId: string | null;
|
462
468
|
})[]>;
|
463
469
|
static countLives(query?: {
|
464
470
|
distributionChainId?: number;
|
@@ -502,6 +508,8 @@ export declare abstract class CampaignRepository {
|
|
502
508
|
creatorAddress: string;
|
503
509
|
manualOverrides: import("@db/api").$Enums.CampaignManualOverride[];
|
504
510
|
createdAt: Date;
|
511
|
+
rootCampaignId: string | null;
|
512
|
+
parentCampaignId: string | null;
|
505
513
|
} | undefined>;
|
506
514
|
/**
|
507
515
|
* Retrieves a campaign from the engine database by its chain and campaign id.
|
@@ -582,6 +590,8 @@ export declare abstract class CampaignRepository {
|
|
582
590
|
creatorAddress: string;
|
583
591
|
manualOverrides: import("@db/api").$Enums.CampaignManualOverride[];
|
584
592
|
createdAt: Date;
|
593
|
+
rootCampaignId: string | null;
|
594
|
+
parentCampaignId: string | null;
|
585
595
|
}) | null>;
|
586
596
|
static findUniqueOrThrow(id: string, withOpportunity: boolean): Promise<{
|
587
597
|
ComputeChain: {
|
@@ -661,6 +671,8 @@ export declare abstract class CampaignRepository {
|
|
661
671
|
creatorAddress: string;
|
662
672
|
manualOverrides: import("@db/api").$Enums.CampaignManualOverride[];
|
663
673
|
createdAt: Date;
|
674
|
+
rootCampaignId: string | null;
|
675
|
+
parentCampaignId: string | null;
|
664
676
|
}>;
|
665
677
|
static findCampaignsToProcess(distributionChainId: ChainId): Promise<{
|
666
678
|
campaignId: string;
|
@@ -749,6 +761,8 @@ export declare abstract class CampaignRepository {
|
|
749
761
|
creatorAddress: string;
|
750
762
|
manualOverrides: import("@db/api").$Enums.CampaignManualOverride[];
|
751
763
|
createdAt: Date;
|
764
|
+
rootCampaignId: string | null;
|
765
|
+
parentCampaignId: string | null;
|
752
766
|
})[]>;
|
753
767
|
static countMany(query: GetCampaignQueryModel): Promise<number>;
|
754
768
|
static findChains(): Promise<Record<string, ChainId>>;
|
@@ -774,6 +788,8 @@ export declare abstract class CampaignRepository {
|
|
774
788
|
creatorAddress: string;
|
775
789
|
manualOverrides: import("@db/api").$Enums.CampaignManualOverride[];
|
776
790
|
createdAt: Date;
|
791
|
+
rootCampaignId: string | null;
|
792
|
+
parentCampaignId: string | null;
|
777
793
|
}>;
|
778
794
|
static getTvlRecords(campaign: {
|
779
795
|
opportunityId: string;
|