@merkl/api 0.10.316 → 0.10.317
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/src/eden/index.d.ts +239 -18
- package/dist/src/index.d.ts +83 -6
- package/dist/src/modules/v4/programPayload/programPayload.controller.d.ts +83 -6
- package/dist/src/modules/v4/programPayload/programPayload.controller.js +11 -1
- package/dist/src/modules/v4/programPayload/programPayload.model.d.ts +108 -0
- package/dist/src/modules/v4/programPayload/programPayload.model.js +50 -15
- package/dist/src/modules/v4/programPayload/programPayload.service.d.ts +12 -5
- package/dist/src/modules/v4/programPayload/programPayload.service.js +65 -40
- package/dist/src/modules/v4/router.d.ts +83 -6
- package/dist/tsconfig.package.tsbuildinfo +1 -1
- package/package.json +1 -1
@@ -9,6 +9,41 @@ export declare const CampaignPayloadInputDto: import("@sinclair/typebox").TObjec
|
|
9
9
|
endTimestamp: import("@sinclair/typebox").TNumber;
|
10
10
|
amount: import("@sinclair/typebox").TString;
|
11
11
|
}>;
|
12
|
+
export declare const SinglePayloadInputDto: import("@sinclair/typebox").TObject<{
|
13
|
+
distributionChainId: import("@sinclair/typebox").TNumber;
|
14
|
+
rewardToken: import("@sinclair/typebox").TString;
|
15
|
+
amount: import("@sinclair/typebox").TString;
|
16
|
+
startTimestamp: import("@sinclair/typebox").TNumber;
|
17
|
+
computeChainId: import("@sinclair/typebox").TNumber;
|
18
|
+
creator: import("@sinclair/typebox").TString;
|
19
|
+
hooks: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{}>>;
|
20
|
+
whitelist: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
21
|
+
blacklist: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
22
|
+
campaignType: import("@sinclair/typebox").TNumber;
|
23
|
+
endTimestamp: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
24
|
+
targetToken: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
25
|
+
url: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
26
|
+
forwarders: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{}>>>;
|
27
|
+
poolAddress: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
28
|
+
isOutOfRangeIncentivized: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
29
|
+
weightFees: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
30
|
+
weightToken0: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
31
|
+
weightToken1: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
32
|
+
usesBlockNumber: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
33
|
+
snapshotTimestamp: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
34
|
+
snapshotBlockNumber: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
35
|
+
jsonUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
36
|
+
subCampaignType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
37
|
+
repository: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
38
|
+
capInUSD: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
39
|
+
marketId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
40
|
+
compFork: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
41
|
+
poolId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
42
|
+
evkAddress: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
43
|
+
collateralAddress: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
44
|
+
strategy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
45
|
+
contract: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
46
|
+
}>;
|
12
47
|
export declare const ProgramPayloadInputDto: import("@sinclair/typebox").TObject<{
|
13
48
|
program: import("@sinclair/typebox").TString;
|
14
49
|
creator: import("@sinclair/typebox").TString;
|
@@ -22,6 +57,79 @@ export declare const CampaignAmountsInputDto: import("@sinclair/typebox").TRecor
|
|
22
57
|
export type CampaignPayloadInputModel = typeof CampaignPayloadInputDto.static;
|
23
58
|
export type ProgramPayloadInputModel = typeof ProgramPayloadInputDto.static;
|
24
59
|
export type CampaignAmountsInputModel = typeof CampaignAmountsInputDto.static;
|
60
|
+
export type SinglePayloadInputDtoModel = typeof SinglePayloadInputDto.static;
|
61
|
+
export type approvalTransaction = {
|
62
|
+
to: string;
|
63
|
+
value: string;
|
64
|
+
data: null;
|
65
|
+
contractMethod: {
|
66
|
+
inputs: {
|
67
|
+
name: string;
|
68
|
+
type: string;
|
69
|
+
internalType: string;
|
70
|
+
}[];
|
71
|
+
name: string;
|
72
|
+
payable: boolean;
|
73
|
+
};
|
74
|
+
contractInputsValues: {
|
75
|
+
spender: string;
|
76
|
+
amount: string;
|
77
|
+
};
|
78
|
+
};
|
79
|
+
export type acceptConditionsTransaction = {
|
80
|
+
to: string;
|
81
|
+
value: string;
|
82
|
+
data: null;
|
83
|
+
contractMethod: {
|
84
|
+
inputs: any[];
|
85
|
+
name: string;
|
86
|
+
payable: boolean;
|
87
|
+
};
|
88
|
+
contractInputsValues: null;
|
89
|
+
};
|
90
|
+
export type createCampaignTransaction = {
|
91
|
+
to: string;
|
92
|
+
value: string;
|
93
|
+
data: null;
|
94
|
+
contractMethod: {
|
95
|
+
inputs: {
|
96
|
+
components: {
|
97
|
+
internalType: string;
|
98
|
+
name: string;
|
99
|
+
type: string;
|
100
|
+
}[];
|
101
|
+
internalType: string;
|
102
|
+
name: string;
|
103
|
+
type: string;
|
104
|
+
}[];
|
105
|
+
name: string;
|
106
|
+
payable: boolean;
|
107
|
+
};
|
108
|
+
contractInputsValues: {
|
109
|
+
newCampaign: string;
|
110
|
+
};
|
111
|
+
};
|
112
|
+
export type transaction = approvalTransaction | acceptConditionsTransaction | createCampaignTransaction;
|
113
|
+
export type safeCompletePayload = {
|
114
|
+
version: string;
|
115
|
+
chainId: string;
|
116
|
+
createdAt: number;
|
117
|
+
meta: {
|
118
|
+
name: string;
|
119
|
+
txBuilderVersion: string;
|
120
|
+
};
|
121
|
+
transactions: [approvalTransaction, acceptConditionsTransaction, createCampaignTransaction];
|
122
|
+
};
|
123
|
+
export type safePayload = {
|
124
|
+
version: string;
|
125
|
+
chainId: string;
|
126
|
+
createdAt: number;
|
127
|
+
meta: {
|
128
|
+
name: string;
|
129
|
+
txBuilderVersion: string;
|
130
|
+
};
|
131
|
+
transactions: transaction[];
|
132
|
+
};
|
25
133
|
export type partialConfigERC20 = {
|
26
134
|
computeChainId?: MerklChainId;
|
27
135
|
hooks?: (HookParameters<HOOK> | string)[];
|
@@ -1,23 +1,58 @@
|
|
1
1
|
import { t } from "elysia";
|
2
2
|
// ─── DTOs ────────────────────────────────────────────────────────────────────
|
3
3
|
export const CampaignPayloadInputDto = t.Object({
|
4
|
-
campaign: t.String(),
|
5
|
-
program: t.String(),
|
6
|
-
creator: t.String(),
|
7
|
-
rewardToken: t.String(),
|
8
|
-
distributionChainId: t.Numeric(),
|
9
|
-
startTimestamp: t.Numeric(),
|
10
|
-
endTimestamp: t.Numeric(),
|
11
|
-
amount: t.String(),
|
4
|
+
campaign: t.String({ description: "Campaign identifier, these are shared by the merkl team" }),
|
5
|
+
program: t.String({ description: "Program identifier, these are shared by the merkl team" }),
|
6
|
+
creator: t.String({ description: "Address of the campaign creator" }),
|
7
|
+
rewardToken: t.String({ description: "Address of the reward token to be distributed" }),
|
8
|
+
distributionChainId: t.Numeric({ description: "Chain ID where the reward tokens will be distributed" }),
|
9
|
+
startTimestamp: t.Numeric({ description: "Start timestamp for the campaign" }),
|
10
|
+
endTimestamp: t.Numeric({ description: "End timestamp for the campaign" }),
|
11
|
+
amount: t.String({ description: "Amount of the reward token to be distributed" }),
|
12
|
+
});
|
13
|
+
export const SinglePayloadInputDto = t.Object({
|
14
|
+
distributionChainId: t.Numeric({ description: "Chain ID where the reward tokens will be distributed" }),
|
15
|
+
rewardToken: t.String({ description: "Address of the reward token to be distributed" }),
|
16
|
+
amount: t.String({ description: "Amount of the reward token to be distributed" }),
|
17
|
+
startTimestamp: t.Numeric({ description: "Start timestamp for the campaign" }),
|
18
|
+
computeChainId: t.Numeric({ description: "Chain ID used for computation" }),
|
19
|
+
creator: t.String({ description: "Address of the campaign creator" }),
|
20
|
+
hooks: t.Array(t.Object({})),
|
21
|
+
whitelist: t.Array(t.String({ description: "List of addresses allowed to participate" })),
|
22
|
+
blacklist: t.Array(t.String({ description: "List of addresses not allowed to participate" })),
|
23
|
+
campaignType: t.Numeric({ description: "Type of the campaign 1 : ERC20, 2: CLAMM , ..." }),
|
24
|
+
endTimestamp: t.Optional(t.Numeric({ description: "End timestamp for the campaign" })),
|
25
|
+
targetToken: t.Optional(t.String({ description: "Address of the target token that is incentivized" })),
|
26
|
+
url: t.Optional(t.String({ description: "URL for more information" })),
|
27
|
+
forwarders: t.Optional(t.Array(t.Object({}))),
|
28
|
+
poolAddress: t.Optional(t.String({ description: "Address of the pool that is incentivized" })),
|
29
|
+
isOutOfRangeIncentivized: t.Optional(t.Boolean({ description: "Whether out-of-range is incentivized" })),
|
30
|
+
weightFees: t.Optional(t.Number({ description: "Weight of the fees" })),
|
31
|
+
weightToken0: t.Optional(t.Number({ description: "Weight of token 0" })),
|
32
|
+
weightToken1: t.Optional(t.Number({ description: "Weight of token 1" })),
|
33
|
+
usesBlockNumber: t.Optional(t.Boolean({ description: "Whether block number is used" })),
|
34
|
+
snapshotTimestamp: t.Optional(t.Numeric({ description: "Snapshot timestamp" })),
|
35
|
+
snapshotBlockNumber: t.Optional(t.Numeric({ description: "Snapshot block number" })),
|
36
|
+
jsonUrl: t.Optional(t.String({ description: "URL for JSON data for Airdrops" })),
|
37
|
+
subCampaignType: t.Optional(t.Numeric({ description: "Type of the sub-campaign" })),
|
38
|
+
repository: t.Optional(t.String({ description: "Repository URL" })),
|
39
|
+
capInUSD: t.Optional(t.String({ description: "Cap in USD" })),
|
40
|
+
marketId: t.Optional(t.String({ description: "Market ID" })),
|
41
|
+
compFork: t.Optional(t.Numeric({ description: "Compound fork ID" })),
|
42
|
+
poolId: t.Optional(t.String({ description: "Pool ID that is incentivized" })),
|
43
|
+
evkAddress: t.Optional(t.String({ description: "EVK address" })),
|
44
|
+
collateralAddress: t.Optional(t.String({ description: "Collateral address" })),
|
45
|
+
strategy: t.Optional(t.String({ description: "Strategy that is incentivized" })),
|
46
|
+
contract: t.Optional(t.String({ description: "Contract address" })),
|
12
47
|
});
|
13
48
|
export const ProgramPayloadInputDto = t.Object({
|
14
|
-
program: t.String(),
|
15
|
-
creator: t.String(),
|
16
|
-
rewardToken: t.String(),
|
17
|
-
distributionChainId: t.Numeric(),
|
18
|
-
startTimestamp: t.Numeric(),
|
19
|
-
endTimestamp: t.Numeric(),
|
20
|
-
amount: t.Optional(t.String()),
|
49
|
+
program: t.String({ description: "Program identifier, these are shared by the merkl team" }),
|
50
|
+
creator: t.String({ description: "Address of the campaign creator" }),
|
51
|
+
rewardToken: t.String({ description: "Address of the reward token to be distributed" }),
|
52
|
+
distributionChainId: t.Numeric({ description: "Chain ID where the reward tokens will be distributed" }),
|
53
|
+
startTimestamp: t.Numeric({ description: "Start timestamp for the campaign" }),
|
54
|
+
endTimestamp: t.Numeric({ description: "End timestamp for the campaign" }),
|
55
|
+
amount: t.Optional(t.String({ description: "Amount of the reward token to be distributed" })),
|
21
56
|
});
|
22
57
|
export const CampaignAmountsInputDto = t.Record(t.String(), t.String());
|
23
58
|
// ---- Template below ----
|
@@ -1,12 +1,19 @@
|
|
1
|
-
import { type Campaign, type campaignConfig } from "@sdk";
|
2
|
-
import
|
1
|
+
import { type Campaign, ChainId, type campaignConfig } from "@sdk";
|
2
|
+
import type { CampaignParametersStruct } from "libs/sdk/src/generated/CampaignCreator";
|
3
|
+
import { type CampaignAmountsInputModel, type CampaignPayloadInputModel, type ProgramPayloadInputModel, type SinglePayloadInputDtoModel, type approvalTransaction, type createCampaignTransaction, type safePayload } from "./programPayload.model";
|
3
4
|
export declare class ProgramPayloadService {
|
4
5
|
static buildConfig(query: CampaignPayloadInputModel): campaignConfig<Campaign>;
|
5
6
|
/** building payload for a single campaign */
|
6
7
|
static buildCampaignData(query: CampaignPayloadInputModel): {
|
7
8
|
args: any;
|
8
9
|
};
|
9
|
-
static
|
10
|
-
|
11
|
-
|
10
|
+
static buildPayloadFromConfig(config: SinglePayloadInputDtoModel): Promise<{
|
11
|
+
safePayload: safePayload;
|
12
|
+
nonEncodedConfig: any;
|
13
|
+
}>;
|
14
|
+
static createSafePayloadForCampaign(args: CampaignParametersStruct, distributionChainId: ChainId, rewardToken: string, distributionCreator: string): [approvalTransaction, createCampaignTransaction];
|
15
|
+
static initiateSafePayload(distributionChainId: ChainId, distributionCreator: string): safePayload;
|
16
|
+
static buildPayload(query: CampaignPayloadInputModel, initialCampaignPayload?: safePayload | null): safePayload;
|
17
|
+
static buildProgramPayload(query: ProgramPayloadInputModel): safePayload | null;
|
18
|
+
static buildProgramPayloadWithAmounts(query: ProgramPayloadInputModel, body: CampaignAmountsInputModel): safePayload | null;
|
12
19
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { ChainId, NULL_ADDRESS, NULL_ROOT, buildCampaignPayload, encodeForwarderData, registry, } from "@sdk";
|
1
|
+
import { CampaignTypeConfigResourceMapping, ChainId, NULL_ADDRESS, NULL_ROOT, buildCampaignPayload, encodeForwarderData, registry, } from "@sdk";
|
2
2
|
import _ from "lodash";
|
3
3
|
import { safeTemplate, } from "./programPayload.model";
|
4
4
|
import { MerklInterfaceCampaigns, zkSyncCampaignAmounts } from "./programPayload.repository";
|
@@ -36,52 +36,77 @@ export class ProgramPayloadService {
|
|
36
36
|
const args = buildCampaignPayload(ProgramPayloadService.buildConfig(query), distributionChainId).args;
|
37
37
|
return { args };
|
38
38
|
}
|
39
|
+
static async buildPayloadFromConfig(config) {
|
40
|
+
const campaignType = config.campaignType;
|
41
|
+
const rewardToken = config.rewardToken;
|
42
|
+
class CampaignConfig extends CampaignTypeConfigResourceMapping[campaignType] {
|
43
|
+
}
|
44
|
+
const parsedConfig = CampaignConfig.hydrate(config, {
|
45
|
+
strategy: "exposeAll",
|
46
|
+
excludeExtraneousValues: true,
|
47
|
+
});
|
48
|
+
parsedConfig.hooks = config.hooks.map(hook => hook);
|
49
|
+
const nonEncodedConfig = { ...parsedConfig };
|
50
|
+
if ("forwarders" in parsedConfig) {
|
51
|
+
parsedConfig.forwarders = config?.forwarders
|
52
|
+
? config.forwarders.map(forwarder => encodeForwarderData(forwarder))
|
53
|
+
: [];
|
54
|
+
}
|
55
|
+
const distributionChainId = config.distributionChainId ? config.distributionChainId : ChainId.MAINNET;
|
56
|
+
const registryInitialized = registry(distributionChainId);
|
57
|
+
const distributionCreator = registryInitialized?.Merkl?.DistributionCreator ?? NULL_ADDRESS;
|
58
|
+
// Small hack to avoid the need to parse the config again
|
59
|
+
const args = buildCampaignPayload(parsedConfig, distributionChainId).args;
|
60
|
+
const safePayload = ProgramPayloadService.initiateSafePayload(distributionChainId, distributionCreator);
|
61
|
+
const transactions = ProgramPayloadService.createSafePayloadForCampaign(args, distributionChainId, rewardToken, distributionCreator ?? NULL_ADDRESS);
|
62
|
+
safePayload.transactions.push(...transactions);
|
63
|
+
return { safePayload, nonEncodedConfig };
|
64
|
+
}
|
65
|
+
static createSafePayloadForCampaign(args, distributionChainId, rewardToken, distributionCreator) {
|
66
|
+
const safePayload = _.cloneDeep(safeTemplate);
|
67
|
+
safePayload.chainId = distributionChainId.toString();
|
68
|
+
safePayload.createdAt = Math.floor(Date.now() / 1000);
|
69
|
+
safePayload.transactions[0].to = rewardToken;
|
70
|
+
safePayload.transactions[0].contractInputsValues = {
|
71
|
+
amount: args?.amount.toString(),
|
72
|
+
spender: distributionCreator ? distributionCreator : NULL_ADDRESS,
|
73
|
+
};
|
74
|
+
safePayload.transactions[2].to = distributionCreator ? distributionCreator : NULL_ADDRESS;
|
75
|
+
safePayload.transactions[2].contractInputsValues = {
|
76
|
+
newCampaign: JSON.stringify([
|
77
|
+
NULL_ROOT,
|
78
|
+
NULL_ADDRESS,
|
79
|
+
args?.rewardToken,
|
80
|
+
args?.amount,
|
81
|
+
args?.campaignType,
|
82
|
+
args?.startTimestamp,
|
83
|
+
args?.duration,
|
84
|
+
args?.campaignData,
|
85
|
+
]),
|
86
|
+
};
|
87
|
+
return [safePayload.transactions[0], safePayload.transactions[2]];
|
88
|
+
}
|
89
|
+
static initiateSafePayload(distributionChainId, distributionCreator) {
|
90
|
+
const safePayload = _.cloneDeep(safeTemplate);
|
91
|
+
safePayload.chainId = distributionChainId.toString();
|
92
|
+
safePayload.createdAt = Math.floor(Date.now() / 1000);
|
93
|
+
safePayload.transactions[1].to = distributionCreator;
|
94
|
+
safePayload.transactions = [safePayload.transactions[1]];
|
95
|
+
return safePayload;
|
96
|
+
}
|
39
97
|
static buildPayload(query, initialCampaignPayload = null) {
|
40
98
|
const rewardToken = query.rewardToken;
|
41
99
|
const distributionChainId = query.distributionChainId ? query.distributionChainId : ChainId.MAINNET;
|
42
100
|
const registryInitialized = registry(distributionChainId);
|
43
|
-
const distributionCreator = registryInitialized?.Merkl?.DistributionCreator;
|
44
|
-
function aggregateConfig(query) {
|
45
|
-
return ProgramPayloadService.buildConfig(query);
|
46
|
-
}
|
47
|
-
function createSafePayloadForCampaign(args) {
|
48
|
-
const safePayload = _.cloneDeep(safeTemplate);
|
49
|
-
safePayload.chainId = distributionChainId.toString();
|
50
|
-
safePayload.createdAt = Math.floor(Date.now() / 1000);
|
51
|
-
safePayload.transactions[0].to = rewardToken;
|
52
|
-
safePayload.transactions[0].contractInputsValues = {
|
53
|
-
amount: args?.amount.toString(),
|
54
|
-
spender: distributionCreator ? distributionCreator : NULL_ADDRESS,
|
55
|
-
};
|
56
|
-
safePayload.transactions[2].to = distributionCreator ? distributionCreator : NULL_ADDRESS;
|
57
|
-
safePayload.transactions[2].contractInputsValues = {
|
58
|
-
newCampaign: JSON.stringify([
|
59
|
-
NULL_ROOT,
|
60
|
-
NULL_ADDRESS,
|
61
|
-
args?.rewardToken,
|
62
|
-
args?.amount,
|
63
|
-
args?.campaignType,
|
64
|
-
args?.startTimestamp,
|
65
|
-
args?.duration,
|
66
|
-
args?.campaignData,
|
67
|
-
]),
|
68
|
-
};
|
69
|
-
return [safePayload.transactions[0], safePayload.transactions[2]];
|
70
|
-
}
|
71
|
-
function initiateSafePayload() {
|
72
|
-
const safePayload = JSON.parse(JSON.stringify(safeTemplate));
|
73
|
-
safePayload.chainId = distributionChainId.toString();
|
74
|
-
safePayload.createdAt = Math.floor(Date.now() / 1000);
|
75
|
-
safePayload.transactions[1].to = distributionCreator;
|
76
|
-
safePayload.transactions = [safePayload.transactions[1]];
|
77
|
-
return safePayload;
|
78
|
-
}
|
101
|
+
const distributionCreator = registryInitialized?.Merkl?.DistributionCreator ?? NULL_ADDRESS;
|
79
102
|
function generatePayloadFile(query) {
|
80
|
-
const args = buildCampaignPayload(
|
81
|
-
const safePayload = createSafePayloadForCampaign(args);
|
103
|
+
const args = buildCampaignPayload(ProgramPayloadService.buildConfig(query), distributionChainId).args;
|
104
|
+
const safePayload = ProgramPayloadService.createSafePayloadForCampaign(args, distributionChainId, rewardToken, distributionCreator);
|
82
105
|
return safePayload;
|
83
106
|
}
|
84
|
-
const campaignPayloads = initialCampaignPayload === null
|
107
|
+
const campaignPayloads = initialCampaignPayload === null
|
108
|
+
? ProgramPayloadService.initiateSafePayload(distributionChainId, distributionCreator)
|
109
|
+
: initialCampaignPayload;
|
85
110
|
const transactions = generatePayloadFile(query);
|
86
111
|
campaignPayloads.transactions.push(...transactions);
|
87
112
|
return campaignPayloads;
|
@@ -2685,8 +2685,16 @@ export declare const v4: Elysia<"/v4", false, {
|
|
2685
2685
|
};
|
2686
2686
|
headers: unknown;
|
2687
2687
|
response: {
|
2688
|
-
|
2689
|
-
|
2688
|
+
200: {
|
2689
|
+
version: string;
|
2690
|
+
chainId: string;
|
2691
|
+
createdAt: number;
|
2692
|
+
meta: {
|
2693
|
+
name: string;
|
2694
|
+
txBuilderVersion: string;
|
2695
|
+
};
|
2696
|
+
transactions: import("./programPayload").transaction[];
|
2697
|
+
};
|
2690
2698
|
};
|
2691
2699
|
};
|
2692
2700
|
};
|
@@ -2757,8 +2765,16 @@ export declare const v4: Elysia<"/v4", false, {
|
|
2757
2765
|
};
|
2758
2766
|
headers: unknown;
|
2759
2767
|
response: {
|
2760
|
-
|
2761
|
-
|
2768
|
+
200: {
|
2769
|
+
version: string;
|
2770
|
+
chainId: string;
|
2771
|
+
createdAt: number;
|
2772
|
+
meta: {
|
2773
|
+
name: string;
|
2774
|
+
txBuilderVersion: string;
|
2775
|
+
};
|
2776
|
+
transactions: import("./programPayload").transaction[];
|
2777
|
+
} | null;
|
2762
2778
|
};
|
2763
2779
|
};
|
2764
2780
|
};
|
@@ -2783,8 +2799,69 @@ export declare const v4: Elysia<"/v4", false, {
|
|
2783
2799
|
};
|
2784
2800
|
headers: unknown;
|
2785
2801
|
response: {
|
2786
|
-
|
2787
|
-
|
2802
|
+
200: {
|
2803
|
+
version: string;
|
2804
|
+
chainId: string;
|
2805
|
+
createdAt: number;
|
2806
|
+
meta: {
|
2807
|
+
name: string;
|
2808
|
+
txBuilderVersion: string;
|
2809
|
+
};
|
2810
|
+
transactions: import("./programPayload").transaction[];
|
2811
|
+
} | null;
|
2812
|
+
};
|
2813
|
+
};
|
2814
|
+
};
|
2815
|
+
};
|
2816
|
+
};
|
2817
|
+
} & {
|
2818
|
+
"program-payload": {
|
2819
|
+
payload: {
|
2820
|
+
"from-config": {
|
2821
|
+
post: {
|
2822
|
+
body: {
|
2823
|
+
url?: string | undefined;
|
2824
|
+
endTimestamp?: number | undefined;
|
2825
|
+
poolAddress?: string | undefined;
|
2826
|
+
marketId?: string | undefined;
|
2827
|
+
strategy?: string | undefined;
|
2828
|
+
poolId?: string | undefined;
|
2829
|
+
contract?: string | undefined;
|
2830
|
+
forwarders?: {}[] | undefined;
|
2831
|
+
targetToken?: string | undefined;
|
2832
|
+
isOutOfRangeIncentivized?: boolean | undefined;
|
2833
|
+
weightFees?: number | undefined;
|
2834
|
+
weightToken0?: number | undefined;
|
2835
|
+
weightToken1?: number | undefined;
|
2836
|
+
usesBlockNumber?: boolean | undefined;
|
2837
|
+
snapshotTimestamp?: number | undefined;
|
2838
|
+
snapshotBlockNumber?: number | undefined;
|
2839
|
+
jsonUrl?: string | undefined;
|
2840
|
+
subCampaignType?: number | undefined;
|
2841
|
+
repository?: string | undefined;
|
2842
|
+
capInUSD?: string | undefined;
|
2843
|
+
compFork?: number | undefined;
|
2844
|
+
evkAddress?: string | undefined;
|
2845
|
+
collateralAddress?: string | undefined;
|
2846
|
+
hooks: {}[];
|
2847
|
+
creator: string;
|
2848
|
+
startTimestamp: number;
|
2849
|
+
computeChainId: number;
|
2850
|
+
distributionChainId: number;
|
2851
|
+
amount: string;
|
2852
|
+
blacklist: string[];
|
2853
|
+
rewardToken: string;
|
2854
|
+
campaignType: number;
|
2855
|
+
whitelist: string[];
|
2856
|
+
};
|
2857
|
+
params: {};
|
2858
|
+
query: unknown;
|
2859
|
+
headers: unknown;
|
2860
|
+
response: {
|
2861
|
+
200: {
|
2862
|
+
safePayload: import("./programPayload").safePayload;
|
2863
|
+
nonEncodedConfig: any;
|
2864
|
+
};
|
2788
2865
|
};
|
2789
2866
|
};
|
2790
2867
|
};
|