@snagsolutions/sdk 0.1.0-alpha.24 → 0.1.0-alpha.241
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/CHANGELOG.md +48 -209
- package/LICENSE +1 -1
- package/README.md +15 -23
- package/core.d.ts +19 -5
- package/core.d.ts.map +1 -1
- package/core.js +28 -16
- package/core.js.map +1 -1
- package/core.mjs +28 -16
- package/core.mjs.map +1 -1
- package/index.d.mts +14 -8
- package/index.d.ts +14 -8
- package/index.d.ts.map +1 -1
- package/index.js +12 -5
- package/index.js.map +1 -1
- package/index.mjs +13 -6
- package/index.mjs.map +1 -1
- package/package.json +4 -5
- package/resource.d.ts +1 -1
- package/resource.d.ts.map +1 -1
- package/resource.js.map +1 -1
- package/resource.mjs.map +1 -1
- package/resources/assets.d.ts +16 -2
- package/resources/assets.d.ts.map +1 -1
- package/resources/assets.js +8 -0
- package/resources/assets.js.map +1 -1
- package/resources/assets.mjs +8 -0
- package/resources/assets.mjs.map +1 -1
- package/resources/auctions/auctions.d.ts +364 -0
- package/resources/auctions/auctions.d.ts.map +1 -0
- package/resources/auctions/auctions.js +72 -0
- package/resources/auctions/auctions.js.map +1 -0
- package/resources/auctions/auctions.mjs +45 -0
- package/resources/auctions/auctions.mjs.map +1 -0
- package/resources/auctions/index.d.ts +3 -0
- package/resources/auctions/index.d.ts.map +1 -0
- package/resources/auctions/index.js +9 -0
- package/resources/auctions/index.js.map +1 -0
- package/resources/auctions/index.mjs +4 -0
- package/resources/auctions/index.mjs.map +1 -0
- package/resources/auctions/website-user-attributes/index.d.ts +3 -0
- package/resources/auctions/website-user-attributes/index.d.ts.map +1 -0
- package/resources/auctions/website-user-attributes/index.js +9 -0
- package/resources/auctions/website-user-attributes/index.js.map +1 -0
- package/resources/auctions/website-user-attributes/index.mjs +4 -0
- package/resources/auctions/website-user-attributes/index.mjs.map +1 -0
- package/resources/auctions/website-user-attributes/values.d.ts +126 -0
- package/resources/auctions/website-user-attributes/values.d.ts.map +1 -0
- package/resources/auctions/website-user-attributes/values.js +49 -0
- package/resources/auctions/website-user-attributes/values.js.map +1 -0
- package/resources/auctions/website-user-attributes/values.mjs +45 -0
- package/resources/auctions/website-user-attributes/values.mjs.map +1 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.d.ts +136 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.d.ts.map +1 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.js +76 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.js.map +1 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.mjs +49 -0
- package/resources/auctions/website-user-attributes/website-user-attributes.mjs.map +1 -0
- package/resources/auctions/website-user-attributes.d.ts +2 -0
- package/resources/auctions/website-user-attributes.d.ts.map +1 -0
- package/resources/auctions/website-user-attributes.js +19 -0
- package/resources/auctions/website-user-attributes.js.map +1 -0
- package/resources/auctions/website-user-attributes.mjs +3 -0
- package/resources/auctions/website-user-attributes.mjs.map +1 -0
- package/resources/auctions.d.ts +1 -133
- package/resources/auctions.d.ts.map +1 -1
- package/resources/auctions.js +15 -22
- package/resources/auctions.js.map +1 -1
- package/resources/auctions.mjs +1 -20
- package/resources/auctions.mjs.map +1 -1
- package/resources/auth.d.ts +66 -6
- package/resources/auth.d.ts.map +1 -1
- package/resources/auth.js +6 -0
- package/resources/auth.js.map +1 -1
- package/resources/auth.mjs +6 -0
- package/resources/auth.mjs.map +1 -1
- package/resources/index.d.ts +5 -4
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +5 -3
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +4 -3
- package/resources/index.mjs.map +1 -1
- package/resources/loyalty/account-streaks.d.ts +96 -0
- package/resources/loyalty/account-streaks.d.ts.map +1 -0
- package/resources/loyalty/account-streaks.js +24 -0
- package/resources/loyalty/account-streaks.js.map +1 -0
- package/resources/loyalty/account-streaks.mjs +20 -0
- package/resources/loyalty/account-streaks.mjs.map +1 -0
- package/resources/loyalty/accounts.d.ts +60 -16
- package/resources/loyalty/accounts.d.ts.map +1 -1
- package/resources/loyalty/accounts.js +14 -0
- package/resources/loyalty/accounts.js.map +1 -1
- package/resources/loyalty/accounts.mjs +14 -0
- package/resources/loyalty/accounts.mjs.map +1 -1
- package/resources/loyalty/badges.d.ts +884 -135
- package/resources/loyalty/badges.d.ts.map +1 -1
- package/resources/loyalty/badges.js +19 -1
- package/resources/loyalty/badges.js.map +1 -1
- package/resources/loyalty/badges.mjs +19 -1
- package/resources/loyalty/badges.mjs.map +1 -1
- package/resources/loyalty/currencies.d.ts +19 -0
- package/resources/loyalty/currencies.d.ts.map +1 -1
- package/resources/loyalty/currencies.js +19 -0
- package/resources/loyalty/currencies.js.map +1 -1
- package/resources/loyalty/currencies.mjs +19 -0
- package/resources/loyalty/currencies.mjs.map +1 -1
- package/resources/loyalty/index.d.ts +3 -3
- package/resources/loyalty/index.d.ts.map +1 -1
- package/resources/loyalty/index.js +5 -5
- package/resources/loyalty/index.js.map +1 -1
- package/resources/loyalty/index.mjs +2 -2
- package/resources/loyalty/index.mjs.map +1 -1
- package/resources/loyalty/loyalty.d.ts +9 -9
- package/resources/loyalty/loyalty.d.ts.map +1 -1
- package/resources/loyalty/loyalty.js +6 -6
- package/resources/loyalty/loyalty.js.map +1 -1
- package/resources/loyalty/loyalty.mjs +6 -6
- package/resources/loyalty/loyalty.mjs.map +1 -1
- package/resources/loyalty/multipliers.d.ts +39 -2
- package/resources/loyalty/multipliers.d.ts.map +1 -1
- package/resources/loyalty/multipliers.js +23 -0
- package/resources/loyalty/multipliers.js.map +1 -1
- package/resources/loyalty/multipliers.mjs +23 -0
- package/resources/loyalty/multipliers.mjs.map +1 -1
- package/resources/loyalty/questions-responses.d.ts +55 -4
- package/resources/loyalty/questions-responses.d.ts.map +1 -1
- package/resources/loyalty/questions-responses.js +9 -0
- package/resources/loyalty/questions-responses.js.map +1 -1
- package/resources/loyalty/questions-responses.mjs +9 -0
- package/resources/loyalty/questions-responses.mjs.map +1 -1
- package/resources/loyalty/questions.d.ts +60 -6
- package/resources/loyalty/questions.d.ts.map +1 -1
- package/resources/loyalty/questions.js +39 -0
- package/resources/loyalty/questions.js.map +1 -1
- package/resources/loyalty/questions.mjs +39 -0
- package/resources/loyalty/questions.mjs.map +1 -1
- package/resources/loyalty/rule-edits.d.ts +2862 -8
- package/resources/loyalty/rule-edits.d.ts.map +1 -1
- package/resources/loyalty/rule-edits.js +14 -0
- package/resources/loyalty/rule-edits.js.map +1 -1
- package/resources/loyalty/rule-edits.mjs +14 -0
- package/resources/loyalty/rule-edits.mjs.map +1 -1
- package/resources/loyalty/rule-groups.d.ts +284 -56
- package/resources/loyalty/rule-groups.d.ts.map +1 -1
- package/resources/loyalty/rule-groups.js +18 -0
- package/resources/loyalty/rule-groups.js.map +1 -1
- package/resources/loyalty/rule-groups.mjs +18 -0
- package/resources/loyalty/rule-groups.mjs.map +1 -1
- package/resources/loyalty/rules.d.ts +2324 -355
- package/resources/loyalty/rules.d.ts.map +1 -1
- package/resources/loyalty/rules.js +40 -9
- package/resources/loyalty/rules.js.map +1 -1
- package/resources/loyalty/rules.mjs +40 -9
- package/resources/loyalty/rules.mjs.map +1 -1
- package/resources/loyalty/transactions/index.d.ts +4 -0
- package/resources/loyalty/transactions/index.d.ts.map +1 -0
- package/resources/loyalty/transactions/index.js +11 -0
- package/resources/loyalty/transactions/index.js.map +1 -0
- package/resources/loyalty/transactions/index.mjs +5 -0
- package/resources/loyalty/transactions/index.mjs.map +1 -0
- package/resources/loyalty/transactions/posts.d.ts +145 -0
- package/resources/loyalty/transactions/posts.d.ts.map +1 -0
- package/resources/loyalty/transactions/posts.js +32 -0
- package/resources/loyalty/transactions/posts.js.map +1 -0
- package/resources/loyalty/transactions/posts.mjs +28 -0
- package/resources/loyalty/transactions/posts.mjs.map +1 -0
- package/resources/loyalty/transactions/rule-statuses.d.ts +121 -0
- package/resources/loyalty/transactions/rule-statuses.d.ts.map +1 -0
- package/resources/loyalty/transactions/rule-statuses.js +30 -0
- package/resources/loyalty/transactions/rule-statuses.js.map +1 -0
- package/resources/loyalty/transactions/rule-statuses.mjs +26 -0
- package/resources/loyalty/transactions/rule-statuses.mjs.map +1 -0
- package/resources/loyalty/transactions/transactions.d.ts +566 -0
- package/resources/loyalty/transactions/transactions.d.ts.map +1 -0
- package/resources/loyalty/transactions/transactions.js +110 -0
- package/resources/loyalty/transactions/transactions.js.map +1 -0
- package/resources/loyalty/transactions/transactions.mjs +83 -0
- package/resources/loyalty/transactions/transactions.mjs.map +1 -0
- package/resources/loyalty/transactions.d.ts +1 -248
- package/resources/loyalty/transactions.d.ts.map +1 -1
- package/resources/loyalty/transactions.js +15 -18
- package/resources/loyalty/transactions.js.map +1 -1
- package/resources/loyalty/transactions.mjs +1 -16
- package/resources/loyalty/transactions.mjs.map +1 -1
- package/resources/minting/allowlist.d.ts +84 -0
- package/resources/minting/allowlist.d.ts.map +1 -0
- package/resources/minting/allowlist.js +42 -0
- package/resources/minting/allowlist.js.map +1 -0
- package/resources/minting/allowlist.mjs +38 -0
- package/resources/minting/allowlist.mjs.map +1 -0
- package/resources/minting/contracts.d.ts +165 -0
- package/resources/minting/contracts.d.ts.map +1 -0
- package/resources/minting/contracts.js +30 -0
- package/resources/minting/contracts.js.map +1 -0
- package/resources/minting/contracts.mjs +26 -0
- package/resources/minting/contracts.mjs.map +1 -0
- package/resources/minting/index.d.ts +5 -0
- package/resources/minting/index.d.ts.map +1 -0
- package/resources/minting/index.js +13 -0
- package/resources/minting/index.js.map +1 -0
- package/resources/minting/index.mjs +6 -0
- package/resources/minting/index.mjs.map +1 -0
- package/resources/minting/minting.d.ts +142 -0
- package/resources/minting/minting.d.ts.map +1 -0
- package/resources/minting/minting.js +79 -0
- package/resources/minting/minting.js.map +1 -0
- package/resources/minting/minting.mjs +52 -0
- package/resources/minting/minting.mjs.map +1 -0
- package/resources/minting/status.d.ts +44 -0
- package/resources/minting/status.d.ts.map +1 -0
- package/resources/minting/status.js +33 -0
- package/resources/minting/status.js.map +1 -0
- package/resources/minting/status.mjs +29 -0
- package/resources/minting/status.mjs.map +1 -0
- package/resources/minting.d.ts +1 -94
- package/resources/minting.d.ts.map +1 -1
- package/resources/minting.js +15 -11
- package/resources/minting.js.map +1 -1
- package/resources/minting.mjs +1 -9
- package/resources/minting.mjs.map +1 -1
- package/resources/referral/referral.d.ts +12 -3
- package/resources/referral/referral.d.ts.map +1 -1
- package/resources/referral/referral.js +11 -5
- package/resources/referral/referral.js.map +1 -1
- package/resources/referral/referral.mjs +11 -5
- package/resources/referral/referral.mjs.map +1 -1
- package/resources/referral/users.d.ts +30 -3
- package/resources/referral/users.d.ts.map +1 -1
- package/resources/referral/users.js +12 -4
- package/resources/referral/users.js.map +1 -1
- package/resources/referral/users.mjs +12 -4
- package/resources/referral/users.mjs.map +1 -1
- package/resources/token-claims.d.ts +160 -0
- package/resources/token-claims.d.ts.map +1 -0
- package/resources/token-claims.js +46 -0
- package/resources/token-claims.js.map +1 -0
- package/resources/token-claims.mjs +42 -0
- package/resources/token-claims.mjs.map +1 -0
- package/resources/users/index.d.ts +1 -1
- package/resources/users/index.d.ts.map +1 -1
- package/resources/users/index.js.map +1 -1
- package/resources/users/index.mjs.map +1 -1
- package/resources/users/metadatas.d.ts +36 -3
- package/resources/users/metadatas.d.ts.map +1 -1
- package/resources/users/metadatas.js.map +1 -1
- package/resources/users/metadatas.mjs.map +1 -1
- package/resources/users/users.d.ts +202 -35
- package/resources/users/users.d.ts.map +1 -1
- package/resources/users/users.js +58 -1
- package/resources/users/users.js.map +1 -1
- package/resources/users/users.mjs +58 -1
- package/resources/users/users.mjs.map +1 -1
- package/resources/websites/website-collections.d.ts +22 -1
- package/resources/websites/website-collections.d.ts.map +1 -1
- package/resources/websites/website-collections.js +21 -0
- package/resources/websites/website-collections.js.map +1 -1
- package/resources/websites/website-collections.mjs +21 -0
- package/resources/websites/website-collections.mjs.map +1 -1
- package/resources/websites/website-user-roles.d.ts +24 -1
- package/resources/websites/website-user-roles.d.ts.map +1 -1
- package/resources/websites/website-user-roles.js +23 -0
- package/resources/websites/website-user-roles.js.map +1 -1
- package/resources/websites/website-user-roles.mjs +23 -0
- package/resources/websites/website-user-roles.mjs.map +1 -1
- package/resources/websites/websites.d.ts +110 -8
- package/resources/websites/websites.d.ts.map +1 -1
- package/resources/websites/websites.js +7 -0
- package/resources/websites/websites.js.map +1 -1
- package/resources/websites/websites.mjs +7 -0
- package/resources/websites/websites.mjs.map +1 -1
- package/src/core.ts +44 -15
- package/src/index.ts +82 -4
- package/src/resource.ts +1 -1
- package/src/resources/assets.ts +18 -3
- package/src/resources/auctions/auctions.ts +556 -0
- package/src/resources/auctions/index.ts +19 -0
- package/src/resources/auctions/website-user-attributes/index.ts +18 -0
- package/src/resources/auctions/website-user-attributes/values.ts +170 -0
- package/src/resources/auctions/website-user-attributes/website-user-attributes.ts +212 -0
- package/src/resources/auctions/website-user-attributes.ts +3 -0
- package/src/resources/auctions.ts +1 -207
- package/src/resources/auth.ts +124 -6
- package/src/resources/index.ts +41 -3
- package/src/resources/loyalty/account-streaks.ts +128 -0
- package/src/resources/loyalty/accounts.ts +65 -18
- package/src/resources/loyalty/badges.ts +1057 -145
- package/src/resources/loyalty/currencies.ts +19 -0
- package/src/resources/loyalty/index.ts +13 -2
- package/src/resources/loyalty/loyalty.ts +30 -12
- package/src/resources/loyalty/multipliers.ts +43 -4
- package/src/resources/loyalty/questions-responses.ts +64 -4
- package/src/resources/loyalty/questions.ts +64 -6
- package/src/resources/loyalty/rule-edits.ts +4158 -100
- package/src/resources/loyalty/rule-groups.ts +466 -64
- package/src/resources/loyalty/rules.ts +3586 -377
- package/src/resources/loyalty/transactions/index.ts +29 -0
- package/src/resources/loyalty/transactions/posts.ts +221 -0
- package/src/resources/loyalty/transactions/rule-statuses.ts +179 -0
- package/src/resources/loyalty/transactions/transactions.ts +922 -0
- package/src/resources/loyalty/transactions.ts +1 -440
- package/src/resources/minting/allowlist.ts +116 -0
- package/src/resources/minting/contracts.ts +412 -0
- package/src/resources/minting/index.ts +29 -0
- package/src/resources/minting/minting.ts +279 -0
- package/src/resources/minting/status.ts +70 -0
- package/src/resources/minting.ts +1 -157
- package/src/resources/referral/referral.ts +15 -11
- package/src/resources/referral/users.ts +45 -5
- package/src/resources/token-claims.ts +307 -0
- package/src/resources/users/index.ts +4 -0
- package/src/resources/users/metadatas.ts +61 -3
- package/src/resources/users/users.ts +276 -38
- package/src/resources/websites/website-collections.ts +43 -1
- package/src/resources/websites/website-user-roles.ts +26 -1
- package/src/resources/websites/websites.ts +130 -8
- package/src/version.ts +1 -1
- package/version.d.ts +1 -1
- package/version.d.ts.map +1 -1
- package/version.js +1 -1
- package/version.js.map +1 -1
- package/version.mjs +1 -1
- package/version.mjs.map +1 -1
- package/resources/loyalty/rule-chains.d.ts +0 -34
- package/resources/loyalty/rule-chains.d.ts.map +0 -1
- package/resources/loyalty/rule-chains.js +0 -15
- package/resources/loyalty/rule-chains.js.map +0 -1
- package/resources/loyalty/rule-chains.mjs +0 -11
- package/resources/loyalty/rule-chains.mjs.map +0 -1
- package/src/resources/loyalty/rule-chains.ts +0 -45
|
@@ -6,6 +6,13 @@ import * as Core from '../../core';
|
|
|
6
6
|
export class RuleEdits extends APIResource {
|
|
7
7
|
/**
|
|
8
8
|
* Retrieve configured loyalty rule edits with optional pagination and filters
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* const ruleEdits = await client.loyalty.ruleEdits.list({
|
|
13
|
+
* loyaltyRuleId: true,
|
|
14
|
+
* });
|
|
15
|
+
* ```
|
|
9
16
|
*/
|
|
10
17
|
list(query: RuleEditListParams, options?: Core.RequestOptions): Core.APIPromise<RuleEditListResponse> {
|
|
11
18
|
return this._client.get('/api/loyalty/rule_edits', { query, ...options });
|
|
@@ -13,6 +20,13 @@ export class RuleEdits extends APIResource {
|
|
|
13
20
|
|
|
14
21
|
/**
|
|
15
22
|
* Restore a loyalty rule from a rule edit
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* const response = await client.loyalty.ruleEdits.restore(
|
|
27
|
+
* '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
|
|
28
|
+
* );
|
|
29
|
+
* ```
|
|
16
30
|
*/
|
|
17
31
|
restore(
|
|
18
32
|
id: string,
|
|
@@ -95,7 +109,7 @@ export namespace RuleEditListResponse {
|
|
|
95
109
|
/**
|
|
96
110
|
* Amount associated with the loyalty rule
|
|
97
111
|
*/
|
|
98
|
-
amount: number;
|
|
112
|
+
amount: number | null;
|
|
99
113
|
|
|
100
114
|
/**
|
|
101
115
|
* Timestamp when the loyalty rule was created
|
|
@@ -107,16 +121,41 @@ export namespace RuleEditListResponse {
|
|
|
107
121
|
*/
|
|
108
122
|
deletedAt: string | null;
|
|
109
123
|
|
|
124
|
+
/**
|
|
125
|
+
* Description of the loyalty rule
|
|
126
|
+
*/
|
|
127
|
+
description: string;
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* End time of the loyalty rule
|
|
131
|
+
*/
|
|
132
|
+
endTime: string | null;
|
|
133
|
+
|
|
110
134
|
/**
|
|
111
135
|
* Frequency of the loyalty rule
|
|
112
136
|
*/
|
|
113
137
|
frequency: string;
|
|
114
138
|
|
|
139
|
+
/**
|
|
140
|
+
* Name of the loyalty rule
|
|
141
|
+
*/
|
|
142
|
+
name: string;
|
|
143
|
+
|
|
115
144
|
/**
|
|
116
145
|
* Unique identifier for the organization
|
|
117
146
|
*/
|
|
118
147
|
organizationId: string;
|
|
119
148
|
|
|
149
|
+
/**
|
|
150
|
+
* Type of the reward
|
|
151
|
+
*/
|
|
152
|
+
rewardType: 'points' | 'multiplier' | 'badge';
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Start time of the loyalty rule
|
|
156
|
+
*/
|
|
157
|
+
startTime: string | null;
|
|
158
|
+
|
|
120
159
|
/**
|
|
121
160
|
* Type of the loyalty rule
|
|
122
161
|
*/
|
|
@@ -137,10 +176,996 @@ export namespace RuleEditListResponse {
|
|
|
137
176
|
*/
|
|
138
177
|
collectionAddress?: string;
|
|
139
178
|
|
|
179
|
+
/**
|
|
180
|
+
* URL of the media associated with the loyalty rule
|
|
181
|
+
*/
|
|
182
|
+
mediaUrl?: string | null;
|
|
183
|
+
|
|
140
184
|
/**
|
|
141
185
|
* Optional metadata for the loyalty rule
|
|
142
186
|
*/
|
|
143
|
-
metadata?:
|
|
187
|
+
metadata?: { [key: string]: Data.Metadata };
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
export namespace Data {
|
|
191
|
+
export interface Metadata {
|
|
192
|
+
/**
|
|
193
|
+
* Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code
|
|
194
|
+
* only.
|
|
195
|
+
*/
|
|
196
|
+
allowMultipleRedemptions?: boolean;
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
|
|
200
|
+
* any rule completions count as check-in.
|
|
201
|
+
*/
|
|
202
|
+
autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Number of tokens per batch.
|
|
206
|
+
*/
|
|
207
|
+
batchSize?: number | null;
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Text displayed on the action button.
|
|
211
|
+
*/
|
|
212
|
+
buttonText?: string | null;
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* Flag indicating if commenting is required.
|
|
216
|
+
*/
|
|
217
|
+
checkComment?: boolean | null;
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Flag indicating if liking the post is required.
|
|
221
|
+
*/
|
|
222
|
+
checkLike?: boolean | null;
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* Flag indicating if reposting is required.
|
|
226
|
+
*/
|
|
227
|
+
checkRepost?: boolean | null;
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Text to check in the Twitter post, username, or bio.
|
|
231
|
+
*/
|
|
232
|
+
checkText?: string | Array<string> | null;
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Array of collections associated with the rule.
|
|
236
|
+
*/
|
|
237
|
+
collection?: Array<Metadata.Collection>;
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Conditions for completing the profile.
|
|
241
|
+
*/
|
|
242
|
+
completeProfileConditions?: { [key: string]: boolean } | null;
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* Description of the external rule condition (only for external rules)
|
|
246
|
+
*/
|
|
247
|
+
conditionDescription?: string;
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* Object containing details for the call-to-action.
|
|
251
|
+
*/
|
|
252
|
+
cta?: Metadata.Cta | null;
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* API key for custom rewards integration.
|
|
256
|
+
*/
|
|
257
|
+
customRewardsApiKey?: string;
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Flag indicating if the rule should use direct RPC to get the balance of tokens.
|
|
261
|
+
*/
|
|
262
|
+
directRpc?: boolean;
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* Array of Discord servers, channels, and roles to join.
|
|
266
|
+
*/
|
|
267
|
+
discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
|
|
268
|
+
|
|
269
|
+
/**
|
|
270
|
+
* Array of drip quests required to complete the rule.
|
|
271
|
+
*/
|
|
272
|
+
dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* Flag indicating whether joining Discord servers is required.
|
|
276
|
+
*/
|
|
277
|
+
enableJoinDiscordServers?: boolean | null;
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* Flag indicating whether streaks are enabled.
|
|
281
|
+
*/
|
|
282
|
+
enableStreaks?: boolean | null;
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* Flag indicating whether the verified multiplier is enabled.
|
|
286
|
+
*/
|
|
287
|
+
enableVerifiedMultiplier?: boolean;
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* Type of ERC20 token for the loyalty rule.
|
|
291
|
+
*/
|
|
292
|
+
erc20Type?: 'erc20' | 'native';
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* Fill source of the order for the token sale
|
|
296
|
+
*/
|
|
297
|
+
fillSource?: string;
|
|
298
|
+
|
|
299
|
+
/**
|
|
300
|
+
* Percentage reward given to a user for their first referral.
|
|
301
|
+
*/
|
|
302
|
+
firstReferralReward?: number | null;
|
|
303
|
+
|
|
304
|
+
/**
|
|
305
|
+
* Name of the GitHub branch to check for PR merge.
|
|
306
|
+
*/
|
|
307
|
+
githubBranchName?: string | null;
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* URL of the GitHub repository to check for star.
|
|
311
|
+
*/
|
|
312
|
+
githubRepoUrl?: string | null;
|
|
313
|
+
|
|
314
|
+
/**
|
|
315
|
+
* Flag indicating whether the fill source is included.
|
|
316
|
+
*/
|
|
317
|
+
hasFillSource?: boolean;
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* Indicates if the item has never been sold.
|
|
321
|
+
*/
|
|
322
|
+
hasNeverSold?: boolean;
|
|
323
|
+
|
|
324
|
+
/**
|
|
325
|
+
* Indicates if the full royalty has been paid for items.
|
|
326
|
+
*/
|
|
327
|
+
hasPaidFullRoyalty?: boolean;
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* Flag indicating if the sale currency is included.
|
|
331
|
+
*/
|
|
332
|
+
hasSaleCurrency?: boolean;
|
|
333
|
+
|
|
334
|
+
/**
|
|
335
|
+
* Indicates if the user has a verified Twitter account.
|
|
336
|
+
*/
|
|
337
|
+
hasVerifiedTwitter?: boolean;
|
|
338
|
+
|
|
339
|
+
/**
|
|
340
|
+
* URL of the image associated with the rule.
|
|
341
|
+
*/
|
|
342
|
+
imageUrl?: string | null;
|
|
343
|
+
|
|
344
|
+
/**
|
|
345
|
+
* If enabled, the first transaction done on the platform will complete this rule
|
|
346
|
+
*/
|
|
347
|
+
isCheckInOnEveryTxn?: boolean;
|
|
348
|
+
|
|
349
|
+
/**
|
|
350
|
+
* Indicates if the multiplier has been applied to rewards.
|
|
351
|
+
*/
|
|
352
|
+
isMultiplierApplied?: boolean;
|
|
353
|
+
|
|
354
|
+
/**
|
|
355
|
+
* Flag indicating if the rule is restricted to new users.
|
|
356
|
+
*/
|
|
357
|
+
isRestrictedToNewUsers?: boolean;
|
|
358
|
+
|
|
359
|
+
/**
|
|
360
|
+
* Flag indicating if rewards are applied retroactively.
|
|
361
|
+
*/
|
|
362
|
+
isRetroactive?: boolean | null;
|
|
363
|
+
|
|
364
|
+
/**
|
|
365
|
+
* Flag indicating if the token hold multiplier is applied.
|
|
366
|
+
*/
|
|
367
|
+
isTokenHoldMultiplier?: boolean;
|
|
368
|
+
|
|
369
|
+
/**
|
|
370
|
+
* Optional link associated with the metadata.
|
|
371
|
+
*/
|
|
372
|
+
link?: string | null;
|
|
373
|
+
|
|
374
|
+
/**
|
|
375
|
+
* Liquidity pool details.
|
|
376
|
+
*/
|
|
377
|
+
liquidity?: Metadata.Liquidity;
|
|
378
|
+
|
|
379
|
+
/**
|
|
380
|
+
* Maximum quantity constraint for token holding.
|
|
381
|
+
*/
|
|
382
|
+
maxQty?: number | null;
|
|
383
|
+
|
|
384
|
+
/**
|
|
385
|
+
* Minimum follower count for the rule. Accepts both number and string values.
|
|
386
|
+
*/
|
|
387
|
+
minimumFollowerCount?: number | null;
|
|
388
|
+
|
|
389
|
+
/**
|
|
390
|
+
* Minimum quantity constraint for token holding.
|
|
391
|
+
*/
|
|
392
|
+
minQty?: number | null;
|
|
393
|
+
|
|
394
|
+
/**
|
|
395
|
+
* Array of loyalty currency IDs used for multipliers.
|
|
396
|
+
*/
|
|
397
|
+
multiplierLoyaltyCurrencyIds?: Array<string> | null;
|
|
398
|
+
|
|
399
|
+
/**
|
|
400
|
+
* Flag indicating whether to include only known users.
|
|
401
|
+
*/
|
|
402
|
+
onlyKnownUsers?: boolean;
|
|
403
|
+
|
|
404
|
+
/**
|
|
405
|
+
* Flag indicating whether to include only native tokens.
|
|
406
|
+
*/
|
|
407
|
+
onlyNative?: boolean;
|
|
408
|
+
|
|
409
|
+
/**
|
|
410
|
+
* Flag indicating whether to include only non-listed items.
|
|
411
|
+
*/
|
|
412
|
+
onlyNonListed?: boolean;
|
|
413
|
+
|
|
414
|
+
/**
|
|
415
|
+
* Indicates if only existing users are rewarded.
|
|
416
|
+
*/
|
|
417
|
+
onlyRewardExistingUser?: boolean;
|
|
418
|
+
|
|
419
|
+
/**
|
|
420
|
+
* give points for only one token ownership per contract
|
|
421
|
+
*/
|
|
422
|
+
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
423
|
+
|
|
424
|
+
/**
|
|
425
|
+
* Pre-generated text template that will be used to prefill the post content.
|
|
426
|
+
*/
|
|
427
|
+
preGeneratedPostText?: string | null;
|
|
428
|
+
|
|
429
|
+
/**
|
|
430
|
+
* Promotional code associated with the rule.
|
|
431
|
+
*/
|
|
432
|
+
promoCode?: string;
|
|
433
|
+
|
|
434
|
+
/**
|
|
435
|
+
* URL of the CSV file containing promo codes.
|
|
436
|
+
*/
|
|
437
|
+
promoCodeCsvUrl?: string;
|
|
438
|
+
|
|
439
|
+
/**
|
|
440
|
+
* Numbers of the promotional code to be generated.
|
|
441
|
+
*/
|
|
442
|
+
promoCodeLength?: number | null;
|
|
443
|
+
|
|
444
|
+
/**
|
|
445
|
+
* Type of the promotional code.
|
|
446
|
+
*/
|
|
447
|
+
promoCodeType?: 'code' | 'csv' | 'generate';
|
|
448
|
+
|
|
449
|
+
/**
|
|
450
|
+
* Array defining ranges and corresponding rewards.
|
|
451
|
+
*/
|
|
452
|
+
range?: Array<Metadata.Range>;
|
|
453
|
+
|
|
454
|
+
/**
|
|
455
|
+
* ID of the Reddit post.
|
|
456
|
+
*/
|
|
457
|
+
redditPostId?: string | null;
|
|
458
|
+
|
|
459
|
+
/**
|
|
460
|
+
* Object defining referral requirements.
|
|
461
|
+
*/
|
|
462
|
+
referralRequirements?: Metadata.ReferralRequirements | null;
|
|
463
|
+
|
|
464
|
+
/**
|
|
465
|
+
* Lump sum reward given to a referrer.
|
|
466
|
+
*/
|
|
467
|
+
referrerReward?: number | null;
|
|
468
|
+
|
|
469
|
+
/**
|
|
470
|
+
* Loyalty currency ID of the referrer reward.
|
|
471
|
+
*/
|
|
472
|
+
referrerRewardLoyaltyCurrencyId?: string | null;
|
|
473
|
+
|
|
474
|
+
/**
|
|
475
|
+
* Flag indicating if the post link is required.
|
|
476
|
+
*/
|
|
477
|
+
requirePostLink?: boolean | null;
|
|
478
|
+
|
|
479
|
+
/**
|
|
480
|
+
* Flag indicating if media metadata is required.
|
|
481
|
+
*/
|
|
482
|
+
requirePostMediaLink?: boolean | null;
|
|
483
|
+
|
|
484
|
+
/**
|
|
485
|
+
* If enabled, the progress tracking row will be deleted after a successful claim,
|
|
486
|
+
* allowing the user to re-earn the rule.
|
|
487
|
+
*/
|
|
488
|
+
resetProgressOnClaim?: boolean | null;
|
|
489
|
+
|
|
490
|
+
/**
|
|
491
|
+
* Flag indicating if the rule can also reward badges per range.
|
|
492
|
+
*/
|
|
493
|
+
rewardBadgePerRange?: boolean;
|
|
494
|
+
|
|
495
|
+
/**
|
|
496
|
+
* Flag indicating if the reward is rewarded by batch.
|
|
497
|
+
*/
|
|
498
|
+
rewardByBatch?: boolean | null;
|
|
499
|
+
|
|
500
|
+
/**
|
|
501
|
+
* Criteria to evaluate the reward.
|
|
502
|
+
*/
|
|
503
|
+
rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
|
|
504
|
+
|
|
505
|
+
/**
|
|
506
|
+
* Flag indicating if the reward is rewarded per action.
|
|
507
|
+
*/
|
|
508
|
+
rewardPerAction?: boolean | null;
|
|
509
|
+
|
|
510
|
+
/**
|
|
511
|
+
* Flag indicating if rewards are given per impression.
|
|
512
|
+
*/
|
|
513
|
+
rewardPerImpression?: boolean | null;
|
|
514
|
+
|
|
515
|
+
/**
|
|
516
|
+
* Flag indicating if the rule should reward based on value of traded tokens
|
|
517
|
+
* instead of count.
|
|
518
|
+
*/
|
|
519
|
+
rewardPerValue?: boolean;
|
|
520
|
+
|
|
521
|
+
/**
|
|
522
|
+
* Flag indicating if the rule should reward quality posts.
|
|
523
|
+
*/
|
|
524
|
+
rewardQualityPosts?: boolean;
|
|
525
|
+
|
|
526
|
+
robinhoodSymbols?: Array<string> | null;
|
|
527
|
+
|
|
528
|
+
/**
|
|
529
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
530
|
+
*/
|
|
531
|
+
royaltyAddress?: string;
|
|
532
|
+
|
|
533
|
+
/**
|
|
534
|
+
* Royalty percentage of the item.
|
|
535
|
+
*/
|
|
536
|
+
royaltyPercentage?: number;
|
|
537
|
+
|
|
538
|
+
/**
|
|
539
|
+
* Currency associated with sales.
|
|
540
|
+
*/
|
|
541
|
+
saleCurrency?: string;
|
|
542
|
+
|
|
543
|
+
/**
|
|
544
|
+
* Percentage reward given for a second-level referral.
|
|
545
|
+
*/
|
|
546
|
+
secondReferralReward?: number | null;
|
|
547
|
+
|
|
548
|
+
/**
|
|
549
|
+
* Flag indicating if the multiplier is skipped.
|
|
550
|
+
*/
|
|
551
|
+
skipMultiplier?: boolean | null;
|
|
552
|
+
|
|
553
|
+
/**
|
|
554
|
+
* Object containing details of the associated smart contract.
|
|
555
|
+
*/
|
|
556
|
+
smartContract?: Metadata.SmartContract;
|
|
557
|
+
|
|
558
|
+
/**
|
|
559
|
+
* Array of snapshot proposals for the rule.
|
|
560
|
+
*/
|
|
561
|
+
snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
|
|
562
|
+
|
|
563
|
+
/**
|
|
564
|
+
* Social media platform associated with the rule.
|
|
565
|
+
*/
|
|
566
|
+
socialPlatform?:
|
|
567
|
+
| 'Custom'
|
|
568
|
+
| 'Discord'
|
|
569
|
+
| 'EpicGames'
|
|
570
|
+
| 'Instagram'
|
|
571
|
+
| 'Steam'
|
|
572
|
+
| 'Telegram'
|
|
573
|
+
| 'TikTok'
|
|
574
|
+
| 'Twitch'
|
|
575
|
+
| 'X(Twitter)'
|
|
576
|
+
| 'YouTube'
|
|
577
|
+
| 'Google'
|
|
578
|
+
| 'GitHub'
|
|
579
|
+
| 'Reddit'
|
|
580
|
+
| null;
|
|
581
|
+
|
|
582
|
+
/**
|
|
583
|
+
* URL of the social platform's logo.
|
|
584
|
+
*/
|
|
585
|
+
socialPlatformLogo?: string | null;
|
|
586
|
+
|
|
587
|
+
/**
|
|
588
|
+
* Name of the social platform.
|
|
589
|
+
*/
|
|
590
|
+
socialPlatformName?: string | null;
|
|
591
|
+
|
|
592
|
+
/**
|
|
593
|
+
* ID of the Steam app.
|
|
594
|
+
*/
|
|
595
|
+
steamAppId?: string | null;
|
|
596
|
+
|
|
597
|
+
/**
|
|
598
|
+
* Array of streak milestones and corresponding rewards.
|
|
599
|
+
*/
|
|
600
|
+
streakArray?: Array<Metadata.StreakArray> | null;
|
|
601
|
+
|
|
602
|
+
/**
|
|
603
|
+
* Metadata for swap loyalty rules
|
|
604
|
+
*/
|
|
605
|
+
swap?: Metadata.Swap;
|
|
606
|
+
|
|
607
|
+
/**
|
|
608
|
+
* ID of the Telegram channel.
|
|
609
|
+
*/
|
|
610
|
+
telegramChannelId?: string | null;
|
|
611
|
+
|
|
612
|
+
/**
|
|
613
|
+
* Time delay in seconds to verify actions.
|
|
614
|
+
*/
|
|
615
|
+
timeDelayToVerifySeconds?: string | number | null;
|
|
616
|
+
|
|
617
|
+
/**
|
|
618
|
+
* Flag indicating if all contracts are tracked.
|
|
619
|
+
*/
|
|
620
|
+
trackAllContracts?: boolean | null;
|
|
621
|
+
|
|
622
|
+
/**
|
|
623
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
624
|
+
* completed once the progress is 100%.
|
|
625
|
+
*/
|
|
626
|
+
trackProgress?: boolean | null;
|
|
627
|
+
|
|
628
|
+
/**
|
|
629
|
+
* URL of the associated Twitter account.
|
|
630
|
+
*/
|
|
631
|
+
twitterAccountUrl?: string;
|
|
632
|
+
|
|
633
|
+
/**
|
|
634
|
+
* Hashtag associated with the Twitter post.
|
|
635
|
+
*/
|
|
636
|
+
twitterHashtag?: string;
|
|
637
|
+
|
|
638
|
+
/**
|
|
639
|
+
* URL of the associated Twitter post.
|
|
640
|
+
*/
|
|
641
|
+
twitterPostUrl?: string;
|
|
642
|
+
|
|
643
|
+
/**
|
|
644
|
+
* Unique identifier of the Twitter user.
|
|
645
|
+
*/
|
|
646
|
+
twitterUserId?: string;
|
|
647
|
+
|
|
648
|
+
/**
|
|
649
|
+
* Twitter username of the user.
|
|
650
|
+
*/
|
|
651
|
+
twitterUsername?: string;
|
|
652
|
+
|
|
653
|
+
/**
|
|
654
|
+
* Minimum length of the verification text.
|
|
655
|
+
*/
|
|
656
|
+
verificationTextMinimumLength?: number | null;
|
|
657
|
+
|
|
658
|
+
/**
|
|
659
|
+
* Multiplier applied to rewards for verified users.
|
|
660
|
+
*/
|
|
661
|
+
verifiedMultiplier?: number | null;
|
|
662
|
+
|
|
663
|
+
/**
|
|
664
|
+
* Placeholder text for verification input fields.
|
|
665
|
+
*/
|
|
666
|
+
verifyPlaceHolderText?: string | null;
|
|
667
|
+
|
|
668
|
+
/**
|
|
669
|
+
* Type of wallet associated with the rule.
|
|
670
|
+
*/
|
|
671
|
+
walletType?:
|
|
672
|
+
| 'evm'
|
|
673
|
+
| 'solana'
|
|
674
|
+
| 'imx'
|
|
675
|
+
| 'sui'
|
|
676
|
+
| 'ton'
|
|
677
|
+
| 'cosmos'
|
|
678
|
+
| 'ultra'
|
|
679
|
+
| 'agw'
|
|
680
|
+
| 'flow_cadence'
|
|
681
|
+
| 'substrate'
|
|
682
|
+
| null;
|
|
683
|
+
|
|
684
|
+
/**
|
|
685
|
+
* ID of the Youtube channel.
|
|
686
|
+
*/
|
|
687
|
+
youtubeChannelId?: string | null;
|
|
688
|
+
|
|
689
|
+
/**
|
|
690
|
+
* ID of the Youtube video.
|
|
691
|
+
*/
|
|
692
|
+
youtubeVideoId?: string | null;
|
|
693
|
+
}
|
|
694
|
+
|
|
695
|
+
export namespace Metadata {
|
|
696
|
+
export interface Collection {
|
|
697
|
+
/**
|
|
698
|
+
* Blockchain address of the collection.
|
|
699
|
+
*/
|
|
700
|
+
address?: string;
|
|
701
|
+
|
|
702
|
+
/**
|
|
703
|
+
* Multiplier applied to the rewards for this collection.
|
|
704
|
+
*/
|
|
705
|
+
multiplier?: number;
|
|
706
|
+
|
|
707
|
+
/**
|
|
708
|
+
* Blockchain network of the collection.
|
|
709
|
+
*/
|
|
710
|
+
network?:
|
|
711
|
+
| 'abstract'
|
|
712
|
+
| 'abstractTestnet'
|
|
713
|
+
| 'apechain'
|
|
714
|
+
| 'arbitrum'
|
|
715
|
+
| 'avalanche'
|
|
716
|
+
| 'avalancheFuji'
|
|
717
|
+
| 'base'
|
|
718
|
+
| 'baseSepolia'
|
|
719
|
+
| 'berachain'
|
|
720
|
+
| 'berachainArtio'
|
|
721
|
+
| 'berachainBepolia'
|
|
722
|
+
| 'binance'
|
|
723
|
+
| 'bscTestnet'
|
|
724
|
+
| 'campTestnet'
|
|
725
|
+
| 'fantom'
|
|
726
|
+
| 'fantomTestnet'
|
|
727
|
+
| 'flowMainnet'
|
|
728
|
+
| 'mainnet'
|
|
729
|
+
| 'nexusTestnet'
|
|
730
|
+
| 'optimism'
|
|
731
|
+
| 'polygon'
|
|
732
|
+
| 'polygon_mumbai'
|
|
733
|
+
| 'skaleNebula'
|
|
734
|
+
| 'skaleEuropa'
|
|
735
|
+
| 'skaleCalypso'
|
|
736
|
+
| 'solana'
|
|
737
|
+
| 'sophon'
|
|
738
|
+
| 'sophonTestnet'
|
|
739
|
+
| 'sui'
|
|
740
|
+
| 'superseed'
|
|
741
|
+
| 'superseedSepolia'
|
|
742
|
+
| 'vanar'
|
|
743
|
+
| 'xai'
|
|
744
|
+
| 'zksync'
|
|
745
|
+
| 'coti'
|
|
746
|
+
| 'cotiTestnet'
|
|
747
|
+
| 'morph'
|
|
748
|
+
| 'morphTestnet'
|
|
749
|
+
| 'morphHolesky'
|
|
750
|
+
| 'ultra'
|
|
751
|
+
| 'ultraTestnet'
|
|
752
|
+
| 'nitrograph'
|
|
753
|
+
| 'sepolia'
|
|
754
|
+
| 'optimism_sepolia'
|
|
755
|
+
| 'arbitrumSepolia'
|
|
756
|
+
| 'goerli'
|
|
757
|
+
| 'optimism_goerli'
|
|
758
|
+
| 'arbitrumGoerli'
|
|
759
|
+
| 'basecamp'
|
|
760
|
+
| 'somnia'
|
|
761
|
+
| 'zkverify'
|
|
762
|
+
| 'polkadot'
|
|
763
|
+
| 'kusama'
|
|
764
|
+
| 'horizen'
|
|
765
|
+
| 'horizenTestnet'
|
|
766
|
+
| 'flow_cadence';
|
|
767
|
+
}
|
|
768
|
+
|
|
769
|
+
/**
|
|
770
|
+
* Object containing details for the call-to-action.
|
|
771
|
+
*/
|
|
772
|
+
export interface Cta {
|
|
773
|
+
/**
|
|
774
|
+
* Link for the call-to-action.
|
|
775
|
+
*/
|
|
776
|
+
href?: string | null;
|
|
777
|
+
|
|
778
|
+
/**
|
|
779
|
+
* Label for the call-to-action.
|
|
780
|
+
*/
|
|
781
|
+
label?: string | null;
|
|
782
|
+
}
|
|
783
|
+
|
|
784
|
+
export interface DiscordServersToJoin {
|
|
785
|
+
/**
|
|
786
|
+
* ID of the Discord server to join.
|
|
787
|
+
*/
|
|
788
|
+
id?: string;
|
|
789
|
+
|
|
790
|
+
/**
|
|
791
|
+
* Array of Discord channels to join.
|
|
792
|
+
*/
|
|
793
|
+
channels?: Array<DiscordServersToJoin.Channel>;
|
|
794
|
+
|
|
795
|
+
/**
|
|
796
|
+
* Array of roles to assign in the Discord server.
|
|
797
|
+
*/
|
|
798
|
+
roles?: Array<DiscordServersToJoin.Role>;
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
export namespace DiscordServersToJoin {
|
|
802
|
+
export interface Channel {
|
|
803
|
+
/**
|
|
804
|
+
* ID of the Discord channel.
|
|
805
|
+
*/
|
|
806
|
+
id?: string;
|
|
807
|
+
|
|
808
|
+
/**
|
|
809
|
+
* Array of emojis used in the channel.
|
|
810
|
+
*/
|
|
811
|
+
emojis?: Array<Channel.Emoji>;
|
|
812
|
+
|
|
813
|
+
/**
|
|
814
|
+
* Phrase of text to be present in the discord message
|
|
815
|
+
*/
|
|
816
|
+
text?: string;
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
export namespace Channel {
|
|
820
|
+
export interface Emoji {
|
|
821
|
+
/**
|
|
822
|
+
* ID of the emoji used in the channel.
|
|
823
|
+
*/
|
|
824
|
+
id?: string;
|
|
825
|
+
}
|
|
826
|
+
}
|
|
827
|
+
|
|
828
|
+
export interface Role {
|
|
829
|
+
/**
|
|
830
|
+
* ID of the role in the Discord server.
|
|
831
|
+
*/
|
|
832
|
+
id: string;
|
|
833
|
+
}
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
export interface DripQuestsToComplete {
|
|
837
|
+
/**
|
|
838
|
+
* ID of the drip quest to complete.
|
|
839
|
+
*/
|
|
840
|
+
id: string;
|
|
841
|
+
}
|
|
842
|
+
|
|
843
|
+
/**
|
|
844
|
+
* Liquidity pool details.
|
|
845
|
+
*/
|
|
846
|
+
export interface Liquidity {
|
|
847
|
+
/**
|
|
848
|
+
* Calculation type of the liquidity pool.
|
|
849
|
+
*/
|
|
850
|
+
calculationType?: 'fixed' | 'custom';
|
|
851
|
+
|
|
852
|
+
/**
|
|
853
|
+
* Custom function to calculate the the reward amount based on the liquidity
|
|
854
|
+
* provided per day. X is the reward amount, Y is the liquidity provided per day in
|
|
855
|
+
* USD.
|
|
856
|
+
*/
|
|
857
|
+
customFunction?: string;
|
|
858
|
+
|
|
859
|
+
/**
|
|
860
|
+
* Liquidity provided per day in USD
|
|
861
|
+
*/
|
|
862
|
+
liquidityPerDay?: number;
|
|
863
|
+
|
|
864
|
+
/**
|
|
865
|
+
* Blockchain network of the liquidity pool.
|
|
866
|
+
*/
|
|
867
|
+
network?:
|
|
868
|
+
| 'abstract'
|
|
869
|
+
| 'abstractTestnet'
|
|
870
|
+
| 'apechain'
|
|
871
|
+
| 'arbitrum'
|
|
872
|
+
| 'avalanche'
|
|
873
|
+
| 'avalancheFuji'
|
|
874
|
+
| 'base'
|
|
875
|
+
| 'baseSepolia'
|
|
876
|
+
| 'berachain'
|
|
877
|
+
| 'berachainArtio'
|
|
878
|
+
| 'berachainBepolia'
|
|
879
|
+
| 'binance'
|
|
880
|
+
| 'bscTestnet'
|
|
881
|
+
| 'campTestnet'
|
|
882
|
+
| 'fantom'
|
|
883
|
+
| 'fantomTestnet'
|
|
884
|
+
| 'flowMainnet'
|
|
885
|
+
| 'mainnet'
|
|
886
|
+
| 'nexusTestnet'
|
|
887
|
+
| 'optimism'
|
|
888
|
+
| 'polygon'
|
|
889
|
+
| 'polygon_mumbai'
|
|
890
|
+
| 'skaleNebula'
|
|
891
|
+
| 'skaleEuropa'
|
|
892
|
+
| 'skaleCalypso'
|
|
893
|
+
| 'solana'
|
|
894
|
+
| 'sophon'
|
|
895
|
+
| 'sophonTestnet'
|
|
896
|
+
| 'sui'
|
|
897
|
+
| 'superseed'
|
|
898
|
+
| 'superseedSepolia'
|
|
899
|
+
| 'vanar'
|
|
900
|
+
| 'xai'
|
|
901
|
+
| 'zksync'
|
|
902
|
+
| 'coti'
|
|
903
|
+
| 'cotiTestnet'
|
|
904
|
+
| 'morph'
|
|
905
|
+
| 'morphTestnet'
|
|
906
|
+
| 'morphHolesky'
|
|
907
|
+
| 'ultra'
|
|
908
|
+
| 'ultraTestnet'
|
|
909
|
+
| 'nitrograph'
|
|
910
|
+
| 'sepolia'
|
|
911
|
+
| 'optimism_sepolia'
|
|
912
|
+
| 'arbitrumSepolia'
|
|
913
|
+
| 'goerli'
|
|
914
|
+
| 'optimism_goerli'
|
|
915
|
+
| 'arbitrumGoerli'
|
|
916
|
+
| 'basecamp'
|
|
917
|
+
| 'somnia'
|
|
918
|
+
| 'zkverify'
|
|
919
|
+
| 'polkadot'
|
|
920
|
+
| 'kusama'
|
|
921
|
+
| 'horizen'
|
|
922
|
+
| 'horizenTestnet'
|
|
923
|
+
| 'flow_cadence';
|
|
924
|
+
|
|
925
|
+
/**
|
|
926
|
+
* Indicates if only in-range liquidity is rewarded.
|
|
927
|
+
*/
|
|
928
|
+
onlyRewardInRangeLiquidity?: boolean;
|
|
929
|
+
|
|
930
|
+
/**
|
|
931
|
+
* Array of liquidity pools associated with the rule.
|
|
932
|
+
*/
|
|
933
|
+
pools?: Array<Liquidity.Pool>;
|
|
934
|
+
|
|
935
|
+
/**
|
|
936
|
+
* Protocol of the liquidity pool.
|
|
937
|
+
*/
|
|
938
|
+
protocol?: string;
|
|
939
|
+
}
|
|
940
|
+
|
|
941
|
+
export namespace Liquidity {
|
|
942
|
+
export interface Pool {
|
|
943
|
+
/**
|
|
944
|
+
* Unique identifier of the liquidity pool.
|
|
945
|
+
*/
|
|
946
|
+
id: string;
|
|
947
|
+
}
|
|
948
|
+
}
|
|
949
|
+
|
|
950
|
+
export interface Range {
|
|
951
|
+
/**
|
|
952
|
+
* Reward amount for this range.
|
|
953
|
+
*/
|
|
954
|
+
amount: number;
|
|
955
|
+
|
|
956
|
+
/**
|
|
957
|
+
* End value of the range.
|
|
958
|
+
*/
|
|
959
|
+
endRange: number;
|
|
960
|
+
|
|
961
|
+
/**
|
|
962
|
+
* Start value of the range.
|
|
963
|
+
*/
|
|
964
|
+
startRange: number;
|
|
965
|
+
|
|
966
|
+
/**
|
|
967
|
+
* ID of the loyalty badge for this range.
|
|
968
|
+
*/
|
|
969
|
+
loyaltyBadgeId?: string;
|
|
970
|
+
|
|
971
|
+
/**
|
|
972
|
+
* Amount of the loyalty multiplier for this range.
|
|
973
|
+
*/
|
|
974
|
+
loyaltyMultiplierAmount?: number;
|
|
975
|
+
}
|
|
976
|
+
|
|
977
|
+
/**
|
|
978
|
+
* Object defining referral requirements.
|
|
979
|
+
*/
|
|
980
|
+
export interface ReferralRequirements {
|
|
981
|
+
/**
|
|
982
|
+
* Flag indicating if achieving points is required.
|
|
983
|
+
*/
|
|
984
|
+
achievePoints?: boolean | null;
|
|
985
|
+
|
|
986
|
+
/**
|
|
987
|
+
* Flag indicating if completing the profile is required.
|
|
988
|
+
*/
|
|
989
|
+
completeProfile?: boolean | null;
|
|
990
|
+
|
|
991
|
+
/**
|
|
992
|
+
* Flag indicating if connecting Discord is required.
|
|
993
|
+
*/
|
|
994
|
+
connectDiscord?: boolean | null;
|
|
995
|
+
|
|
996
|
+
/**
|
|
997
|
+
* Flag indicating if connecting email is required.
|
|
998
|
+
*/
|
|
999
|
+
connectEmail?: boolean | null;
|
|
1000
|
+
|
|
1001
|
+
/**
|
|
1002
|
+
* Flag indicating if connecting Twitter is required.
|
|
1003
|
+
*/
|
|
1004
|
+
connectTwitter?: boolean | null;
|
|
1005
|
+
|
|
1006
|
+
points?: ReferralRequirements.Points | null;
|
|
1007
|
+
}
|
|
1008
|
+
|
|
1009
|
+
export namespace ReferralRequirements {
|
|
1010
|
+
export interface Points {
|
|
1011
|
+
/**
|
|
1012
|
+
* Points required for referral.
|
|
1013
|
+
*/
|
|
1014
|
+
amount?: number | null;
|
|
1015
|
+
|
|
1016
|
+
/**
|
|
1017
|
+
* ID of the loyalty currency for referral.
|
|
1018
|
+
*/
|
|
1019
|
+
loyaltyCurrecyId?: string | null;
|
|
1020
|
+
}
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
/**
|
|
1024
|
+
* Object containing details of the associated smart contract.
|
|
1025
|
+
*/
|
|
1026
|
+
export interface SmartContract {
|
|
1027
|
+
/**
|
|
1028
|
+
* Mapping of addresses for the smart contract.
|
|
1029
|
+
*/
|
|
1030
|
+
addressMapping?: string | null;
|
|
1031
|
+
|
|
1032
|
+
/**
|
|
1033
|
+
* Object containing details of the amount multiplier from the event.
|
|
1034
|
+
*/
|
|
1035
|
+
amountMultiplier?: SmartContract.AmountMultiplier | null;
|
|
1036
|
+
|
|
1037
|
+
/**
|
|
1038
|
+
* ID of the smart contract.
|
|
1039
|
+
*/
|
|
1040
|
+
contractId?: string | null;
|
|
1041
|
+
|
|
1042
|
+
/**
|
|
1043
|
+
* Criteria to evaluate the smart contract event.
|
|
1044
|
+
*/
|
|
1045
|
+
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
1046
|
+
|
|
1047
|
+
/**
|
|
1048
|
+
* Event emitted by the smart contract.
|
|
1049
|
+
*/
|
|
1050
|
+
event?: string | null;
|
|
1051
|
+
|
|
1052
|
+
/**
|
|
1053
|
+
* Array of parameters for the smart contract.
|
|
1054
|
+
*/
|
|
1055
|
+
params?: Array<SmartContract.Param> | null;
|
|
1056
|
+
|
|
1057
|
+
/**
|
|
1058
|
+
* Type of the smart contract interaction.
|
|
1059
|
+
*/
|
|
1060
|
+
type?: 'function' | 'event' | null;
|
|
1061
|
+
}
|
|
1062
|
+
|
|
1063
|
+
export namespace SmartContract {
|
|
1064
|
+
/**
|
|
1065
|
+
* Object containing details of the amount multiplier from the event.
|
|
1066
|
+
*/
|
|
1067
|
+
export interface AmountMultiplier {
|
|
1068
|
+
/**
|
|
1069
|
+
* Mapping of the value for the smart contract.
|
|
1070
|
+
*/
|
|
1071
|
+
valueMapping?: string | null;
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
export interface Param {
|
|
1075
|
+
/**
|
|
1076
|
+
* Condition to check for the parameter.
|
|
1077
|
+
*/
|
|
1078
|
+
condition?: string | null;
|
|
1079
|
+
|
|
1080
|
+
/**
|
|
1081
|
+
* Name of the smart contract parameter.
|
|
1082
|
+
*/
|
|
1083
|
+
name?: string | null;
|
|
1084
|
+
|
|
1085
|
+
/**
|
|
1086
|
+
* Value of the parameter.
|
|
1087
|
+
*/
|
|
1088
|
+
value?: string | null;
|
|
1089
|
+
}
|
|
1090
|
+
}
|
|
1091
|
+
|
|
1092
|
+
export interface SnapshotProposal {
|
|
1093
|
+
/**
|
|
1094
|
+
* ID of the snapshot proposal.
|
|
1095
|
+
*/
|
|
1096
|
+
id: string;
|
|
1097
|
+
|
|
1098
|
+
/**
|
|
1099
|
+
* Space associated with the snapshot proposal.
|
|
1100
|
+
*/
|
|
1101
|
+
space: string;
|
|
1102
|
+
}
|
|
1103
|
+
|
|
1104
|
+
export interface StreakArray {
|
|
1105
|
+
/**
|
|
1106
|
+
* Reward amount for achieving the streak milestone.
|
|
1107
|
+
*/
|
|
1108
|
+
streakAmount: number;
|
|
1109
|
+
|
|
1110
|
+
/**
|
|
1111
|
+
* Milestone required to achieve the streak.
|
|
1112
|
+
*/
|
|
1113
|
+
streakMilestone: number;
|
|
1114
|
+
}
|
|
1115
|
+
|
|
1116
|
+
/**
|
|
1117
|
+
* Metadata for swap loyalty rules
|
|
1118
|
+
*/
|
|
1119
|
+
export interface Swap {
|
|
1120
|
+
from?: Swap.From;
|
|
1121
|
+
|
|
1122
|
+
provider?: 'any' | 'relay' | 'lifi';
|
|
1123
|
+
|
|
1124
|
+
relayReferrerId?: string;
|
|
1125
|
+
|
|
1126
|
+
requireCrossChainSwap?: boolean;
|
|
1127
|
+
|
|
1128
|
+
to?: Swap.To;
|
|
1129
|
+
}
|
|
1130
|
+
|
|
1131
|
+
export namespace Swap {
|
|
1132
|
+
export interface From {
|
|
1133
|
+
chain?: 'any' | number | string;
|
|
1134
|
+
|
|
1135
|
+
mode?: 'any' | 'specific';
|
|
1136
|
+
|
|
1137
|
+
tokens?: Array<From.Token>;
|
|
1138
|
+
|
|
1139
|
+
trackAmount?: boolean;
|
|
1140
|
+
}
|
|
1141
|
+
|
|
1142
|
+
export namespace From {
|
|
1143
|
+
export interface Token {
|
|
1144
|
+
address: string;
|
|
1145
|
+
|
|
1146
|
+
chainId: string;
|
|
1147
|
+
}
|
|
1148
|
+
}
|
|
1149
|
+
|
|
1150
|
+
export interface To {
|
|
1151
|
+
chain?: 'any' | number | string;
|
|
1152
|
+
|
|
1153
|
+
mode?: 'any' | 'specific';
|
|
1154
|
+
|
|
1155
|
+
tokens?: Array<To.Token>;
|
|
1156
|
+
|
|
1157
|
+
trackAmount?: boolean;
|
|
1158
|
+
}
|
|
1159
|
+
|
|
1160
|
+
export namespace To {
|
|
1161
|
+
export interface Token {
|
|
1162
|
+
address: string;
|
|
1163
|
+
|
|
1164
|
+
chainId: string;
|
|
1165
|
+
}
|
|
1166
|
+
}
|
|
1167
|
+
}
|
|
1168
|
+
}
|
|
144
1169
|
}
|
|
145
1170
|
|
|
146
1171
|
/**
|
|
@@ -155,7 +1180,7 @@ export namespace RuleEditListResponse {
|
|
|
155
1180
|
/**
|
|
156
1181
|
* Amount associated with the loyalty rule
|
|
157
1182
|
*/
|
|
158
|
-
amount: number;
|
|
1183
|
+
amount: number | null;
|
|
159
1184
|
|
|
160
1185
|
/**
|
|
161
1186
|
* Timestamp when the loyalty rule was created
|
|
@@ -167,16 +1192,41 @@ export namespace RuleEditListResponse {
|
|
|
167
1192
|
*/
|
|
168
1193
|
deletedAt: string | null;
|
|
169
1194
|
|
|
1195
|
+
/**
|
|
1196
|
+
* Description of the loyalty rule
|
|
1197
|
+
*/
|
|
1198
|
+
description: string;
|
|
1199
|
+
|
|
1200
|
+
/**
|
|
1201
|
+
* End time of the loyalty rule
|
|
1202
|
+
*/
|
|
1203
|
+
endTime: string | null;
|
|
1204
|
+
|
|
170
1205
|
/**
|
|
171
1206
|
* Frequency of the loyalty rule
|
|
172
1207
|
*/
|
|
173
1208
|
frequency: string;
|
|
174
1209
|
|
|
1210
|
+
/**
|
|
1211
|
+
* Name of the loyalty rule
|
|
1212
|
+
*/
|
|
1213
|
+
name: string;
|
|
1214
|
+
|
|
175
1215
|
/**
|
|
176
1216
|
* Unique identifier for the organization
|
|
177
1217
|
*/
|
|
178
1218
|
organizationId: string;
|
|
179
1219
|
|
|
1220
|
+
/**
|
|
1221
|
+
* Type of the reward
|
|
1222
|
+
*/
|
|
1223
|
+
rewardType: 'points' | 'multiplier' | 'badge';
|
|
1224
|
+
|
|
1225
|
+
/**
|
|
1226
|
+
* Start time of the loyalty rule
|
|
1227
|
+
*/
|
|
1228
|
+
startTime: string | null;
|
|
1229
|
+
|
|
180
1230
|
/**
|
|
181
1231
|
* Type of the loyalty rule
|
|
182
1232
|
*/
|
|
@@ -197,131 +1247,1057 @@ export namespace RuleEditListResponse {
|
|
|
197
1247
|
*/
|
|
198
1248
|
collectionAddress?: string;
|
|
199
1249
|
|
|
1250
|
+
/**
|
|
1251
|
+
* URL of the media associated with the loyalty rule
|
|
1252
|
+
*/
|
|
1253
|
+
mediaUrl?: string | null;
|
|
1254
|
+
|
|
200
1255
|
/**
|
|
201
1256
|
* Optional metadata for the loyalty rule
|
|
202
1257
|
*/
|
|
203
|
-
metadata?:
|
|
1258
|
+
metadata?: { [key: string]: PreviousData.Metadata };
|
|
204
1259
|
}
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
1260
|
|
|
208
|
-
export
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
1261
|
+
export namespace PreviousData {
|
|
1262
|
+
export interface Metadata {
|
|
1263
|
+
/**
|
|
1264
|
+
* Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code
|
|
1265
|
+
* only.
|
|
1266
|
+
*/
|
|
1267
|
+
allowMultipleRedemptions?: boolean;
|
|
213
1268
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
1269
|
+
/**
|
|
1270
|
+
* Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
|
|
1271
|
+
* any rule completions count as check-in.
|
|
1272
|
+
*/
|
|
1273
|
+
autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
|
|
218
1274
|
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
1275
|
+
/**
|
|
1276
|
+
* Number of tokens per batch.
|
|
1277
|
+
*/
|
|
1278
|
+
batchSize?: number | null;
|
|
223
1279
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
1280
|
+
/**
|
|
1281
|
+
* Text displayed on the action button.
|
|
1282
|
+
*/
|
|
1283
|
+
buttonText?: string | null;
|
|
228
1284
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
1285
|
+
/**
|
|
1286
|
+
* Flag indicating if commenting is required.
|
|
1287
|
+
*/
|
|
1288
|
+
checkComment?: boolean | null;
|
|
233
1289
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
1290
|
+
/**
|
|
1291
|
+
* Flag indicating if liking the post is required.
|
|
1292
|
+
*/
|
|
1293
|
+
checkLike?: boolean | null;
|
|
238
1294
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
1295
|
+
/**
|
|
1296
|
+
* Flag indicating if reposting is required.
|
|
1297
|
+
*/
|
|
1298
|
+
checkRepost?: boolean | null;
|
|
243
1299
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
1300
|
+
/**
|
|
1301
|
+
* Text to check in the Twitter post, username, or bio.
|
|
1302
|
+
*/
|
|
1303
|
+
checkText?: string | Array<string> | null;
|
|
248
1304
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
1305
|
+
/**
|
|
1306
|
+
* Array of collections associated with the rule.
|
|
1307
|
+
*/
|
|
1308
|
+
collection?: Array<Metadata.Collection>;
|
|
253
1309
|
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
}
|
|
1310
|
+
/**
|
|
1311
|
+
* Conditions for completing the profile.
|
|
1312
|
+
*/
|
|
1313
|
+
completeProfileConditions?: { [key: string]: boolean } | null;
|
|
259
1314
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
export interface Data {
|
|
265
|
-
/**
|
|
266
|
-
* Unique identifier for the loyalty rule
|
|
267
|
-
*/
|
|
268
|
-
id: string;
|
|
1315
|
+
/**
|
|
1316
|
+
* Description of the external rule condition (only for external rules)
|
|
1317
|
+
*/
|
|
1318
|
+
conditionDescription?: string;
|
|
269
1319
|
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
1320
|
+
/**
|
|
1321
|
+
* Object containing details for the call-to-action.
|
|
1322
|
+
*/
|
|
1323
|
+
cta?: Metadata.Cta | null;
|
|
274
1324
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
1325
|
+
/**
|
|
1326
|
+
* API key for custom rewards integration.
|
|
1327
|
+
*/
|
|
1328
|
+
customRewardsApiKey?: string;
|
|
279
1329
|
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
1330
|
+
/**
|
|
1331
|
+
* Flag indicating if the rule should use direct RPC to get the balance of tokens.
|
|
1332
|
+
*/
|
|
1333
|
+
directRpc?: boolean;
|
|
284
1334
|
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
1335
|
+
/**
|
|
1336
|
+
* Array of Discord servers, channels, and roles to join.
|
|
1337
|
+
*/
|
|
1338
|
+
discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
|
|
289
1339
|
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
1340
|
+
/**
|
|
1341
|
+
* Array of drip quests required to complete the rule.
|
|
1342
|
+
*/
|
|
1343
|
+
dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
|
|
294
1344
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
1345
|
+
/**
|
|
1346
|
+
* Flag indicating whether joining Discord servers is required.
|
|
1347
|
+
*/
|
|
1348
|
+
enableJoinDiscordServers?: boolean | null;
|
|
299
1349
|
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
1350
|
+
/**
|
|
1351
|
+
* Flag indicating whether streaks are enabled.
|
|
1352
|
+
*/
|
|
1353
|
+
enableStreaks?: boolean | null;
|
|
304
1354
|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
1355
|
+
/**
|
|
1356
|
+
* Flag indicating whether the verified multiplier is enabled.
|
|
1357
|
+
*/
|
|
1358
|
+
enableVerifiedMultiplier?: boolean;
|
|
309
1359
|
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
1360
|
+
/**
|
|
1361
|
+
* Type of ERC20 token for the loyalty rule.
|
|
1362
|
+
*/
|
|
1363
|
+
erc20Type?: 'erc20' | 'native';
|
|
314
1364
|
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
1365
|
+
/**
|
|
1366
|
+
* Fill source of the order for the token sale
|
|
1367
|
+
*/
|
|
1368
|
+
fillSource?: string;
|
|
1369
|
+
|
|
1370
|
+
/**
|
|
1371
|
+
* Percentage reward given to a user for their first referral.
|
|
1372
|
+
*/
|
|
1373
|
+
firstReferralReward?: number | null;
|
|
1374
|
+
|
|
1375
|
+
/**
|
|
1376
|
+
* Name of the GitHub branch to check for PR merge.
|
|
1377
|
+
*/
|
|
1378
|
+
githubBranchName?: string | null;
|
|
1379
|
+
|
|
1380
|
+
/**
|
|
1381
|
+
* URL of the GitHub repository to check for star.
|
|
1382
|
+
*/
|
|
1383
|
+
githubRepoUrl?: string | null;
|
|
1384
|
+
|
|
1385
|
+
/**
|
|
1386
|
+
* Flag indicating whether the fill source is included.
|
|
1387
|
+
*/
|
|
1388
|
+
hasFillSource?: boolean;
|
|
1389
|
+
|
|
1390
|
+
/**
|
|
1391
|
+
* Indicates if the item has never been sold.
|
|
1392
|
+
*/
|
|
1393
|
+
hasNeverSold?: boolean;
|
|
1394
|
+
|
|
1395
|
+
/**
|
|
1396
|
+
* Indicates if the full royalty has been paid for items.
|
|
1397
|
+
*/
|
|
1398
|
+
hasPaidFullRoyalty?: boolean;
|
|
1399
|
+
|
|
1400
|
+
/**
|
|
1401
|
+
* Flag indicating if the sale currency is included.
|
|
1402
|
+
*/
|
|
1403
|
+
hasSaleCurrency?: boolean;
|
|
1404
|
+
|
|
1405
|
+
/**
|
|
1406
|
+
* Indicates if the user has a verified Twitter account.
|
|
1407
|
+
*/
|
|
1408
|
+
hasVerifiedTwitter?: boolean;
|
|
1409
|
+
|
|
1410
|
+
/**
|
|
1411
|
+
* URL of the image associated with the rule.
|
|
1412
|
+
*/
|
|
1413
|
+
imageUrl?: string | null;
|
|
1414
|
+
|
|
1415
|
+
/**
|
|
1416
|
+
* If enabled, the first transaction done on the platform will complete this rule
|
|
1417
|
+
*/
|
|
1418
|
+
isCheckInOnEveryTxn?: boolean;
|
|
1419
|
+
|
|
1420
|
+
/**
|
|
1421
|
+
* Indicates if the multiplier has been applied to rewards.
|
|
1422
|
+
*/
|
|
1423
|
+
isMultiplierApplied?: boolean;
|
|
1424
|
+
|
|
1425
|
+
/**
|
|
1426
|
+
* Flag indicating if the rule is restricted to new users.
|
|
1427
|
+
*/
|
|
1428
|
+
isRestrictedToNewUsers?: boolean;
|
|
1429
|
+
|
|
1430
|
+
/**
|
|
1431
|
+
* Flag indicating if rewards are applied retroactively.
|
|
1432
|
+
*/
|
|
1433
|
+
isRetroactive?: boolean | null;
|
|
1434
|
+
|
|
1435
|
+
/**
|
|
1436
|
+
* Flag indicating if the token hold multiplier is applied.
|
|
1437
|
+
*/
|
|
1438
|
+
isTokenHoldMultiplier?: boolean;
|
|
1439
|
+
|
|
1440
|
+
/**
|
|
1441
|
+
* Optional link associated with the metadata.
|
|
1442
|
+
*/
|
|
1443
|
+
link?: string | null;
|
|
1444
|
+
|
|
1445
|
+
/**
|
|
1446
|
+
* Liquidity pool details.
|
|
1447
|
+
*/
|
|
1448
|
+
liquidity?: Metadata.Liquidity;
|
|
1449
|
+
|
|
1450
|
+
/**
|
|
1451
|
+
* Maximum quantity constraint for token holding.
|
|
1452
|
+
*/
|
|
1453
|
+
maxQty?: number | null;
|
|
1454
|
+
|
|
1455
|
+
/**
|
|
1456
|
+
* Minimum follower count for the rule. Accepts both number and string values.
|
|
1457
|
+
*/
|
|
1458
|
+
minimumFollowerCount?: number | null;
|
|
1459
|
+
|
|
1460
|
+
/**
|
|
1461
|
+
* Minimum quantity constraint for token holding.
|
|
1462
|
+
*/
|
|
1463
|
+
minQty?: number | null;
|
|
1464
|
+
|
|
1465
|
+
/**
|
|
1466
|
+
* Array of loyalty currency IDs used for multipliers.
|
|
1467
|
+
*/
|
|
1468
|
+
multiplierLoyaltyCurrencyIds?: Array<string> | null;
|
|
1469
|
+
|
|
1470
|
+
/**
|
|
1471
|
+
* Flag indicating whether to include only known users.
|
|
1472
|
+
*/
|
|
1473
|
+
onlyKnownUsers?: boolean;
|
|
1474
|
+
|
|
1475
|
+
/**
|
|
1476
|
+
* Flag indicating whether to include only native tokens.
|
|
1477
|
+
*/
|
|
1478
|
+
onlyNative?: boolean;
|
|
1479
|
+
|
|
1480
|
+
/**
|
|
1481
|
+
* Flag indicating whether to include only non-listed items.
|
|
1482
|
+
*/
|
|
1483
|
+
onlyNonListed?: boolean;
|
|
1484
|
+
|
|
1485
|
+
/**
|
|
1486
|
+
* Indicates if only existing users are rewarded.
|
|
1487
|
+
*/
|
|
1488
|
+
onlyRewardExistingUser?: boolean;
|
|
1489
|
+
|
|
1490
|
+
/**
|
|
1491
|
+
* give points for only one token ownership per contract
|
|
1492
|
+
*/
|
|
1493
|
+
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
1494
|
+
|
|
1495
|
+
/**
|
|
1496
|
+
* Pre-generated text template that will be used to prefill the post content.
|
|
1497
|
+
*/
|
|
1498
|
+
preGeneratedPostText?: string | null;
|
|
1499
|
+
|
|
1500
|
+
/**
|
|
1501
|
+
* Promotional code associated with the rule.
|
|
1502
|
+
*/
|
|
1503
|
+
promoCode?: string;
|
|
1504
|
+
|
|
1505
|
+
/**
|
|
1506
|
+
* URL of the CSV file containing promo codes.
|
|
1507
|
+
*/
|
|
1508
|
+
promoCodeCsvUrl?: string;
|
|
1509
|
+
|
|
1510
|
+
/**
|
|
1511
|
+
* Numbers of the promotional code to be generated.
|
|
1512
|
+
*/
|
|
1513
|
+
promoCodeLength?: number | null;
|
|
1514
|
+
|
|
1515
|
+
/**
|
|
1516
|
+
* Type of the promotional code.
|
|
1517
|
+
*/
|
|
1518
|
+
promoCodeType?: 'code' | 'csv' | 'generate';
|
|
1519
|
+
|
|
1520
|
+
/**
|
|
1521
|
+
* Array defining ranges and corresponding rewards.
|
|
1522
|
+
*/
|
|
1523
|
+
range?: Array<Metadata.Range>;
|
|
1524
|
+
|
|
1525
|
+
/**
|
|
1526
|
+
* ID of the Reddit post.
|
|
1527
|
+
*/
|
|
1528
|
+
redditPostId?: string | null;
|
|
1529
|
+
|
|
1530
|
+
/**
|
|
1531
|
+
* Object defining referral requirements.
|
|
1532
|
+
*/
|
|
1533
|
+
referralRequirements?: Metadata.ReferralRequirements | null;
|
|
1534
|
+
|
|
1535
|
+
/**
|
|
1536
|
+
* Lump sum reward given to a referrer.
|
|
1537
|
+
*/
|
|
1538
|
+
referrerReward?: number | null;
|
|
1539
|
+
|
|
1540
|
+
/**
|
|
1541
|
+
* Loyalty currency ID of the referrer reward.
|
|
1542
|
+
*/
|
|
1543
|
+
referrerRewardLoyaltyCurrencyId?: string | null;
|
|
1544
|
+
|
|
1545
|
+
/**
|
|
1546
|
+
* Flag indicating if the post link is required.
|
|
1547
|
+
*/
|
|
1548
|
+
requirePostLink?: boolean | null;
|
|
1549
|
+
|
|
1550
|
+
/**
|
|
1551
|
+
* Flag indicating if media metadata is required.
|
|
1552
|
+
*/
|
|
1553
|
+
requirePostMediaLink?: boolean | null;
|
|
1554
|
+
|
|
1555
|
+
/**
|
|
1556
|
+
* If enabled, the progress tracking row will be deleted after a successful claim,
|
|
1557
|
+
* allowing the user to re-earn the rule.
|
|
1558
|
+
*/
|
|
1559
|
+
resetProgressOnClaim?: boolean | null;
|
|
1560
|
+
|
|
1561
|
+
/**
|
|
1562
|
+
* Flag indicating if the rule can also reward badges per range.
|
|
1563
|
+
*/
|
|
1564
|
+
rewardBadgePerRange?: boolean;
|
|
1565
|
+
|
|
1566
|
+
/**
|
|
1567
|
+
* Flag indicating if the reward is rewarded by batch.
|
|
1568
|
+
*/
|
|
1569
|
+
rewardByBatch?: boolean | null;
|
|
1570
|
+
|
|
1571
|
+
/**
|
|
1572
|
+
* Criteria to evaluate the reward.
|
|
1573
|
+
*/
|
|
1574
|
+
rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
|
|
1575
|
+
|
|
1576
|
+
/**
|
|
1577
|
+
* Flag indicating if the reward is rewarded per action.
|
|
1578
|
+
*/
|
|
1579
|
+
rewardPerAction?: boolean | null;
|
|
1580
|
+
|
|
1581
|
+
/**
|
|
1582
|
+
* Flag indicating if rewards are given per impression.
|
|
1583
|
+
*/
|
|
1584
|
+
rewardPerImpression?: boolean | null;
|
|
1585
|
+
|
|
1586
|
+
/**
|
|
1587
|
+
* Flag indicating if the rule should reward based on value of traded tokens
|
|
1588
|
+
* instead of count.
|
|
1589
|
+
*/
|
|
1590
|
+
rewardPerValue?: boolean;
|
|
1591
|
+
|
|
1592
|
+
/**
|
|
1593
|
+
* Flag indicating if the rule should reward quality posts.
|
|
1594
|
+
*/
|
|
1595
|
+
rewardQualityPosts?: boolean;
|
|
1596
|
+
|
|
1597
|
+
robinhoodSymbols?: Array<string> | null;
|
|
1598
|
+
|
|
1599
|
+
/**
|
|
1600
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
1601
|
+
*/
|
|
1602
|
+
royaltyAddress?: string;
|
|
1603
|
+
|
|
1604
|
+
/**
|
|
1605
|
+
* Royalty percentage of the item.
|
|
1606
|
+
*/
|
|
1607
|
+
royaltyPercentage?: number;
|
|
1608
|
+
|
|
1609
|
+
/**
|
|
1610
|
+
* Currency associated with sales.
|
|
1611
|
+
*/
|
|
1612
|
+
saleCurrency?: string;
|
|
1613
|
+
|
|
1614
|
+
/**
|
|
1615
|
+
* Percentage reward given for a second-level referral.
|
|
1616
|
+
*/
|
|
1617
|
+
secondReferralReward?: number | null;
|
|
1618
|
+
|
|
1619
|
+
/**
|
|
1620
|
+
* Flag indicating if the multiplier is skipped.
|
|
1621
|
+
*/
|
|
1622
|
+
skipMultiplier?: boolean | null;
|
|
1623
|
+
|
|
1624
|
+
/**
|
|
1625
|
+
* Object containing details of the associated smart contract.
|
|
1626
|
+
*/
|
|
1627
|
+
smartContract?: Metadata.SmartContract;
|
|
1628
|
+
|
|
1629
|
+
/**
|
|
1630
|
+
* Array of snapshot proposals for the rule.
|
|
1631
|
+
*/
|
|
1632
|
+
snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
|
|
1633
|
+
|
|
1634
|
+
/**
|
|
1635
|
+
* Social media platform associated with the rule.
|
|
1636
|
+
*/
|
|
1637
|
+
socialPlatform?:
|
|
1638
|
+
| 'Custom'
|
|
1639
|
+
| 'Discord'
|
|
1640
|
+
| 'EpicGames'
|
|
1641
|
+
| 'Instagram'
|
|
1642
|
+
| 'Steam'
|
|
1643
|
+
| 'Telegram'
|
|
1644
|
+
| 'TikTok'
|
|
1645
|
+
| 'Twitch'
|
|
1646
|
+
| 'X(Twitter)'
|
|
1647
|
+
| 'YouTube'
|
|
1648
|
+
| 'Google'
|
|
1649
|
+
| 'GitHub'
|
|
1650
|
+
| 'Reddit'
|
|
1651
|
+
| null;
|
|
1652
|
+
|
|
1653
|
+
/**
|
|
1654
|
+
* URL of the social platform's logo.
|
|
1655
|
+
*/
|
|
1656
|
+
socialPlatformLogo?: string | null;
|
|
1657
|
+
|
|
1658
|
+
/**
|
|
1659
|
+
* Name of the social platform.
|
|
1660
|
+
*/
|
|
1661
|
+
socialPlatformName?: string | null;
|
|
1662
|
+
|
|
1663
|
+
/**
|
|
1664
|
+
* ID of the Steam app.
|
|
1665
|
+
*/
|
|
1666
|
+
steamAppId?: string | null;
|
|
1667
|
+
|
|
1668
|
+
/**
|
|
1669
|
+
* Array of streak milestones and corresponding rewards.
|
|
1670
|
+
*/
|
|
1671
|
+
streakArray?: Array<Metadata.StreakArray> | null;
|
|
1672
|
+
|
|
1673
|
+
/**
|
|
1674
|
+
* Metadata for swap loyalty rules
|
|
1675
|
+
*/
|
|
1676
|
+
swap?: Metadata.Swap;
|
|
1677
|
+
|
|
1678
|
+
/**
|
|
1679
|
+
* ID of the Telegram channel.
|
|
1680
|
+
*/
|
|
1681
|
+
telegramChannelId?: string | null;
|
|
1682
|
+
|
|
1683
|
+
/**
|
|
1684
|
+
* Time delay in seconds to verify actions.
|
|
1685
|
+
*/
|
|
1686
|
+
timeDelayToVerifySeconds?: string | number | null;
|
|
1687
|
+
|
|
1688
|
+
/**
|
|
1689
|
+
* Flag indicating if all contracts are tracked.
|
|
1690
|
+
*/
|
|
1691
|
+
trackAllContracts?: boolean | null;
|
|
1692
|
+
|
|
1693
|
+
/**
|
|
1694
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
1695
|
+
* completed once the progress is 100%.
|
|
1696
|
+
*/
|
|
1697
|
+
trackProgress?: boolean | null;
|
|
1698
|
+
|
|
1699
|
+
/**
|
|
1700
|
+
* URL of the associated Twitter account.
|
|
1701
|
+
*/
|
|
1702
|
+
twitterAccountUrl?: string;
|
|
1703
|
+
|
|
1704
|
+
/**
|
|
1705
|
+
* Hashtag associated with the Twitter post.
|
|
1706
|
+
*/
|
|
1707
|
+
twitterHashtag?: string;
|
|
1708
|
+
|
|
1709
|
+
/**
|
|
1710
|
+
* URL of the associated Twitter post.
|
|
1711
|
+
*/
|
|
1712
|
+
twitterPostUrl?: string;
|
|
1713
|
+
|
|
1714
|
+
/**
|
|
1715
|
+
* Unique identifier of the Twitter user.
|
|
1716
|
+
*/
|
|
1717
|
+
twitterUserId?: string;
|
|
1718
|
+
|
|
1719
|
+
/**
|
|
1720
|
+
* Twitter username of the user.
|
|
1721
|
+
*/
|
|
1722
|
+
twitterUsername?: string;
|
|
1723
|
+
|
|
1724
|
+
/**
|
|
1725
|
+
* Minimum length of the verification text.
|
|
1726
|
+
*/
|
|
1727
|
+
verificationTextMinimumLength?: number | null;
|
|
1728
|
+
|
|
1729
|
+
/**
|
|
1730
|
+
* Multiplier applied to rewards for verified users.
|
|
1731
|
+
*/
|
|
1732
|
+
verifiedMultiplier?: number | null;
|
|
1733
|
+
|
|
1734
|
+
/**
|
|
1735
|
+
* Placeholder text for verification input fields.
|
|
1736
|
+
*/
|
|
1737
|
+
verifyPlaceHolderText?: string | null;
|
|
1738
|
+
|
|
1739
|
+
/**
|
|
1740
|
+
* Type of wallet associated with the rule.
|
|
1741
|
+
*/
|
|
1742
|
+
walletType?:
|
|
1743
|
+
| 'evm'
|
|
1744
|
+
| 'solana'
|
|
1745
|
+
| 'imx'
|
|
1746
|
+
| 'sui'
|
|
1747
|
+
| 'ton'
|
|
1748
|
+
| 'cosmos'
|
|
1749
|
+
| 'ultra'
|
|
1750
|
+
| 'agw'
|
|
1751
|
+
| 'flow_cadence'
|
|
1752
|
+
| 'substrate'
|
|
1753
|
+
| null;
|
|
1754
|
+
|
|
1755
|
+
/**
|
|
1756
|
+
* ID of the Youtube channel.
|
|
1757
|
+
*/
|
|
1758
|
+
youtubeChannelId?: string | null;
|
|
1759
|
+
|
|
1760
|
+
/**
|
|
1761
|
+
* ID of the Youtube video.
|
|
1762
|
+
*/
|
|
1763
|
+
youtubeVideoId?: string | null;
|
|
1764
|
+
}
|
|
1765
|
+
|
|
1766
|
+
export namespace Metadata {
|
|
1767
|
+
export interface Collection {
|
|
1768
|
+
/**
|
|
1769
|
+
* Blockchain address of the collection.
|
|
1770
|
+
*/
|
|
1771
|
+
address?: string;
|
|
1772
|
+
|
|
1773
|
+
/**
|
|
1774
|
+
* Multiplier applied to the rewards for this collection.
|
|
1775
|
+
*/
|
|
1776
|
+
multiplier?: number;
|
|
1777
|
+
|
|
1778
|
+
/**
|
|
1779
|
+
* Blockchain network of the collection.
|
|
1780
|
+
*/
|
|
1781
|
+
network?:
|
|
1782
|
+
| 'abstract'
|
|
1783
|
+
| 'abstractTestnet'
|
|
1784
|
+
| 'apechain'
|
|
1785
|
+
| 'arbitrum'
|
|
1786
|
+
| 'avalanche'
|
|
1787
|
+
| 'avalancheFuji'
|
|
1788
|
+
| 'base'
|
|
1789
|
+
| 'baseSepolia'
|
|
1790
|
+
| 'berachain'
|
|
1791
|
+
| 'berachainArtio'
|
|
1792
|
+
| 'berachainBepolia'
|
|
1793
|
+
| 'binance'
|
|
1794
|
+
| 'bscTestnet'
|
|
1795
|
+
| 'campTestnet'
|
|
1796
|
+
| 'fantom'
|
|
1797
|
+
| 'fantomTestnet'
|
|
1798
|
+
| 'flowMainnet'
|
|
1799
|
+
| 'mainnet'
|
|
1800
|
+
| 'nexusTestnet'
|
|
1801
|
+
| 'optimism'
|
|
1802
|
+
| 'polygon'
|
|
1803
|
+
| 'polygon_mumbai'
|
|
1804
|
+
| 'skaleNebula'
|
|
1805
|
+
| 'skaleEuropa'
|
|
1806
|
+
| 'skaleCalypso'
|
|
1807
|
+
| 'solana'
|
|
1808
|
+
| 'sophon'
|
|
1809
|
+
| 'sophonTestnet'
|
|
1810
|
+
| 'sui'
|
|
1811
|
+
| 'superseed'
|
|
1812
|
+
| 'superseedSepolia'
|
|
1813
|
+
| 'vanar'
|
|
1814
|
+
| 'xai'
|
|
1815
|
+
| 'zksync'
|
|
1816
|
+
| 'coti'
|
|
1817
|
+
| 'cotiTestnet'
|
|
1818
|
+
| 'morph'
|
|
1819
|
+
| 'morphTestnet'
|
|
1820
|
+
| 'morphHolesky'
|
|
1821
|
+
| 'ultra'
|
|
1822
|
+
| 'ultraTestnet'
|
|
1823
|
+
| 'nitrograph'
|
|
1824
|
+
| 'sepolia'
|
|
1825
|
+
| 'optimism_sepolia'
|
|
1826
|
+
| 'arbitrumSepolia'
|
|
1827
|
+
| 'goerli'
|
|
1828
|
+
| 'optimism_goerli'
|
|
1829
|
+
| 'arbitrumGoerli'
|
|
1830
|
+
| 'basecamp'
|
|
1831
|
+
| 'somnia'
|
|
1832
|
+
| 'zkverify'
|
|
1833
|
+
| 'polkadot'
|
|
1834
|
+
| 'kusama'
|
|
1835
|
+
| 'horizen'
|
|
1836
|
+
| 'horizenTestnet'
|
|
1837
|
+
| 'flow_cadence';
|
|
1838
|
+
}
|
|
1839
|
+
|
|
1840
|
+
/**
|
|
1841
|
+
* Object containing details for the call-to-action.
|
|
1842
|
+
*/
|
|
1843
|
+
export interface Cta {
|
|
1844
|
+
/**
|
|
1845
|
+
* Link for the call-to-action.
|
|
1846
|
+
*/
|
|
1847
|
+
href?: string | null;
|
|
1848
|
+
|
|
1849
|
+
/**
|
|
1850
|
+
* Label for the call-to-action.
|
|
1851
|
+
*/
|
|
1852
|
+
label?: string | null;
|
|
1853
|
+
}
|
|
1854
|
+
|
|
1855
|
+
export interface DiscordServersToJoin {
|
|
1856
|
+
/**
|
|
1857
|
+
* ID of the Discord server to join.
|
|
1858
|
+
*/
|
|
1859
|
+
id?: string;
|
|
1860
|
+
|
|
1861
|
+
/**
|
|
1862
|
+
* Array of Discord channels to join.
|
|
1863
|
+
*/
|
|
1864
|
+
channels?: Array<DiscordServersToJoin.Channel>;
|
|
1865
|
+
|
|
1866
|
+
/**
|
|
1867
|
+
* Array of roles to assign in the Discord server.
|
|
1868
|
+
*/
|
|
1869
|
+
roles?: Array<DiscordServersToJoin.Role>;
|
|
1870
|
+
}
|
|
1871
|
+
|
|
1872
|
+
export namespace DiscordServersToJoin {
|
|
1873
|
+
export interface Channel {
|
|
1874
|
+
/**
|
|
1875
|
+
* ID of the Discord channel.
|
|
1876
|
+
*/
|
|
1877
|
+
id?: string;
|
|
1878
|
+
|
|
1879
|
+
/**
|
|
1880
|
+
* Array of emojis used in the channel.
|
|
1881
|
+
*/
|
|
1882
|
+
emojis?: Array<Channel.Emoji>;
|
|
1883
|
+
|
|
1884
|
+
/**
|
|
1885
|
+
* Phrase of text to be present in the discord message
|
|
1886
|
+
*/
|
|
1887
|
+
text?: string;
|
|
1888
|
+
}
|
|
1889
|
+
|
|
1890
|
+
export namespace Channel {
|
|
1891
|
+
export interface Emoji {
|
|
1892
|
+
/**
|
|
1893
|
+
* ID of the emoji used in the channel.
|
|
1894
|
+
*/
|
|
1895
|
+
id?: string;
|
|
1896
|
+
}
|
|
1897
|
+
}
|
|
1898
|
+
|
|
1899
|
+
export interface Role {
|
|
1900
|
+
/**
|
|
1901
|
+
* ID of the role in the Discord server.
|
|
1902
|
+
*/
|
|
1903
|
+
id: string;
|
|
1904
|
+
}
|
|
1905
|
+
}
|
|
1906
|
+
|
|
1907
|
+
export interface DripQuestsToComplete {
|
|
1908
|
+
/**
|
|
1909
|
+
* ID of the drip quest to complete.
|
|
1910
|
+
*/
|
|
1911
|
+
id: string;
|
|
1912
|
+
}
|
|
1913
|
+
|
|
1914
|
+
/**
|
|
1915
|
+
* Liquidity pool details.
|
|
1916
|
+
*/
|
|
1917
|
+
export interface Liquidity {
|
|
1918
|
+
/**
|
|
1919
|
+
* Calculation type of the liquidity pool.
|
|
1920
|
+
*/
|
|
1921
|
+
calculationType?: 'fixed' | 'custom';
|
|
1922
|
+
|
|
1923
|
+
/**
|
|
1924
|
+
* Custom function to calculate the the reward amount based on the liquidity
|
|
1925
|
+
* provided per day. X is the reward amount, Y is the liquidity provided per day in
|
|
1926
|
+
* USD.
|
|
1927
|
+
*/
|
|
1928
|
+
customFunction?: string;
|
|
1929
|
+
|
|
1930
|
+
/**
|
|
1931
|
+
* Liquidity provided per day in USD
|
|
1932
|
+
*/
|
|
1933
|
+
liquidityPerDay?: number;
|
|
1934
|
+
|
|
1935
|
+
/**
|
|
1936
|
+
* Blockchain network of the liquidity pool.
|
|
1937
|
+
*/
|
|
1938
|
+
network?:
|
|
1939
|
+
| 'abstract'
|
|
1940
|
+
| 'abstractTestnet'
|
|
1941
|
+
| 'apechain'
|
|
1942
|
+
| 'arbitrum'
|
|
1943
|
+
| 'avalanche'
|
|
1944
|
+
| 'avalancheFuji'
|
|
1945
|
+
| 'base'
|
|
1946
|
+
| 'baseSepolia'
|
|
1947
|
+
| 'berachain'
|
|
1948
|
+
| 'berachainArtio'
|
|
1949
|
+
| 'berachainBepolia'
|
|
1950
|
+
| 'binance'
|
|
1951
|
+
| 'bscTestnet'
|
|
1952
|
+
| 'campTestnet'
|
|
1953
|
+
| 'fantom'
|
|
1954
|
+
| 'fantomTestnet'
|
|
1955
|
+
| 'flowMainnet'
|
|
1956
|
+
| 'mainnet'
|
|
1957
|
+
| 'nexusTestnet'
|
|
1958
|
+
| 'optimism'
|
|
1959
|
+
| 'polygon'
|
|
1960
|
+
| 'polygon_mumbai'
|
|
1961
|
+
| 'skaleNebula'
|
|
1962
|
+
| 'skaleEuropa'
|
|
1963
|
+
| 'skaleCalypso'
|
|
1964
|
+
| 'solana'
|
|
1965
|
+
| 'sophon'
|
|
1966
|
+
| 'sophonTestnet'
|
|
1967
|
+
| 'sui'
|
|
1968
|
+
| 'superseed'
|
|
1969
|
+
| 'superseedSepolia'
|
|
1970
|
+
| 'vanar'
|
|
1971
|
+
| 'xai'
|
|
1972
|
+
| 'zksync'
|
|
1973
|
+
| 'coti'
|
|
1974
|
+
| 'cotiTestnet'
|
|
1975
|
+
| 'morph'
|
|
1976
|
+
| 'morphTestnet'
|
|
1977
|
+
| 'morphHolesky'
|
|
1978
|
+
| 'ultra'
|
|
1979
|
+
| 'ultraTestnet'
|
|
1980
|
+
| 'nitrograph'
|
|
1981
|
+
| 'sepolia'
|
|
1982
|
+
| 'optimism_sepolia'
|
|
1983
|
+
| 'arbitrumSepolia'
|
|
1984
|
+
| 'goerli'
|
|
1985
|
+
| 'optimism_goerli'
|
|
1986
|
+
| 'arbitrumGoerli'
|
|
1987
|
+
| 'basecamp'
|
|
1988
|
+
| 'somnia'
|
|
1989
|
+
| 'zkverify'
|
|
1990
|
+
| 'polkadot'
|
|
1991
|
+
| 'kusama'
|
|
1992
|
+
| 'horizen'
|
|
1993
|
+
| 'horizenTestnet'
|
|
1994
|
+
| 'flow_cadence';
|
|
1995
|
+
|
|
1996
|
+
/**
|
|
1997
|
+
* Indicates if only in-range liquidity is rewarded.
|
|
1998
|
+
*/
|
|
1999
|
+
onlyRewardInRangeLiquidity?: boolean;
|
|
2000
|
+
|
|
2001
|
+
/**
|
|
2002
|
+
* Array of liquidity pools associated with the rule.
|
|
2003
|
+
*/
|
|
2004
|
+
pools?: Array<Liquidity.Pool>;
|
|
2005
|
+
|
|
2006
|
+
/**
|
|
2007
|
+
* Protocol of the liquidity pool.
|
|
2008
|
+
*/
|
|
2009
|
+
protocol?: string;
|
|
2010
|
+
}
|
|
2011
|
+
|
|
2012
|
+
export namespace Liquidity {
|
|
2013
|
+
export interface Pool {
|
|
2014
|
+
/**
|
|
2015
|
+
* Unique identifier of the liquidity pool.
|
|
2016
|
+
*/
|
|
2017
|
+
id: string;
|
|
2018
|
+
}
|
|
2019
|
+
}
|
|
2020
|
+
|
|
2021
|
+
export interface Range {
|
|
2022
|
+
/**
|
|
2023
|
+
* Reward amount for this range.
|
|
2024
|
+
*/
|
|
2025
|
+
amount: number;
|
|
2026
|
+
|
|
2027
|
+
/**
|
|
2028
|
+
* End value of the range.
|
|
2029
|
+
*/
|
|
2030
|
+
endRange: number;
|
|
2031
|
+
|
|
2032
|
+
/**
|
|
2033
|
+
* Start value of the range.
|
|
2034
|
+
*/
|
|
2035
|
+
startRange: number;
|
|
2036
|
+
|
|
2037
|
+
/**
|
|
2038
|
+
* ID of the loyalty badge for this range.
|
|
2039
|
+
*/
|
|
2040
|
+
loyaltyBadgeId?: string;
|
|
2041
|
+
|
|
2042
|
+
/**
|
|
2043
|
+
* Amount of the loyalty multiplier for this range.
|
|
2044
|
+
*/
|
|
2045
|
+
loyaltyMultiplierAmount?: number;
|
|
2046
|
+
}
|
|
2047
|
+
|
|
2048
|
+
/**
|
|
2049
|
+
* Object defining referral requirements.
|
|
2050
|
+
*/
|
|
2051
|
+
export interface ReferralRequirements {
|
|
2052
|
+
/**
|
|
2053
|
+
* Flag indicating if achieving points is required.
|
|
2054
|
+
*/
|
|
2055
|
+
achievePoints?: boolean | null;
|
|
2056
|
+
|
|
2057
|
+
/**
|
|
2058
|
+
* Flag indicating if completing the profile is required.
|
|
2059
|
+
*/
|
|
2060
|
+
completeProfile?: boolean | null;
|
|
2061
|
+
|
|
2062
|
+
/**
|
|
2063
|
+
* Flag indicating if connecting Discord is required.
|
|
2064
|
+
*/
|
|
2065
|
+
connectDiscord?: boolean | null;
|
|
2066
|
+
|
|
2067
|
+
/**
|
|
2068
|
+
* Flag indicating if connecting email is required.
|
|
2069
|
+
*/
|
|
2070
|
+
connectEmail?: boolean | null;
|
|
2071
|
+
|
|
2072
|
+
/**
|
|
2073
|
+
* Flag indicating if connecting Twitter is required.
|
|
2074
|
+
*/
|
|
2075
|
+
connectTwitter?: boolean | null;
|
|
2076
|
+
|
|
2077
|
+
points?: ReferralRequirements.Points | null;
|
|
2078
|
+
}
|
|
2079
|
+
|
|
2080
|
+
export namespace ReferralRequirements {
|
|
2081
|
+
export interface Points {
|
|
2082
|
+
/**
|
|
2083
|
+
* Points required for referral.
|
|
2084
|
+
*/
|
|
2085
|
+
amount?: number | null;
|
|
2086
|
+
|
|
2087
|
+
/**
|
|
2088
|
+
* ID of the loyalty currency for referral.
|
|
2089
|
+
*/
|
|
2090
|
+
loyaltyCurrecyId?: string | null;
|
|
2091
|
+
}
|
|
2092
|
+
}
|
|
2093
|
+
|
|
2094
|
+
/**
|
|
2095
|
+
* Object containing details of the associated smart contract.
|
|
2096
|
+
*/
|
|
2097
|
+
export interface SmartContract {
|
|
2098
|
+
/**
|
|
2099
|
+
* Mapping of addresses for the smart contract.
|
|
2100
|
+
*/
|
|
2101
|
+
addressMapping?: string | null;
|
|
2102
|
+
|
|
2103
|
+
/**
|
|
2104
|
+
* Object containing details of the amount multiplier from the event.
|
|
2105
|
+
*/
|
|
2106
|
+
amountMultiplier?: SmartContract.AmountMultiplier | null;
|
|
2107
|
+
|
|
2108
|
+
/**
|
|
2109
|
+
* ID of the smart contract.
|
|
2110
|
+
*/
|
|
2111
|
+
contractId?: string | null;
|
|
2112
|
+
|
|
2113
|
+
/**
|
|
2114
|
+
* Criteria to evaluate the smart contract event.
|
|
2115
|
+
*/
|
|
2116
|
+
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
2117
|
+
|
|
2118
|
+
/**
|
|
2119
|
+
* Event emitted by the smart contract.
|
|
2120
|
+
*/
|
|
2121
|
+
event?: string | null;
|
|
2122
|
+
|
|
2123
|
+
/**
|
|
2124
|
+
* Array of parameters for the smart contract.
|
|
2125
|
+
*/
|
|
2126
|
+
params?: Array<SmartContract.Param> | null;
|
|
2127
|
+
|
|
2128
|
+
/**
|
|
2129
|
+
* Type of the smart contract interaction.
|
|
2130
|
+
*/
|
|
2131
|
+
type?: 'function' | 'event' | null;
|
|
2132
|
+
}
|
|
2133
|
+
|
|
2134
|
+
export namespace SmartContract {
|
|
2135
|
+
/**
|
|
2136
|
+
* Object containing details of the amount multiplier from the event.
|
|
2137
|
+
*/
|
|
2138
|
+
export interface AmountMultiplier {
|
|
2139
|
+
/**
|
|
2140
|
+
* Mapping of the value for the smart contract.
|
|
2141
|
+
*/
|
|
2142
|
+
valueMapping?: string | null;
|
|
2143
|
+
}
|
|
2144
|
+
|
|
2145
|
+
export interface Param {
|
|
2146
|
+
/**
|
|
2147
|
+
* Condition to check for the parameter.
|
|
2148
|
+
*/
|
|
2149
|
+
condition?: string | null;
|
|
2150
|
+
|
|
2151
|
+
/**
|
|
2152
|
+
* Name of the smart contract parameter.
|
|
2153
|
+
*/
|
|
2154
|
+
name?: string | null;
|
|
2155
|
+
|
|
2156
|
+
/**
|
|
2157
|
+
* Value of the parameter.
|
|
2158
|
+
*/
|
|
2159
|
+
value?: string | null;
|
|
2160
|
+
}
|
|
2161
|
+
}
|
|
2162
|
+
|
|
2163
|
+
export interface SnapshotProposal {
|
|
2164
|
+
/**
|
|
2165
|
+
* ID of the snapshot proposal.
|
|
2166
|
+
*/
|
|
2167
|
+
id: string;
|
|
2168
|
+
|
|
2169
|
+
/**
|
|
2170
|
+
* Space associated with the snapshot proposal.
|
|
2171
|
+
*/
|
|
2172
|
+
space: string;
|
|
2173
|
+
}
|
|
2174
|
+
|
|
2175
|
+
export interface StreakArray {
|
|
2176
|
+
/**
|
|
2177
|
+
* Reward amount for achieving the streak milestone.
|
|
2178
|
+
*/
|
|
2179
|
+
streakAmount: number;
|
|
2180
|
+
|
|
2181
|
+
/**
|
|
2182
|
+
* Milestone required to achieve the streak.
|
|
2183
|
+
*/
|
|
2184
|
+
streakMilestone: number;
|
|
2185
|
+
}
|
|
2186
|
+
|
|
2187
|
+
/**
|
|
2188
|
+
* Metadata for swap loyalty rules
|
|
2189
|
+
*/
|
|
2190
|
+
export interface Swap {
|
|
2191
|
+
from?: Swap.From;
|
|
2192
|
+
|
|
2193
|
+
provider?: 'any' | 'relay' | 'lifi';
|
|
2194
|
+
|
|
2195
|
+
relayReferrerId?: string;
|
|
2196
|
+
|
|
2197
|
+
requireCrossChainSwap?: boolean;
|
|
2198
|
+
|
|
2199
|
+
to?: Swap.To;
|
|
2200
|
+
}
|
|
2201
|
+
|
|
2202
|
+
export namespace Swap {
|
|
2203
|
+
export interface From {
|
|
2204
|
+
chain?: 'any' | number | string;
|
|
2205
|
+
|
|
2206
|
+
mode?: 'any' | 'specific';
|
|
2207
|
+
|
|
2208
|
+
tokens?: Array<From.Token>;
|
|
2209
|
+
|
|
2210
|
+
trackAmount?: boolean;
|
|
2211
|
+
}
|
|
2212
|
+
|
|
2213
|
+
export namespace From {
|
|
2214
|
+
export interface Token {
|
|
2215
|
+
address: string;
|
|
2216
|
+
|
|
2217
|
+
chainId: string;
|
|
2218
|
+
}
|
|
2219
|
+
}
|
|
2220
|
+
|
|
2221
|
+
export interface To {
|
|
2222
|
+
chain?: 'any' | number | string;
|
|
2223
|
+
|
|
2224
|
+
mode?: 'any' | 'specific';
|
|
2225
|
+
|
|
2226
|
+
tokens?: Array<To.Token>;
|
|
2227
|
+
|
|
2228
|
+
trackAmount?: boolean;
|
|
2229
|
+
}
|
|
2230
|
+
|
|
2231
|
+
export namespace To {
|
|
2232
|
+
export interface Token {
|
|
2233
|
+
address: string;
|
|
2234
|
+
|
|
2235
|
+
chainId: string;
|
|
2236
|
+
}
|
|
2237
|
+
}
|
|
2238
|
+
}
|
|
2239
|
+
}
|
|
2240
|
+
}
|
|
319
2241
|
}
|
|
2242
|
+
}
|
|
2243
|
+
|
|
2244
|
+
export interface RuleEditRestoreResponse {
|
|
2245
|
+
/**
|
|
2246
|
+
* Unique identifier for the rule edit
|
|
2247
|
+
*/
|
|
2248
|
+
id: string;
|
|
2249
|
+
|
|
2250
|
+
/**
|
|
2251
|
+
* Type of action that was made on the rule
|
|
2252
|
+
*/
|
|
2253
|
+
action: 'create' | 'update' | 'delete' | 'restore';
|
|
2254
|
+
|
|
2255
|
+
/**
|
|
2256
|
+
* Data that was changed on the rule
|
|
2257
|
+
*/
|
|
2258
|
+
data: RuleEditRestoreResponse.Data;
|
|
2259
|
+
|
|
2260
|
+
/**
|
|
2261
|
+
* Timestamp of when the rule edit was made
|
|
2262
|
+
*/
|
|
2263
|
+
editedAt: string;
|
|
2264
|
+
|
|
2265
|
+
/**
|
|
2266
|
+
* User ID of the user who made the edit
|
|
2267
|
+
*/
|
|
2268
|
+
editedByUserId: string;
|
|
2269
|
+
|
|
2270
|
+
/**
|
|
2271
|
+
* ID of the loyalty rule
|
|
2272
|
+
*/
|
|
2273
|
+
loyaltyRuleId: string;
|
|
2274
|
+
|
|
2275
|
+
/**
|
|
2276
|
+
* Unique identifier for the organization
|
|
2277
|
+
*/
|
|
2278
|
+
organizationId: string;
|
|
2279
|
+
|
|
2280
|
+
/**
|
|
2281
|
+
* Unique identifier for the website
|
|
2282
|
+
*/
|
|
2283
|
+
websiteId: string;
|
|
2284
|
+
|
|
2285
|
+
/**
|
|
2286
|
+
* Comment that was made on the edit
|
|
2287
|
+
*/
|
|
2288
|
+
comment?: string;
|
|
320
2289
|
|
|
321
2290
|
/**
|
|
322
2291
|
* Previous data of the rule before the edit
|
|
323
2292
|
*/
|
|
324
|
-
|
|
2293
|
+
previousData?: RuleEditRestoreResponse.PreviousData;
|
|
2294
|
+
}
|
|
2295
|
+
|
|
2296
|
+
export namespace RuleEditRestoreResponse {
|
|
2297
|
+
/**
|
|
2298
|
+
* Data that was changed on the rule
|
|
2299
|
+
*/
|
|
2300
|
+
export interface Data {
|
|
325
2301
|
/**
|
|
326
2302
|
* Unique identifier for the loyalty rule
|
|
327
2303
|
*/
|
|
@@ -330,7 +2306,7 @@ export namespace RuleEditRestoreResponse {
|
|
|
330
2306
|
/**
|
|
331
2307
|
* Amount associated with the loyalty rule
|
|
332
2308
|
*/
|
|
333
|
-
amount: number;
|
|
2309
|
+
amount: number | null;
|
|
334
2310
|
|
|
335
2311
|
/**
|
|
336
2312
|
* Timestamp when the loyalty rule was created
|
|
@@ -342,16 +2318,41 @@ export namespace RuleEditRestoreResponse {
|
|
|
342
2318
|
*/
|
|
343
2319
|
deletedAt: string | null;
|
|
344
2320
|
|
|
2321
|
+
/**
|
|
2322
|
+
* Description of the loyalty rule
|
|
2323
|
+
*/
|
|
2324
|
+
description: string;
|
|
2325
|
+
|
|
2326
|
+
/**
|
|
2327
|
+
* End time of the loyalty rule
|
|
2328
|
+
*/
|
|
2329
|
+
endTime: string | null;
|
|
2330
|
+
|
|
345
2331
|
/**
|
|
346
2332
|
* Frequency of the loyalty rule
|
|
347
2333
|
*/
|
|
348
2334
|
frequency: string;
|
|
349
2335
|
|
|
2336
|
+
/**
|
|
2337
|
+
* Name of the loyalty rule
|
|
2338
|
+
*/
|
|
2339
|
+
name: string;
|
|
2340
|
+
|
|
350
2341
|
/**
|
|
351
2342
|
* Unique identifier for the organization
|
|
352
2343
|
*/
|
|
353
2344
|
organizationId: string;
|
|
354
2345
|
|
|
2346
|
+
/**
|
|
2347
|
+
* Type of the reward
|
|
2348
|
+
*/
|
|
2349
|
+
rewardType: 'points' | 'multiplier' | 'badge';
|
|
2350
|
+
|
|
2351
|
+
/**
|
|
2352
|
+
* Start time of the loyalty rule
|
|
2353
|
+
*/
|
|
2354
|
+
startTime: string | null;
|
|
2355
|
+
|
|
355
2356
|
/**
|
|
356
2357
|
* Type of the loyalty rule
|
|
357
2358
|
*/
|
|
@@ -372,10 +2373,2067 @@ export namespace RuleEditRestoreResponse {
|
|
|
372
2373
|
*/
|
|
373
2374
|
collectionAddress?: string;
|
|
374
2375
|
|
|
2376
|
+
/**
|
|
2377
|
+
* URL of the media associated with the loyalty rule
|
|
2378
|
+
*/
|
|
2379
|
+
mediaUrl?: string | null;
|
|
2380
|
+
|
|
375
2381
|
/**
|
|
376
2382
|
* Optional metadata for the loyalty rule
|
|
377
2383
|
*/
|
|
378
|
-
metadata?:
|
|
2384
|
+
metadata?: { [key: string]: Data.Metadata };
|
|
2385
|
+
}
|
|
2386
|
+
|
|
2387
|
+
export namespace Data {
|
|
2388
|
+
export interface Metadata {
|
|
2389
|
+
/**
|
|
2390
|
+
* Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code
|
|
2391
|
+
* only.
|
|
2392
|
+
*/
|
|
2393
|
+
allowMultipleRedemptions?: boolean;
|
|
2394
|
+
|
|
2395
|
+
/**
|
|
2396
|
+
* Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
|
|
2397
|
+
* any rule completions count as check-in.
|
|
2398
|
+
*/
|
|
2399
|
+
autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
|
|
2400
|
+
|
|
2401
|
+
/**
|
|
2402
|
+
* Number of tokens per batch.
|
|
2403
|
+
*/
|
|
2404
|
+
batchSize?: number | null;
|
|
2405
|
+
|
|
2406
|
+
/**
|
|
2407
|
+
* Text displayed on the action button.
|
|
2408
|
+
*/
|
|
2409
|
+
buttonText?: string | null;
|
|
2410
|
+
|
|
2411
|
+
/**
|
|
2412
|
+
* Flag indicating if commenting is required.
|
|
2413
|
+
*/
|
|
2414
|
+
checkComment?: boolean | null;
|
|
2415
|
+
|
|
2416
|
+
/**
|
|
2417
|
+
* Flag indicating if liking the post is required.
|
|
2418
|
+
*/
|
|
2419
|
+
checkLike?: boolean | null;
|
|
2420
|
+
|
|
2421
|
+
/**
|
|
2422
|
+
* Flag indicating if reposting is required.
|
|
2423
|
+
*/
|
|
2424
|
+
checkRepost?: boolean | null;
|
|
2425
|
+
|
|
2426
|
+
/**
|
|
2427
|
+
* Text to check in the Twitter post, username, or bio.
|
|
2428
|
+
*/
|
|
2429
|
+
checkText?: string | Array<string> | null;
|
|
2430
|
+
|
|
2431
|
+
/**
|
|
2432
|
+
* Array of collections associated with the rule.
|
|
2433
|
+
*/
|
|
2434
|
+
collection?: Array<Metadata.Collection>;
|
|
2435
|
+
|
|
2436
|
+
/**
|
|
2437
|
+
* Conditions for completing the profile.
|
|
2438
|
+
*/
|
|
2439
|
+
completeProfileConditions?: { [key: string]: boolean } | null;
|
|
2440
|
+
|
|
2441
|
+
/**
|
|
2442
|
+
* Description of the external rule condition (only for external rules)
|
|
2443
|
+
*/
|
|
2444
|
+
conditionDescription?: string;
|
|
2445
|
+
|
|
2446
|
+
/**
|
|
2447
|
+
* Object containing details for the call-to-action.
|
|
2448
|
+
*/
|
|
2449
|
+
cta?: Metadata.Cta | null;
|
|
2450
|
+
|
|
2451
|
+
/**
|
|
2452
|
+
* API key for custom rewards integration.
|
|
2453
|
+
*/
|
|
2454
|
+
customRewardsApiKey?: string;
|
|
2455
|
+
|
|
2456
|
+
/**
|
|
2457
|
+
* Flag indicating if the rule should use direct RPC to get the balance of tokens.
|
|
2458
|
+
*/
|
|
2459
|
+
directRpc?: boolean;
|
|
2460
|
+
|
|
2461
|
+
/**
|
|
2462
|
+
* Array of Discord servers, channels, and roles to join.
|
|
2463
|
+
*/
|
|
2464
|
+
discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
|
|
2465
|
+
|
|
2466
|
+
/**
|
|
2467
|
+
* Array of drip quests required to complete the rule.
|
|
2468
|
+
*/
|
|
2469
|
+
dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
|
|
2470
|
+
|
|
2471
|
+
/**
|
|
2472
|
+
* Flag indicating whether joining Discord servers is required.
|
|
2473
|
+
*/
|
|
2474
|
+
enableJoinDiscordServers?: boolean | null;
|
|
2475
|
+
|
|
2476
|
+
/**
|
|
2477
|
+
* Flag indicating whether streaks are enabled.
|
|
2478
|
+
*/
|
|
2479
|
+
enableStreaks?: boolean | null;
|
|
2480
|
+
|
|
2481
|
+
/**
|
|
2482
|
+
* Flag indicating whether the verified multiplier is enabled.
|
|
2483
|
+
*/
|
|
2484
|
+
enableVerifiedMultiplier?: boolean;
|
|
2485
|
+
|
|
2486
|
+
/**
|
|
2487
|
+
* Type of ERC20 token for the loyalty rule.
|
|
2488
|
+
*/
|
|
2489
|
+
erc20Type?: 'erc20' | 'native';
|
|
2490
|
+
|
|
2491
|
+
/**
|
|
2492
|
+
* Fill source of the order for the token sale
|
|
2493
|
+
*/
|
|
2494
|
+
fillSource?: string;
|
|
2495
|
+
|
|
2496
|
+
/**
|
|
2497
|
+
* Percentage reward given to a user for their first referral.
|
|
2498
|
+
*/
|
|
2499
|
+
firstReferralReward?: number | null;
|
|
2500
|
+
|
|
2501
|
+
/**
|
|
2502
|
+
* Name of the GitHub branch to check for PR merge.
|
|
2503
|
+
*/
|
|
2504
|
+
githubBranchName?: string | null;
|
|
2505
|
+
|
|
2506
|
+
/**
|
|
2507
|
+
* URL of the GitHub repository to check for star.
|
|
2508
|
+
*/
|
|
2509
|
+
githubRepoUrl?: string | null;
|
|
2510
|
+
|
|
2511
|
+
/**
|
|
2512
|
+
* Flag indicating whether the fill source is included.
|
|
2513
|
+
*/
|
|
2514
|
+
hasFillSource?: boolean;
|
|
2515
|
+
|
|
2516
|
+
/**
|
|
2517
|
+
* Indicates if the item has never been sold.
|
|
2518
|
+
*/
|
|
2519
|
+
hasNeverSold?: boolean;
|
|
2520
|
+
|
|
2521
|
+
/**
|
|
2522
|
+
* Indicates if the full royalty has been paid for items.
|
|
2523
|
+
*/
|
|
2524
|
+
hasPaidFullRoyalty?: boolean;
|
|
2525
|
+
|
|
2526
|
+
/**
|
|
2527
|
+
* Flag indicating if the sale currency is included.
|
|
2528
|
+
*/
|
|
2529
|
+
hasSaleCurrency?: boolean;
|
|
2530
|
+
|
|
2531
|
+
/**
|
|
2532
|
+
* Indicates if the user has a verified Twitter account.
|
|
2533
|
+
*/
|
|
2534
|
+
hasVerifiedTwitter?: boolean;
|
|
2535
|
+
|
|
2536
|
+
/**
|
|
2537
|
+
* URL of the image associated with the rule.
|
|
2538
|
+
*/
|
|
2539
|
+
imageUrl?: string | null;
|
|
2540
|
+
|
|
2541
|
+
/**
|
|
2542
|
+
* If enabled, the first transaction done on the platform will complete this rule
|
|
2543
|
+
*/
|
|
2544
|
+
isCheckInOnEveryTxn?: boolean;
|
|
2545
|
+
|
|
2546
|
+
/**
|
|
2547
|
+
* Indicates if the multiplier has been applied to rewards.
|
|
2548
|
+
*/
|
|
2549
|
+
isMultiplierApplied?: boolean;
|
|
2550
|
+
|
|
2551
|
+
/**
|
|
2552
|
+
* Flag indicating if the rule is restricted to new users.
|
|
2553
|
+
*/
|
|
2554
|
+
isRestrictedToNewUsers?: boolean;
|
|
2555
|
+
|
|
2556
|
+
/**
|
|
2557
|
+
* Flag indicating if rewards are applied retroactively.
|
|
2558
|
+
*/
|
|
2559
|
+
isRetroactive?: boolean | null;
|
|
2560
|
+
|
|
2561
|
+
/**
|
|
2562
|
+
* Flag indicating if the token hold multiplier is applied.
|
|
2563
|
+
*/
|
|
2564
|
+
isTokenHoldMultiplier?: boolean;
|
|
2565
|
+
|
|
2566
|
+
/**
|
|
2567
|
+
* Optional link associated with the metadata.
|
|
2568
|
+
*/
|
|
2569
|
+
link?: string | null;
|
|
2570
|
+
|
|
2571
|
+
/**
|
|
2572
|
+
* Liquidity pool details.
|
|
2573
|
+
*/
|
|
2574
|
+
liquidity?: Metadata.Liquidity;
|
|
2575
|
+
|
|
2576
|
+
/**
|
|
2577
|
+
* Maximum quantity constraint for token holding.
|
|
2578
|
+
*/
|
|
2579
|
+
maxQty?: number | null;
|
|
2580
|
+
|
|
2581
|
+
/**
|
|
2582
|
+
* Minimum follower count for the rule. Accepts both number and string values.
|
|
2583
|
+
*/
|
|
2584
|
+
minimumFollowerCount?: number | null;
|
|
2585
|
+
|
|
2586
|
+
/**
|
|
2587
|
+
* Minimum quantity constraint for token holding.
|
|
2588
|
+
*/
|
|
2589
|
+
minQty?: number | null;
|
|
2590
|
+
|
|
2591
|
+
/**
|
|
2592
|
+
* Array of loyalty currency IDs used for multipliers.
|
|
2593
|
+
*/
|
|
2594
|
+
multiplierLoyaltyCurrencyIds?: Array<string> | null;
|
|
2595
|
+
|
|
2596
|
+
/**
|
|
2597
|
+
* Flag indicating whether to include only known users.
|
|
2598
|
+
*/
|
|
2599
|
+
onlyKnownUsers?: boolean;
|
|
2600
|
+
|
|
2601
|
+
/**
|
|
2602
|
+
* Flag indicating whether to include only native tokens.
|
|
2603
|
+
*/
|
|
2604
|
+
onlyNative?: boolean;
|
|
2605
|
+
|
|
2606
|
+
/**
|
|
2607
|
+
* Flag indicating whether to include only non-listed items.
|
|
2608
|
+
*/
|
|
2609
|
+
onlyNonListed?: boolean;
|
|
2610
|
+
|
|
2611
|
+
/**
|
|
2612
|
+
* Indicates if only existing users are rewarded.
|
|
2613
|
+
*/
|
|
2614
|
+
onlyRewardExistingUser?: boolean;
|
|
2615
|
+
|
|
2616
|
+
/**
|
|
2617
|
+
* give points for only one token ownership per contract
|
|
2618
|
+
*/
|
|
2619
|
+
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
2620
|
+
|
|
2621
|
+
/**
|
|
2622
|
+
* Pre-generated text template that will be used to prefill the post content.
|
|
2623
|
+
*/
|
|
2624
|
+
preGeneratedPostText?: string | null;
|
|
2625
|
+
|
|
2626
|
+
/**
|
|
2627
|
+
* Promotional code associated with the rule.
|
|
2628
|
+
*/
|
|
2629
|
+
promoCode?: string;
|
|
2630
|
+
|
|
2631
|
+
/**
|
|
2632
|
+
* URL of the CSV file containing promo codes.
|
|
2633
|
+
*/
|
|
2634
|
+
promoCodeCsvUrl?: string;
|
|
2635
|
+
|
|
2636
|
+
/**
|
|
2637
|
+
* Numbers of the promotional code to be generated.
|
|
2638
|
+
*/
|
|
2639
|
+
promoCodeLength?: number | null;
|
|
2640
|
+
|
|
2641
|
+
/**
|
|
2642
|
+
* Type of the promotional code.
|
|
2643
|
+
*/
|
|
2644
|
+
promoCodeType?: 'code' | 'csv' | 'generate';
|
|
2645
|
+
|
|
2646
|
+
/**
|
|
2647
|
+
* Array defining ranges and corresponding rewards.
|
|
2648
|
+
*/
|
|
2649
|
+
range?: Array<Metadata.Range>;
|
|
2650
|
+
|
|
2651
|
+
/**
|
|
2652
|
+
* ID of the Reddit post.
|
|
2653
|
+
*/
|
|
2654
|
+
redditPostId?: string | null;
|
|
2655
|
+
|
|
2656
|
+
/**
|
|
2657
|
+
* Object defining referral requirements.
|
|
2658
|
+
*/
|
|
2659
|
+
referralRequirements?: Metadata.ReferralRequirements | null;
|
|
2660
|
+
|
|
2661
|
+
/**
|
|
2662
|
+
* Lump sum reward given to a referrer.
|
|
2663
|
+
*/
|
|
2664
|
+
referrerReward?: number | null;
|
|
2665
|
+
|
|
2666
|
+
/**
|
|
2667
|
+
* Loyalty currency ID of the referrer reward.
|
|
2668
|
+
*/
|
|
2669
|
+
referrerRewardLoyaltyCurrencyId?: string | null;
|
|
2670
|
+
|
|
2671
|
+
/**
|
|
2672
|
+
* Flag indicating if the post link is required.
|
|
2673
|
+
*/
|
|
2674
|
+
requirePostLink?: boolean | null;
|
|
2675
|
+
|
|
2676
|
+
/**
|
|
2677
|
+
* Flag indicating if media metadata is required.
|
|
2678
|
+
*/
|
|
2679
|
+
requirePostMediaLink?: boolean | null;
|
|
2680
|
+
|
|
2681
|
+
/**
|
|
2682
|
+
* If enabled, the progress tracking row will be deleted after a successful claim,
|
|
2683
|
+
* allowing the user to re-earn the rule.
|
|
2684
|
+
*/
|
|
2685
|
+
resetProgressOnClaim?: boolean | null;
|
|
2686
|
+
|
|
2687
|
+
/**
|
|
2688
|
+
* Flag indicating if the rule can also reward badges per range.
|
|
2689
|
+
*/
|
|
2690
|
+
rewardBadgePerRange?: boolean;
|
|
2691
|
+
|
|
2692
|
+
/**
|
|
2693
|
+
* Flag indicating if the reward is rewarded by batch.
|
|
2694
|
+
*/
|
|
2695
|
+
rewardByBatch?: boolean | null;
|
|
2696
|
+
|
|
2697
|
+
/**
|
|
2698
|
+
* Criteria to evaluate the reward.
|
|
2699
|
+
*/
|
|
2700
|
+
rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
|
|
2701
|
+
|
|
2702
|
+
/**
|
|
2703
|
+
* Flag indicating if the reward is rewarded per action.
|
|
2704
|
+
*/
|
|
2705
|
+
rewardPerAction?: boolean | null;
|
|
2706
|
+
|
|
2707
|
+
/**
|
|
2708
|
+
* Flag indicating if rewards are given per impression.
|
|
2709
|
+
*/
|
|
2710
|
+
rewardPerImpression?: boolean | null;
|
|
2711
|
+
|
|
2712
|
+
/**
|
|
2713
|
+
* Flag indicating if the rule should reward based on value of traded tokens
|
|
2714
|
+
* instead of count.
|
|
2715
|
+
*/
|
|
2716
|
+
rewardPerValue?: boolean;
|
|
2717
|
+
|
|
2718
|
+
/**
|
|
2719
|
+
* Flag indicating if the rule should reward quality posts.
|
|
2720
|
+
*/
|
|
2721
|
+
rewardQualityPosts?: boolean;
|
|
2722
|
+
|
|
2723
|
+
robinhoodSymbols?: Array<string> | null;
|
|
2724
|
+
|
|
2725
|
+
/**
|
|
2726
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
2727
|
+
*/
|
|
2728
|
+
royaltyAddress?: string;
|
|
2729
|
+
|
|
2730
|
+
/**
|
|
2731
|
+
* Royalty percentage of the item.
|
|
2732
|
+
*/
|
|
2733
|
+
royaltyPercentage?: number;
|
|
2734
|
+
|
|
2735
|
+
/**
|
|
2736
|
+
* Currency associated with sales.
|
|
2737
|
+
*/
|
|
2738
|
+
saleCurrency?: string;
|
|
2739
|
+
|
|
2740
|
+
/**
|
|
2741
|
+
* Percentage reward given for a second-level referral.
|
|
2742
|
+
*/
|
|
2743
|
+
secondReferralReward?: number | null;
|
|
2744
|
+
|
|
2745
|
+
/**
|
|
2746
|
+
* Flag indicating if the multiplier is skipped.
|
|
2747
|
+
*/
|
|
2748
|
+
skipMultiplier?: boolean | null;
|
|
2749
|
+
|
|
2750
|
+
/**
|
|
2751
|
+
* Object containing details of the associated smart contract.
|
|
2752
|
+
*/
|
|
2753
|
+
smartContract?: Metadata.SmartContract;
|
|
2754
|
+
|
|
2755
|
+
/**
|
|
2756
|
+
* Array of snapshot proposals for the rule.
|
|
2757
|
+
*/
|
|
2758
|
+
snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
|
|
2759
|
+
|
|
2760
|
+
/**
|
|
2761
|
+
* Social media platform associated with the rule.
|
|
2762
|
+
*/
|
|
2763
|
+
socialPlatform?:
|
|
2764
|
+
| 'Custom'
|
|
2765
|
+
| 'Discord'
|
|
2766
|
+
| 'EpicGames'
|
|
2767
|
+
| 'Instagram'
|
|
2768
|
+
| 'Steam'
|
|
2769
|
+
| 'Telegram'
|
|
2770
|
+
| 'TikTok'
|
|
2771
|
+
| 'Twitch'
|
|
2772
|
+
| 'X(Twitter)'
|
|
2773
|
+
| 'YouTube'
|
|
2774
|
+
| 'Google'
|
|
2775
|
+
| 'GitHub'
|
|
2776
|
+
| 'Reddit'
|
|
2777
|
+
| null;
|
|
2778
|
+
|
|
2779
|
+
/**
|
|
2780
|
+
* URL of the social platform's logo.
|
|
2781
|
+
*/
|
|
2782
|
+
socialPlatformLogo?: string | null;
|
|
2783
|
+
|
|
2784
|
+
/**
|
|
2785
|
+
* Name of the social platform.
|
|
2786
|
+
*/
|
|
2787
|
+
socialPlatformName?: string | null;
|
|
2788
|
+
|
|
2789
|
+
/**
|
|
2790
|
+
* ID of the Steam app.
|
|
2791
|
+
*/
|
|
2792
|
+
steamAppId?: string | null;
|
|
2793
|
+
|
|
2794
|
+
/**
|
|
2795
|
+
* Array of streak milestones and corresponding rewards.
|
|
2796
|
+
*/
|
|
2797
|
+
streakArray?: Array<Metadata.StreakArray> | null;
|
|
2798
|
+
|
|
2799
|
+
/**
|
|
2800
|
+
* Metadata for swap loyalty rules
|
|
2801
|
+
*/
|
|
2802
|
+
swap?: Metadata.Swap;
|
|
2803
|
+
|
|
2804
|
+
/**
|
|
2805
|
+
* ID of the Telegram channel.
|
|
2806
|
+
*/
|
|
2807
|
+
telegramChannelId?: string | null;
|
|
2808
|
+
|
|
2809
|
+
/**
|
|
2810
|
+
* Time delay in seconds to verify actions.
|
|
2811
|
+
*/
|
|
2812
|
+
timeDelayToVerifySeconds?: string | number | null;
|
|
2813
|
+
|
|
2814
|
+
/**
|
|
2815
|
+
* Flag indicating if all contracts are tracked.
|
|
2816
|
+
*/
|
|
2817
|
+
trackAllContracts?: boolean | null;
|
|
2818
|
+
|
|
2819
|
+
/**
|
|
2820
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
2821
|
+
* completed once the progress is 100%.
|
|
2822
|
+
*/
|
|
2823
|
+
trackProgress?: boolean | null;
|
|
2824
|
+
|
|
2825
|
+
/**
|
|
2826
|
+
* URL of the associated Twitter account.
|
|
2827
|
+
*/
|
|
2828
|
+
twitterAccountUrl?: string;
|
|
2829
|
+
|
|
2830
|
+
/**
|
|
2831
|
+
* Hashtag associated with the Twitter post.
|
|
2832
|
+
*/
|
|
2833
|
+
twitterHashtag?: string;
|
|
2834
|
+
|
|
2835
|
+
/**
|
|
2836
|
+
* URL of the associated Twitter post.
|
|
2837
|
+
*/
|
|
2838
|
+
twitterPostUrl?: string;
|
|
2839
|
+
|
|
2840
|
+
/**
|
|
2841
|
+
* Unique identifier of the Twitter user.
|
|
2842
|
+
*/
|
|
2843
|
+
twitterUserId?: string;
|
|
2844
|
+
|
|
2845
|
+
/**
|
|
2846
|
+
* Twitter username of the user.
|
|
2847
|
+
*/
|
|
2848
|
+
twitterUsername?: string;
|
|
2849
|
+
|
|
2850
|
+
/**
|
|
2851
|
+
* Minimum length of the verification text.
|
|
2852
|
+
*/
|
|
2853
|
+
verificationTextMinimumLength?: number | null;
|
|
2854
|
+
|
|
2855
|
+
/**
|
|
2856
|
+
* Multiplier applied to rewards for verified users.
|
|
2857
|
+
*/
|
|
2858
|
+
verifiedMultiplier?: number | null;
|
|
2859
|
+
|
|
2860
|
+
/**
|
|
2861
|
+
* Placeholder text for verification input fields.
|
|
2862
|
+
*/
|
|
2863
|
+
verifyPlaceHolderText?: string | null;
|
|
2864
|
+
|
|
2865
|
+
/**
|
|
2866
|
+
* Type of wallet associated with the rule.
|
|
2867
|
+
*/
|
|
2868
|
+
walletType?:
|
|
2869
|
+
| 'evm'
|
|
2870
|
+
| 'solana'
|
|
2871
|
+
| 'imx'
|
|
2872
|
+
| 'sui'
|
|
2873
|
+
| 'ton'
|
|
2874
|
+
| 'cosmos'
|
|
2875
|
+
| 'ultra'
|
|
2876
|
+
| 'agw'
|
|
2877
|
+
| 'flow_cadence'
|
|
2878
|
+
| 'substrate'
|
|
2879
|
+
| null;
|
|
2880
|
+
|
|
2881
|
+
/**
|
|
2882
|
+
* ID of the Youtube channel.
|
|
2883
|
+
*/
|
|
2884
|
+
youtubeChannelId?: string | null;
|
|
2885
|
+
|
|
2886
|
+
/**
|
|
2887
|
+
* ID of the Youtube video.
|
|
2888
|
+
*/
|
|
2889
|
+
youtubeVideoId?: string | null;
|
|
2890
|
+
}
|
|
2891
|
+
|
|
2892
|
+
export namespace Metadata {
|
|
2893
|
+
export interface Collection {
|
|
2894
|
+
/**
|
|
2895
|
+
* Blockchain address of the collection.
|
|
2896
|
+
*/
|
|
2897
|
+
address?: string;
|
|
2898
|
+
|
|
2899
|
+
/**
|
|
2900
|
+
* Multiplier applied to the rewards for this collection.
|
|
2901
|
+
*/
|
|
2902
|
+
multiplier?: number;
|
|
2903
|
+
|
|
2904
|
+
/**
|
|
2905
|
+
* Blockchain network of the collection.
|
|
2906
|
+
*/
|
|
2907
|
+
network?:
|
|
2908
|
+
| 'abstract'
|
|
2909
|
+
| 'abstractTestnet'
|
|
2910
|
+
| 'apechain'
|
|
2911
|
+
| 'arbitrum'
|
|
2912
|
+
| 'avalanche'
|
|
2913
|
+
| 'avalancheFuji'
|
|
2914
|
+
| 'base'
|
|
2915
|
+
| 'baseSepolia'
|
|
2916
|
+
| 'berachain'
|
|
2917
|
+
| 'berachainArtio'
|
|
2918
|
+
| 'berachainBepolia'
|
|
2919
|
+
| 'binance'
|
|
2920
|
+
| 'bscTestnet'
|
|
2921
|
+
| 'campTestnet'
|
|
2922
|
+
| 'fantom'
|
|
2923
|
+
| 'fantomTestnet'
|
|
2924
|
+
| 'flowMainnet'
|
|
2925
|
+
| 'mainnet'
|
|
2926
|
+
| 'nexusTestnet'
|
|
2927
|
+
| 'optimism'
|
|
2928
|
+
| 'polygon'
|
|
2929
|
+
| 'polygon_mumbai'
|
|
2930
|
+
| 'skaleNebula'
|
|
2931
|
+
| 'skaleEuropa'
|
|
2932
|
+
| 'skaleCalypso'
|
|
2933
|
+
| 'solana'
|
|
2934
|
+
| 'sophon'
|
|
2935
|
+
| 'sophonTestnet'
|
|
2936
|
+
| 'sui'
|
|
2937
|
+
| 'superseed'
|
|
2938
|
+
| 'superseedSepolia'
|
|
2939
|
+
| 'vanar'
|
|
2940
|
+
| 'xai'
|
|
2941
|
+
| 'zksync'
|
|
2942
|
+
| 'coti'
|
|
2943
|
+
| 'cotiTestnet'
|
|
2944
|
+
| 'morph'
|
|
2945
|
+
| 'morphTestnet'
|
|
2946
|
+
| 'morphHolesky'
|
|
2947
|
+
| 'ultra'
|
|
2948
|
+
| 'ultraTestnet'
|
|
2949
|
+
| 'nitrograph'
|
|
2950
|
+
| 'sepolia'
|
|
2951
|
+
| 'optimism_sepolia'
|
|
2952
|
+
| 'arbitrumSepolia'
|
|
2953
|
+
| 'goerli'
|
|
2954
|
+
| 'optimism_goerli'
|
|
2955
|
+
| 'arbitrumGoerli'
|
|
2956
|
+
| 'basecamp'
|
|
2957
|
+
| 'somnia'
|
|
2958
|
+
| 'zkverify'
|
|
2959
|
+
| 'polkadot'
|
|
2960
|
+
| 'kusama'
|
|
2961
|
+
| 'horizen'
|
|
2962
|
+
| 'horizenTestnet'
|
|
2963
|
+
| 'flow_cadence';
|
|
2964
|
+
}
|
|
2965
|
+
|
|
2966
|
+
/**
|
|
2967
|
+
* Object containing details for the call-to-action.
|
|
2968
|
+
*/
|
|
2969
|
+
export interface Cta {
|
|
2970
|
+
/**
|
|
2971
|
+
* Link for the call-to-action.
|
|
2972
|
+
*/
|
|
2973
|
+
href?: string | null;
|
|
2974
|
+
|
|
2975
|
+
/**
|
|
2976
|
+
* Label for the call-to-action.
|
|
2977
|
+
*/
|
|
2978
|
+
label?: string | null;
|
|
2979
|
+
}
|
|
2980
|
+
|
|
2981
|
+
export interface DiscordServersToJoin {
|
|
2982
|
+
/**
|
|
2983
|
+
* ID of the Discord server to join.
|
|
2984
|
+
*/
|
|
2985
|
+
id?: string;
|
|
2986
|
+
|
|
2987
|
+
/**
|
|
2988
|
+
* Array of Discord channels to join.
|
|
2989
|
+
*/
|
|
2990
|
+
channels?: Array<DiscordServersToJoin.Channel>;
|
|
2991
|
+
|
|
2992
|
+
/**
|
|
2993
|
+
* Array of roles to assign in the Discord server.
|
|
2994
|
+
*/
|
|
2995
|
+
roles?: Array<DiscordServersToJoin.Role>;
|
|
2996
|
+
}
|
|
2997
|
+
|
|
2998
|
+
export namespace DiscordServersToJoin {
|
|
2999
|
+
export interface Channel {
|
|
3000
|
+
/**
|
|
3001
|
+
* ID of the Discord channel.
|
|
3002
|
+
*/
|
|
3003
|
+
id?: string;
|
|
3004
|
+
|
|
3005
|
+
/**
|
|
3006
|
+
* Array of emojis used in the channel.
|
|
3007
|
+
*/
|
|
3008
|
+
emojis?: Array<Channel.Emoji>;
|
|
3009
|
+
|
|
3010
|
+
/**
|
|
3011
|
+
* Phrase of text to be present in the discord message
|
|
3012
|
+
*/
|
|
3013
|
+
text?: string;
|
|
3014
|
+
}
|
|
3015
|
+
|
|
3016
|
+
export namespace Channel {
|
|
3017
|
+
export interface Emoji {
|
|
3018
|
+
/**
|
|
3019
|
+
* ID of the emoji used in the channel.
|
|
3020
|
+
*/
|
|
3021
|
+
id?: string;
|
|
3022
|
+
}
|
|
3023
|
+
}
|
|
3024
|
+
|
|
3025
|
+
export interface Role {
|
|
3026
|
+
/**
|
|
3027
|
+
* ID of the role in the Discord server.
|
|
3028
|
+
*/
|
|
3029
|
+
id: string;
|
|
3030
|
+
}
|
|
3031
|
+
}
|
|
3032
|
+
|
|
3033
|
+
export interface DripQuestsToComplete {
|
|
3034
|
+
/**
|
|
3035
|
+
* ID of the drip quest to complete.
|
|
3036
|
+
*/
|
|
3037
|
+
id: string;
|
|
3038
|
+
}
|
|
3039
|
+
|
|
3040
|
+
/**
|
|
3041
|
+
* Liquidity pool details.
|
|
3042
|
+
*/
|
|
3043
|
+
export interface Liquidity {
|
|
3044
|
+
/**
|
|
3045
|
+
* Calculation type of the liquidity pool.
|
|
3046
|
+
*/
|
|
3047
|
+
calculationType?: 'fixed' | 'custom';
|
|
3048
|
+
|
|
3049
|
+
/**
|
|
3050
|
+
* Custom function to calculate the the reward amount based on the liquidity
|
|
3051
|
+
* provided per day. X is the reward amount, Y is the liquidity provided per day in
|
|
3052
|
+
* USD.
|
|
3053
|
+
*/
|
|
3054
|
+
customFunction?: string;
|
|
3055
|
+
|
|
3056
|
+
/**
|
|
3057
|
+
* Liquidity provided per day in USD
|
|
3058
|
+
*/
|
|
3059
|
+
liquidityPerDay?: number;
|
|
3060
|
+
|
|
3061
|
+
/**
|
|
3062
|
+
* Blockchain network of the liquidity pool.
|
|
3063
|
+
*/
|
|
3064
|
+
network?:
|
|
3065
|
+
| 'abstract'
|
|
3066
|
+
| 'abstractTestnet'
|
|
3067
|
+
| 'apechain'
|
|
3068
|
+
| 'arbitrum'
|
|
3069
|
+
| 'avalanche'
|
|
3070
|
+
| 'avalancheFuji'
|
|
3071
|
+
| 'base'
|
|
3072
|
+
| 'baseSepolia'
|
|
3073
|
+
| 'berachain'
|
|
3074
|
+
| 'berachainArtio'
|
|
3075
|
+
| 'berachainBepolia'
|
|
3076
|
+
| 'binance'
|
|
3077
|
+
| 'bscTestnet'
|
|
3078
|
+
| 'campTestnet'
|
|
3079
|
+
| 'fantom'
|
|
3080
|
+
| 'fantomTestnet'
|
|
3081
|
+
| 'flowMainnet'
|
|
3082
|
+
| 'mainnet'
|
|
3083
|
+
| 'nexusTestnet'
|
|
3084
|
+
| 'optimism'
|
|
3085
|
+
| 'polygon'
|
|
3086
|
+
| 'polygon_mumbai'
|
|
3087
|
+
| 'skaleNebula'
|
|
3088
|
+
| 'skaleEuropa'
|
|
3089
|
+
| 'skaleCalypso'
|
|
3090
|
+
| 'solana'
|
|
3091
|
+
| 'sophon'
|
|
3092
|
+
| 'sophonTestnet'
|
|
3093
|
+
| 'sui'
|
|
3094
|
+
| 'superseed'
|
|
3095
|
+
| 'superseedSepolia'
|
|
3096
|
+
| 'vanar'
|
|
3097
|
+
| 'xai'
|
|
3098
|
+
| 'zksync'
|
|
3099
|
+
| 'coti'
|
|
3100
|
+
| 'cotiTestnet'
|
|
3101
|
+
| 'morph'
|
|
3102
|
+
| 'morphTestnet'
|
|
3103
|
+
| 'morphHolesky'
|
|
3104
|
+
| 'ultra'
|
|
3105
|
+
| 'ultraTestnet'
|
|
3106
|
+
| 'nitrograph'
|
|
3107
|
+
| 'sepolia'
|
|
3108
|
+
| 'optimism_sepolia'
|
|
3109
|
+
| 'arbitrumSepolia'
|
|
3110
|
+
| 'goerli'
|
|
3111
|
+
| 'optimism_goerli'
|
|
3112
|
+
| 'arbitrumGoerli'
|
|
3113
|
+
| 'basecamp'
|
|
3114
|
+
| 'somnia'
|
|
3115
|
+
| 'zkverify'
|
|
3116
|
+
| 'polkadot'
|
|
3117
|
+
| 'kusama'
|
|
3118
|
+
| 'horizen'
|
|
3119
|
+
| 'horizenTestnet'
|
|
3120
|
+
| 'flow_cadence';
|
|
3121
|
+
|
|
3122
|
+
/**
|
|
3123
|
+
* Indicates if only in-range liquidity is rewarded.
|
|
3124
|
+
*/
|
|
3125
|
+
onlyRewardInRangeLiquidity?: boolean;
|
|
3126
|
+
|
|
3127
|
+
/**
|
|
3128
|
+
* Array of liquidity pools associated with the rule.
|
|
3129
|
+
*/
|
|
3130
|
+
pools?: Array<Liquidity.Pool>;
|
|
3131
|
+
|
|
3132
|
+
/**
|
|
3133
|
+
* Protocol of the liquidity pool.
|
|
3134
|
+
*/
|
|
3135
|
+
protocol?: string;
|
|
3136
|
+
}
|
|
3137
|
+
|
|
3138
|
+
export namespace Liquidity {
|
|
3139
|
+
export interface Pool {
|
|
3140
|
+
/**
|
|
3141
|
+
* Unique identifier of the liquidity pool.
|
|
3142
|
+
*/
|
|
3143
|
+
id: string;
|
|
3144
|
+
}
|
|
3145
|
+
}
|
|
3146
|
+
|
|
3147
|
+
export interface Range {
|
|
3148
|
+
/**
|
|
3149
|
+
* Reward amount for this range.
|
|
3150
|
+
*/
|
|
3151
|
+
amount: number;
|
|
3152
|
+
|
|
3153
|
+
/**
|
|
3154
|
+
* End value of the range.
|
|
3155
|
+
*/
|
|
3156
|
+
endRange: number;
|
|
3157
|
+
|
|
3158
|
+
/**
|
|
3159
|
+
* Start value of the range.
|
|
3160
|
+
*/
|
|
3161
|
+
startRange: number;
|
|
3162
|
+
|
|
3163
|
+
/**
|
|
3164
|
+
* ID of the loyalty badge for this range.
|
|
3165
|
+
*/
|
|
3166
|
+
loyaltyBadgeId?: string;
|
|
3167
|
+
|
|
3168
|
+
/**
|
|
3169
|
+
* Amount of the loyalty multiplier for this range.
|
|
3170
|
+
*/
|
|
3171
|
+
loyaltyMultiplierAmount?: number;
|
|
3172
|
+
}
|
|
3173
|
+
|
|
3174
|
+
/**
|
|
3175
|
+
* Object defining referral requirements.
|
|
3176
|
+
*/
|
|
3177
|
+
export interface ReferralRequirements {
|
|
3178
|
+
/**
|
|
3179
|
+
* Flag indicating if achieving points is required.
|
|
3180
|
+
*/
|
|
3181
|
+
achievePoints?: boolean | null;
|
|
3182
|
+
|
|
3183
|
+
/**
|
|
3184
|
+
* Flag indicating if completing the profile is required.
|
|
3185
|
+
*/
|
|
3186
|
+
completeProfile?: boolean | null;
|
|
3187
|
+
|
|
3188
|
+
/**
|
|
3189
|
+
* Flag indicating if connecting Discord is required.
|
|
3190
|
+
*/
|
|
3191
|
+
connectDiscord?: boolean | null;
|
|
3192
|
+
|
|
3193
|
+
/**
|
|
3194
|
+
* Flag indicating if connecting email is required.
|
|
3195
|
+
*/
|
|
3196
|
+
connectEmail?: boolean | null;
|
|
3197
|
+
|
|
3198
|
+
/**
|
|
3199
|
+
* Flag indicating if connecting Twitter is required.
|
|
3200
|
+
*/
|
|
3201
|
+
connectTwitter?: boolean | null;
|
|
3202
|
+
|
|
3203
|
+
points?: ReferralRequirements.Points | null;
|
|
3204
|
+
}
|
|
3205
|
+
|
|
3206
|
+
export namespace ReferralRequirements {
|
|
3207
|
+
export interface Points {
|
|
3208
|
+
/**
|
|
3209
|
+
* Points required for referral.
|
|
3210
|
+
*/
|
|
3211
|
+
amount?: number | null;
|
|
3212
|
+
|
|
3213
|
+
/**
|
|
3214
|
+
* ID of the loyalty currency for referral.
|
|
3215
|
+
*/
|
|
3216
|
+
loyaltyCurrecyId?: string | null;
|
|
3217
|
+
}
|
|
3218
|
+
}
|
|
3219
|
+
|
|
3220
|
+
/**
|
|
3221
|
+
* Object containing details of the associated smart contract.
|
|
3222
|
+
*/
|
|
3223
|
+
export interface SmartContract {
|
|
3224
|
+
/**
|
|
3225
|
+
* Mapping of addresses for the smart contract.
|
|
3226
|
+
*/
|
|
3227
|
+
addressMapping?: string | null;
|
|
3228
|
+
|
|
3229
|
+
/**
|
|
3230
|
+
* Object containing details of the amount multiplier from the event.
|
|
3231
|
+
*/
|
|
3232
|
+
amountMultiplier?: SmartContract.AmountMultiplier | null;
|
|
3233
|
+
|
|
3234
|
+
/**
|
|
3235
|
+
* ID of the smart contract.
|
|
3236
|
+
*/
|
|
3237
|
+
contractId?: string | null;
|
|
3238
|
+
|
|
3239
|
+
/**
|
|
3240
|
+
* Criteria to evaluate the smart contract event.
|
|
3241
|
+
*/
|
|
3242
|
+
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
3243
|
+
|
|
3244
|
+
/**
|
|
3245
|
+
* Event emitted by the smart contract.
|
|
3246
|
+
*/
|
|
3247
|
+
event?: string | null;
|
|
3248
|
+
|
|
3249
|
+
/**
|
|
3250
|
+
* Array of parameters for the smart contract.
|
|
3251
|
+
*/
|
|
3252
|
+
params?: Array<SmartContract.Param> | null;
|
|
3253
|
+
|
|
3254
|
+
/**
|
|
3255
|
+
* Type of the smart contract interaction.
|
|
3256
|
+
*/
|
|
3257
|
+
type?: 'function' | 'event' | null;
|
|
3258
|
+
}
|
|
3259
|
+
|
|
3260
|
+
export namespace SmartContract {
|
|
3261
|
+
/**
|
|
3262
|
+
* Object containing details of the amount multiplier from the event.
|
|
3263
|
+
*/
|
|
3264
|
+
export interface AmountMultiplier {
|
|
3265
|
+
/**
|
|
3266
|
+
* Mapping of the value for the smart contract.
|
|
3267
|
+
*/
|
|
3268
|
+
valueMapping?: string | null;
|
|
3269
|
+
}
|
|
3270
|
+
|
|
3271
|
+
export interface Param {
|
|
3272
|
+
/**
|
|
3273
|
+
* Condition to check for the parameter.
|
|
3274
|
+
*/
|
|
3275
|
+
condition?: string | null;
|
|
3276
|
+
|
|
3277
|
+
/**
|
|
3278
|
+
* Name of the smart contract parameter.
|
|
3279
|
+
*/
|
|
3280
|
+
name?: string | null;
|
|
3281
|
+
|
|
3282
|
+
/**
|
|
3283
|
+
* Value of the parameter.
|
|
3284
|
+
*/
|
|
3285
|
+
value?: string | null;
|
|
3286
|
+
}
|
|
3287
|
+
}
|
|
3288
|
+
|
|
3289
|
+
export interface SnapshotProposal {
|
|
3290
|
+
/**
|
|
3291
|
+
* ID of the snapshot proposal.
|
|
3292
|
+
*/
|
|
3293
|
+
id: string;
|
|
3294
|
+
|
|
3295
|
+
/**
|
|
3296
|
+
* Space associated with the snapshot proposal.
|
|
3297
|
+
*/
|
|
3298
|
+
space: string;
|
|
3299
|
+
}
|
|
3300
|
+
|
|
3301
|
+
export interface StreakArray {
|
|
3302
|
+
/**
|
|
3303
|
+
* Reward amount for achieving the streak milestone.
|
|
3304
|
+
*/
|
|
3305
|
+
streakAmount: number;
|
|
3306
|
+
|
|
3307
|
+
/**
|
|
3308
|
+
* Milestone required to achieve the streak.
|
|
3309
|
+
*/
|
|
3310
|
+
streakMilestone: number;
|
|
3311
|
+
}
|
|
3312
|
+
|
|
3313
|
+
/**
|
|
3314
|
+
* Metadata for swap loyalty rules
|
|
3315
|
+
*/
|
|
3316
|
+
export interface Swap {
|
|
3317
|
+
from?: Swap.From;
|
|
3318
|
+
|
|
3319
|
+
provider?: 'any' | 'relay' | 'lifi';
|
|
3320
|
+
|
|
3321
|
+
relayReferrerId?: string;
|
|
3322
|
+
|
|
3323
|
+
requireCrossChainSwap?: boolean;
|
|
3324
|
+
|
|
3325
|
+
to?: Swap.To;
|
|
3326
|
+
}
|
|
3327
|
+
|
|
3328
|
+
export namespace Swap {
|
|
3329
|
+
export interface From {
|
|
3330
|
+
chain?: 'any' | number | string;
|
|
3331
|
+
|
|
3332
|
+
mode?: 'any' | 'specific';
|
|
3333
|
+
|
|
3334
|
+
tokens?: Array<From.Token>;
|
|
3335
|
+
|
|
3336
|
+
trackAmount?: boolean;
|
|
3337
|
+
}
|
|
3338
|
+
|
|
3339
|
+
export namespace From {
|
|
3340
|
+
export interface Token {
|
|
3341
|
+
address: string;
|
|
3342
|
+
|
|
3343
|
+
chainId: string;
|
|
3344
|
+
}
|
|
3345
|
+
}
|
|
3346
|
+
|
|
3347
|
+
export interface To {
|
|
3348
|
+
chain?: 'any' | number | string;
|
|
3349
|
+
|
|
3350
|
+
mode?: 'any' | 'specific';
|
|
3351
|
+
|
|
3352
|
+
tokens?: Array<To.Token>;
|
|
3353
|
+
|
|
3354
|
+
trackAmount?: boolean;
|
|
3355
|
+
}
|
|
3356
|
+
|
|
3357
|
+
export namespace To {
|
|
3358
|
+
export interface Token {
|
|
3359
|
+
address: string;
|
|
3360
|
+
|
|
3361
|
+
chainId: string;
|
|
3362
|
+
}
|
|
3363
|
+
}
|
|
3364
|
+
}
|
|
3365
|
+
}
|
|
3366
|
+
}
|
|
3367
|
+
|
|
3368
|
+
/**
|
|
3369
|
+
* Previous data of the rule before the edit
|
|
3370
|
+
*/
|
|
3371
|
+
export interface PreviousData {
|
|
3372
|
+
/**
|
|
3373
|
+
* Unique identifier for the loyalty rule
|
|
3374
|
+
*/
|
|
3375
|
+
id: string;
|
|
3376
|
+
|
|
3377
|
+
/**
|
|
3378
|
+
* Amount associated with the loyalty rule
|
|
3379
|
+
*/
|
|
3380
|
+
amount: number | null;
|
|
3381
|
+
|
|
3382
|
+
/**
|
|
3383
|
+
* Timestamp when the loyalty rule was created
|
|
3384
|
+
*/
|
|
3385
|
+
createdAt: string;
|
|
3386
|
+
|
|
3387
|
+
/**
|
|
3388
|
+
* Timestamp when the loyalty rule was deleted (if applicable)
|
|
3389
|
+
*/
|
|
3390
|
+
deletedAt: string | null;
|
|
3391
|
+
|
|
3392
|
+
/**
|
|
3393
|
+
* Description of the loyalty rule
|
|
3394
|
+
*/
|
|
3395
|
+
description: string;
|
|
3396
|
+
|
|
3397
|
+
/**
|
|
3398
|
+
* End time of the loyalty rule
|
|
3399
|
+
*/
|
|
3400
|
+
endTime: string | null;
|
|
3401
|
+
|
|
3402
|
+
/**
|
|
3403
|
+
* Frequency of the loyalty rule
|
|
3404
|
+
*/
|
|
3405
|
+
frequency: string;
|
|
3406
|
+
|
|
3407
|
+
/**
|
|
3408
|
+
* Name of the loyalty rule
|
|
3409
|
+
*/
|
|
3410
|
+
name: string;
|
|
3411
|
+
|
|
3412
|
+
/**
|
|
3413
|
+
* Unique identifier for the organization
|
|
3414
|
+
*/
|
|
3415
|
+
organizationId: string;
|
|
3416
|
+
|
|
3417
|
+
/**
|
|
3418
|
+
* Type of the reward
|
|
3419
|
+
*/
|
|
3420
|
+
rewardType: 'points' | 'multiplier' | 'badge';
|
|
3421
|
+
|
|
3422
|
+
/**
|
|
3423
|
+
* Start time of the loyalty rule
|
|
3424
|
+
*/
|
|
3425
|
+
startTime: string | null;
|
|
3426
|
+
|
|
3427
|
+
/**
|
|
3428
|
+
* Type of the loyalty rule
|
|
3429
|
+
*/
|
|
3430
|
+
type: string;
|
|
3431
|
+
|
|
3432
|
+
/**
|
|
3433
|
+
* Timestamp when the loyalty rule was last updated
|
|
3434
|
+
*/
|
|
3435
|
+
updatedAt: string;
|
|
3436
|
+
|
|
3437
|
+
/**
|
|
3438
|
+
* Unique identifier for the website
|
|
3439
|
+
*/
|
|
3440
|
+
websiteId: string;
|
|
3441
|
+
|
|
3442
|
+
/**
|
|
3443
|
+
* Optional address of the collection
|
|
3444
|
+
*/
|
|
3445
|
+
collectionAddress?: string;
|
|
3446
|
+
|
|
3447
|
+
/**
|
|
3448
|
+
* URL of the media associated with the loyalty rule
|
|
3449
|
+
*/
|
|
3450
|
+
mediaUrl?: string | null;
|
|
3451
|
+
|
|
3452
|
+
/**
|
|
3453
|
+
* Optional metadata for the loyalty rule
|
|
3454
|
+
*/
|
|
3455
|
+
metadata?: { [key: string]: PreviousData.Metadata };
|
|
3456
|
+
}
|
|
3457
|
+
|
|
3458
|
+
export namespace PreviousData {
|
|
3459
|
+
export interface Metadata {
|
|
3460
|
+
/**
|
|
3461
|
+
* Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code
|
|
3462
|
+
* only.
|
|
3463
|
+
*/
|
|
3464
|
+
allowMultipleRedemptions?: boolean;
|
|
3465
|
+
|
|
3466
|
+
/**
|
|
3467
|
+
* Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
|
|
3468
|
+
* any rule completions count as check-in.
|
|
3469
|
+
*/
|
|
3470
|
+
autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
|
|
3471
|
+
|
|
3472
|
+
/**
|
|
3473
|
+
* Number of tokens per batch.
|
|
3474
|
+
*/
|
|
3475
|
+
batchSize?: number | null;
|
|
3476
|
+
|
|
3477
|
+
/**
|
|
3478
|
+
* Text displayed on the action button.
|
|
3479
|
+
*/
|
|
3480
|
+
buttonText?: string | null;
|
|
3481
|
+
|
|
3482
|
+
/**
|
|
3483
|
+
* Flag indicating if commenting is required.
|
|
3484
|
+
*/
|
|
3485
|
+
checkComment?: boolean | null;
|
|
3486
|
+
|
|
3487
|
+
/**
|
|
3488
|
+
* Flag indicating if liking the post is required.
|
|
3489
|
+
*/
|
|
3490
|
+
checkLike?: boolean | null;
|
|
3491
|
+
|
|
3492
|
+
/**
|
|
3493
|
+
* Flag indicating if reposting is required.
|
|
3494
|
+
*/
|
|
3495
|
+
checkRepost?: boolean | null;
|
|
3496
|
+
|
|
3497
|
+
/**
|
|
3498
|
+
* Text to check in the Twitter post, username, or bio.
|
|
3499
|
+
*/
|
|
3500
|
+
checkText?: string | Array<string> | null;
|
|
3501
|
+
|
|
3502
|
+
/**
|
|
3503
|
+
* Array of collections associated with the rule.
|
|
3504
|
+
*/
|
|
3505
|
+
collection?: Array<Metadata.Collection>;
|
|
3506
|
+
|
|
3507
|
+
/**
|
|
3508
|
+
* Conditions for completing the profile.
|
|
3509
|
+
*/
|
|
3510
|
+
completeProfileConditions?: { [key: string]: boolean } | null;
|
|
3511
|
+
|
|
3512
|
+
/**
|
|
3513
|
+
* Description of the external rule condition (only for external rules)
|
|
3514
|
+
*/
|
|
3515
|
+
conditionDescription?: string;
|
|
3516
|
+
|
|
3517
|
+
/**
|
|
3518
|
+
* Object containing details for the call-to-action.
|
|
3519
|
+
*/
|
|
3520
|
+
cta?: Metadata.Cta | null;
|
|
3521
|
+
|
|
3522
|
+
/**
|
|
3523
|
+
* API key for custom rewards integration.
|
|
3524
|
+
*/
|
|
3525
|
+
customRewardsApiKey?: string;
|
|
3526
|
+
|
|
3527
|
+
/**
|
|
3528
|
+
* Flag indicating if the rule should use direct RPC to get the balance of tokens.
|
|
3529
|
+
*/
|
|
3530
|
+
directRpc?: boolean;
|
|
3531
|
+
|
|
3532
|
+
/**
|
|
3533
|
+
* Array of Discord servers, channels, and roles to join.
|
|
3534
|
+
*/
|
|
3535
|
+
discordServersToJoin?: Array<Metadata.DiscordServersToJoin> | null;
|
|
3536
|
+
|
|
3537
|
+
/**
|
|
3538
|
+
* Array of drip quests required to complete the rule.
|
|
3539
|
+
*/
|
|
3540
|
+
dripQuestsToComplete?: Array<Metadata.DripQuestsToComplete> | null;
|
|
3541
|
+
|
|
3542
|
+
/**
|
|
3543
|
+
* Flag indicating whether joining Discord servers is required.
|
|
3544
|
+
*/
|
|
3545
|
+
enableJoinDiscordServers?: boolean | null;
|
|
3546
|
+
|
|
3547
|
+
/**
|
|
3548
|
+
* Flag indicating whether streaks are enabled.
|
|
3549
|
+
*/
|
|
3550
|
+
enableStreaks?: boolean | null;
|
|
3551
|
+
|
|
3552
|
+
/**
|
|
3553
|
+
* Flag indicating whether the verified multiplier is enabled.
|
|
3554
|
+
*/
|
|
3555
|
+
enableVerifiedMultiplier?: boolean;
|
|
3556
|
+
|
|
3557
|
+
/**
|
|
3558
|
+
* Type of ERC20 token for the loyalty rule.
|
|
3559
|
+
*/
|
|
3560
|
+
erc20Type?: 'erc20' | 'native';
|
|
3561
|
+
|
|
3562
|
+
/**
|
|
3563
|
+
* Fill source of the order for the token sale
|
|
3564
|
+
*/
|
|
3565
|
+
fillSource?: string;
|
|
3566
|
+
|
|
3567
|
+
/**
|
|
3568
|
+
* Percentage reward given to a user for their first referral.
|
|
3569
|
+
*/
|
|
3570
|
+
firstReferralReward?: number | null;
|
|
3571
|
+
|
|
3572
|
+
/**
|
|
3573
|
+
* Name of the GitHub branch to check for PR merge.
|
|
3574
|
+
*/
|
|
3575
|
+
githubBranchName?: string | null;
|
|
3576
|
+
|
|
3577
|
+
/**
|
|
3578
|
+
* URL of the GitHub repository to check for star.
|
|
3579
|
+
*/
|
|
3580
|
+
githubRepoUrl?: string | null;
|
|
3581
|
+
|
|
3582
|
+
/**
|
|
3583
|
+
* Flag indicating whether the fill source is included.
|
|
3584
|
+
*/
|
|
3585
|
+
hasFillSource?: boolean;
|
|
3586
|
+
|
|
3587
|
+
/**
|
|
3588
|
+
* Indicates if the item has never been sold.
|
|
3589
|
+
*/
|
|
3590
|
+
hasNeverSold?: boolean;
|
|
3591
|
+
|
|
3592
|
+
/**
|
|
3593
|
+
* Indicates if the full royalty has been paid for items.
|
|
3594
|
+
*/
|
|
3595
|
+
hasPaidFullRoyalty?: boolean;
|
|
3596
|
+
|
|
3597
|
+
/**
|
|
3598
|
+
* Flag indicating if the sale currency is included.
|
|
3599
|
+
*/
|
|
3600
|
+
hasSaleCurrency?: boolean;
|
|
3601
|
+
|
|
3602
|
+
/**
|
|
3603
|
+
* Indicates if the user has a verified Twitter account.
|
|
3604
|
+
*/
|
|
3605
|
+
hasVerifiedTwitter?: boolean;
|
|
3606
|
+
|
|
3607
|
+
/**
|
|
3608
|
+
* URL of the image associated with the rule.
|
|
3609
|
+
*/
|
|
3610
|
+
imageUrl?: string | null;
|
|
3611
|
+
|
|
3612
|
+
/**
|
|
3613
|
+
* If enabled, the first transaction done on the platform will complete this rule
|
|
3614
|
+
*/
|
|
3615
|
+
isCheckInOnEveryTxn?: boolean;
|
|
3616
|
+
|
|
3617
|
+
/**
|
|
3618
|
+
* Indicates if the multiplier has been applied to rewards.
|
|
3619
|
+
*/
|
|
3620
|
+
isMultiplierApplied?: boolean;
|
|
3621
|
+
|
|
3622
|
+
/**
|
|
3623
|
+
* Flag indicating if the rule is restricted to new users.
|
|
3624
|
+
*/
|
|
3625
|
+
isRestrictedToNewUsers?: boolean;
|
|
3626
|
+
|
|
3627
|
+
/**
|
|
3628
|
+
* Flag indicating if rewards are applied retroactively.
|
|
3629
|
+
*/
|
|
3630
|
+
isRetroactive?: boolean | null;
|
|
3631
|
+
|
|
3632
|
+
/**
|
|
3633
|
+
* Flag indicating if the token hold multiplier is applied.
|
|
3634
|
+
*/
|
|
3635
|
+
isTokenHoldMultiplier?: boolean;
|
|
3636
|
+
|
|
3637
|
+
/**
|
|
3638
|
+
* Optional link associated with the metadata.
|
|
3639
|
+
*/
|
|
3640
|
+
link?: string | null;
|
|
3641
|
+
|
|
3642
|
+
/**
|
|
3643
|
+
* Liquidity pool details.
|
|
3644
|
+
*/
|
|
3645
|
+
liquidity?: Metadata.Liquidity;
|
|
3646
|
+
|
|
3647
|
+
/**
|
|
3648
|
+
* Maximum quantity constraint for token holding.
|
|
3649
|
+
*/
|
|
3650
|
+
maxQty?: number | null;
|
|
3651
|
+
|
|
3652
|
+
/**
|
|
3653
|
+
* Minimum follower count for the rule. Accepts both number and string values.
|
|
3654
|
+
*/
|
|
3655
|
+
minimumFollowerCount?: number | null;
|
|
3656
|
+
|
|
3657
|
+
/**
|
|
3658
|
+
* Minimum quantity constraint for token holding.
|
|
3659
|
+
*/
|
|
3660
|
+
minQty?: number | null;
|
|
3661
|
+
|
|
3662
|
+
/**
|
|
3663
|
+
* Array of loyalty currency IDs used for multipliers.
|
|
3664
|
+
*/
|
|
3665
|
+
multiplierLoyaltyCurrencyIds?: Array<string> | null;
|
|
3666
|
+
|
|
3667
|
+
/**
|
|
3668
|
+
* Flag indicating whether to include only known users.
|
|
3669
|
+
*/
|
|
3670
|
+
onlyKnownUsers?: boolean;
|
|
3671
|
+
|
|
3672
|
+
/**
|
|
3673
|
+
* Flag indicating whether to include only native tokens.
|
|
3674
|
+
*/
|
|
3675
|
+
onlyNative?: boolean;
|
|
3676
|
+
|
|
3677
|
+
/**
|
|
3678
|
+
* Flag indicating whether to include only non-listed items.
|
|
3679
|
+
*/
|
|
3680
|
+
onlyNonListed?: boolean;
|
|
3681
|
+
|
|
3682
|
+
/**
|
|
3683
|
+
* Indicates if only existing users are rewarded.
|
|
3684
|
+
*/
|
|
3685
|
+
onlyRewardExistingUser?: boolean;
|
|
3686
|
+
|
|
3687
|
+
/**
|
|
3688
|
+
* give points for only one token ownership per contract
|
|
3689
|
+
*/
|
|
3690
|
+
onlyRewardSingleTokenOwnership?: boolean | null;
|
|
3691
|
+
|
|
3692
|
+
/**
|
|
3693
|
+
* Pre-generated text template that will be used to prefill the post content.
|
|
3694
|
+
*/
|
|
3695
|
+
preGeneratedPostText?: string | null;
|
|
3696
|
+
|
|
3697
|
+
/**
|
|
3698
|
+
* Promotional code associated with the rule.
|
|
3699
|
+
*/
|
|
3700
|
+
promoCode?: string;
|
|
3701
|
+
|
|
3702
|
+
/**
|
|
3703
|
+
* URL of the CSV file containing promo codes.
|
|
3704
|
+
*/
|
|
3705
|
+
promoCodeCsvUrl?: string;
|
|
3706
|
+
|
|
3707
|
+
/**
|
|
3708
|
+
* Numbers of the promotional code to be generated.
|
|
3709
|
+
*/
|
|
3710
|
+
promoCodeLength?: number | null;
|
|
3711
|
+
|
|
3712
|
+
/**
|
|
3713
|
+
* Type of the promotional code.
|
|
3714
|
+
*/
|
|
3715
|
+
promoCodeType?: 'code' | 'csv' | 'generate';
|
|
3716
|
+
|
|
3717
|
+
/**
|
|
3718
|
+
* Array defining ranges and corresponding rewards.
|
|
3719
|
+
*/
|
|
3720
|
+
range?: Array<Metadata.Range>;
|
|
3721
|
+
|
|
3722
|
+
/**
|
|
3723
|
+
* ID of the Reddit post.
|
|
3724
|
+
*/
|
|
3725
|
+
redditPostId?: string | null;
|
|
3726
|
+
|
|
3727
|
+
/**
|
|
3728
|
+
* Object defining referral requirements.
|
|
3729
|
+
*/
|
|
3730
|
+
referralRequirements?: Metadata.ReferralRequirements | null;
|
|
3731
|
+
|
|
3732
|
+
/**
|
|
3733
|
+
* Lump sum reward given to a referrer.
|
|
3734
|
+
*/
|
|
3735
|
+
referrerReward?: number | null;
|
|
3736
|
+
|
|
3737
|
+
/**
|
|
3738
|
+
* Loyalty currency ID of the referrer reward.
|
|
3739
|
+
*/
|
|
3740
|
+
referrerRewardLoyaltyCurrencyId?: string | null;
|
|
3741
|
+
|
|
3742
|
+
/**
|
|
3743
|
+
* Flag indicating if the post link is required.
|
|
3744
|
+
*/
|
|
3745
|
+
requirePostLink?: boolean | null;
|
|
3746
|
+
|
|
3747
|
+
/**
|
|
3748
|
+
* Flag indicating if media metadata is required.
|
|
3749
|
+
*/
|
|
3750
|
+
requirePostMediaLink?: boolean | null;
|
|
3751
|
+
|
|
3752
|
+
/**
|
|
3753
|
+
* If enabled, the progress tracking row will be deleted after a successful claim,
|
|
3754
|
+
* allowing the user to re-earn the rule.
|
|
3755
|
+
*/
|
|
3756
|
+
resetProgressOnClaim?: boolean | null;
|
|
3757
|
+
|
|
3758
|
+
/**
|
|
3759
|
+
* Flag indicating if the rule can also reward badges per range.
|
|
3760
|
+
*/
|
|
3761
|
+
rewardBadgePerRange?: boolean;
|
|
3762
|
+
|
|
3763
|
+
/**
|
|
3764
|
+
* Flag indicating if the reward is rewarded by batch.
|
|
3765
|
+
*/
|
|
3766
|
+
rewardByBatch?: boolean | null;
|
|
3767
|
+
|
|
3768
|
+
/**
|
|
3769
|
+
* Criteria to evaluate the reward.
|
|
3770
|
+
*/
|
|
3771
|
+
rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
|
|
3772
|
+
|
|
3773
|
+
/**
|
|
3774
|
+
* Flag indicating if the reward is rewarded per action.
|
|
3775
|
+
*/
|
|
3776
|
+
rewardPerAction?: boolean | null;
|
|
3777
|
+
|
|
3778
|
+
/**
|
|
3779
|
+
* Flag indicating if rewards are given per impression.
|
|
3780
|
+
*/
|
|
3781
|
+
rewardPerImpression?: boolean | null;
|
|
3782
|
+
|
|
3783
|
+
/**
|
|
3784
|
+
* Flag indicating if the rule should reward based on value of traded tokens
|
|
3785
|
+
* instead of count.
|
|
3786
|
+
*/
|
|
3787
|
+
rewardPerValue?: boolean;
|
|
3788
|
+
|
|
3789
|
+
/**
|
|
3790
|
+
* Flag indicating if the rule should reward quality posts.
|
|
3791
|
+
*/
|
|
3792
|
+
rewardQualityPosts?: boolean;
|
|
3793
|
+
|
|
3794
|
+
robinhoodSymbols?: Array<string> | null;
|
|
3795
|
+
|
|
3796
|
+
/**
|
|
3797
|
+
* Wallet address of the user can only be used if userId is not provided
|
|
3798
|
+
*/
|
|
3799
|
+
royaltyAddress?: string;
|
|
3800
|
+
|
|
3801
|
+
/**
|
|
3802
|
+
* Royalty percentage of the item.
|
|
3803
|
+
*/
|
|
3804
|
+
royaltyPercentage?: number;
|
|
3805
|
+
|
|
3806
|
+
/**
|
|
3807
|
+
* Currency associated with sales.
|
|
3808
|
+
*/
|
|
3809
|
+
saleCurrency?: string;
|
|
3810
|
+
|
|
3811
|
+
/**
|
|
3812
|
+
* Percentage reward given for a second-level referral.
|
|
3813
|
+
*/
|
|
3814
|
+
secondReferralReward?: number | null;
|
|
3815
|
+
|
|
3816
|
+
/**
|
|
3817
|
+
* Flag indicating if the multiplier is skipped.
|
|
3818
|
+
*/
|
|
3819
|
+
skipMultiplier?: boolean | null;
|
|
3820
|
+
|
|
3821
|
+
/**
|
|
3822
|
+
* Object containing details of the associated smart contract.
|
|
3823
|
+
*/
|
|
3824
|
+
smartContract?: Metadata.SmartContract;
|
|
3825
|
+
|
|
3826
|
+
/**
|
|
3827
|
+
* Array of snapshot proposals for the rule.
|
|
3828
|
+
*/
|
|
3829
|
+
snapshotProposals?: Array<Metadata.SnapshotProposal> | null;
|
|
3830
|
+
|
|
3831
|
+
/**
|
|
3832
|
+
* Social media platform associated with the rule.
|
|
3833
|
+
*/
|
|
3834
|
+
socialPlatform?:
|
|
3835
|
+
| 'Custom'
|
|
3836
|
+
| 'Discord'
|
|
3837
|
+
| 'EpicGames'
|
|
3838
|
+
| 'Instagram'
|
|
3839
|
+
| 'Steam'
|
|
3840
|
+
| 'Telegram'
|
|
3841
|
+
| 'TikTok'
|
|
3842
|
+
| 'Twitch'
|
|
3843
|
+
| 'X(Twitter)'
|
|
3844
|
+
| 'YouTube'
|
|
3845
|
+
| 'Google'
|
|
3846
|
+
| 'GitHub'
|
|
3847
|
+
| 'Reddit'
|
|
3848
|
+
| null;
|
|
3849
|
+
|
|
3850
|
+
/**
|
|
3851
|
+
* URL of the social platform's logo.
|
|
3852
|
+
*/
|
|
3853
|
+
socialPlatformLogo?: string | null;
|
|
3854
|
+
|
|
3855
|
+
/**
|
|
3856
|
+
* Name of the social platform.
|
|
3857
|
+
*/
|
|
3858
|
+
socialPlatformName?: string | null;
|
|
3859
|
+
|
|
3860
|
+
/**
|
|
3861
|
+
* ID of the Steam app.
|
|
3862
|
+
*/
|
|
3863
|
+
steamAppId?: string | null;
|
|
3864
|
+
|
|
3865
|
+
/**
|
|
3866
|
+
* Array of streak milestones and corresponding rewards.
|
|
3867
|
+
*/
|
|
3868
|
+
streakArray?: Array<Metadata.StreakArray> | null;
|
|
3869
|
+
|
|
3870
|
+
/**
|
|
3871
|
+
* Metadata for swap loyalty rules
|
|
3872
|
+
*/
|
|
3873
|
+
swap?: Metadata.Swap;
|
|
3874
|
+
|
|
3875
|
+
/**
|
|
3876
|
+
* ID of the Telegram channel.
|
|
3877
|
+
*/
|
|
3878
|
+
telegramChannelId?: string | null;
|
|
3879
|
+
|
|
3880
|
+
/**
|
|
3881
|
+
* Time delay in seconds to verify actions.
|
|
3882
|
+
*/
|
|
3883
|
+
timeDelayToVerifySeconds?: string | number | null;
|
|
3884
|
+
|
|
3885
|
+
/**
|
|
3886
|
+
* Flag indicating if all contracts are tracked.
|
|
3887
|
+
*/
|
|
3888
|
+
trackAllContracts?: boolean | null;
|
|
3889
|
+
|
|
3890
|
+
/**
|
|
3891
|
+
* Flag indicating if the progress is tracked. If enabled, the rule can only be
|
|
3892
|
+
* completed once the progress is 100%.
|
|
3893
|
+
*/
|
|
3894
|
+
trackProgress?: boolean | null;
|
|
3895
|
+
|
|
3896
|
+
/**
|
|
3897
|
+
* URL of the associated Twitter account.
|
|
3898
|
+
*/
|
|
3899
|
+
twitterAccountUrl?: string;
|
|
3900
|
+
|
|
3901
|
+
/**
|
|
3902
|
+
* Hashtag associated with the Twitter post.
|
|
3903
|
+
*/
|
|
3904
|
+
twitterHashtag?: string;
|
|
3905
|
+
|
|
3906
|
+
/**
|
|
3907
|
+
* URL of the associated Twitter post.
|
|
3908
|
+
*/
|
|
3909
|
+
twitterPostUrl?: string;
|
|
3910
|
+
|
|
3911
|
+
/**
|
|
3912
|
+
* Unique identifier of the Twitter user.
|
|
3913
|
+
*/
|
|
3914
|
+
twitterUserId?: string;
|
|
3915
|
+
|
|
3916
|
+
/**
|
|
3917
|
+
* Twitter username of the user.
|
|
3918
|
+
*/
|
|
3919
|
+
twitterUsername?: string;
|
|
3920
|
+
|
|
3921
|
+
/**
|
|
3922
|
+
* Minimum length of the verification text.
|
|
3923
|
+
*/
|
|
3924
|
+
verificationTextMinimumLength?: number | null;
|
|
3925
|
+
|
|
3926
|
+
/**
|
|
3927
|
+
* Multiplier applied to rewards for verified users.
|
|
3928
|
+
*/
|
|
3929
|
+
verifiedMultiplier?: number | null;
|
|
3930
|
+
|
|
3931
|
+
/**
|
|
3932
|
+
* Placeholder text for verification input fields.
|
|
3933
|
+
*/
|
|
3934
|
+
verifyPlaceHolderText?: string | null;
|
|
3935
|
+
|
|
3936
|
+
/**
|
|
3937
|
+
* Type of wallet associated with the rule.
|
|
3938
|
+
*/
|
|
3939
|
+
walletType?:
|
|
3940
|
+
| 'evm'
|
|
3941
|
+
| 'solana'
|
|
3942
|
+
| 'imx'
|
|
3943
|
+
| 'sui'
|
|
3944
|
+
| 'ton'
|
|
3945
|
+
| 'cosmos'
|
|
3946
|
+
| 'ultra'
|
|
3947
|
+
| 'agw'
|
|
3948
|
+
| 'flow_cadence'
|
|
3949
|
+
| 'substrate'
|
|
3950
|
+
| null;
|
|
3951
|
+
|
|
3952
|
+
/**
|
|
3953
|
+
* ID of the Youtube channel.
|
|
3954
|
+
*/
|
|
3955
|
+
youtubeChannelId?: string | null;
|
|
3956
|
+
|
|
3957
|
+
/**
|
|
3958
|
+
* ID of the Youtube video.
|
|
3959
|
+
*/
|
|
3960
|
+
youtubeVideoId?: string | null;
|
|
3961
|
+
}
|
|
3962
|
+
|
|
3963
|
+
export namespace Metadata {
|
|
3964
|
+
export interface Collection {
|
|
3965
|
+
/**
|
|
3966
|
+
* Blockchain address of the collection.
|
|
3967
|
+
*/
|
|
3968
|
+
address?: string;
|
|
3969
|
+
|
|
3970
|
+
/**
|
|
3971
|
+
* Multiplier applied to the rewards for this collection.
|
|
3972
|
+
*/
|
|
3973
|
+
multiplier?: number;
|
|
3974
|
+
|
|
3975
|
+
/**
|
|
3976
|
+
* Blockchain network of the collection.
|
|
3977
|
+
*/
|
|
3978
|
+
network?:
|
|
3979
|
+
| 'abstract'
|
|
3980
|
+
| 'abstractTestnet'
|
|
3981
|
+
| 'apechain'
|
|
3982
|
+
| 'arbitrum'
|
|
3983
|
+
| 'avalanche'
|
|
3984
|
+
| 'avalancheFuji'
|
|
3985
|
+
| 'base'
|
|
3986
|
+
| 'baseSepolia'
|
|
3987
|
+
| 'berachain'
|
|
3988
|
+
| 'berachainArtio'
|
|
3989
|
+
| 'berachainBepolia'
|
|
3990
|
+
| 'binance'
|
|
3991
|
+
| 'bscTestnet'
|
|
3992
|
+
| 'campTestnet'
|
|
3993
|
+
| 'fantom'
|
|
3994
|
+
| 'fantomTestnet'
|
|
3995
|
+
| 'flowMainnet'
|
|
3996
|
+
| 'mainnet'
|
|
3997
|
+
| 'nexusTestnet'
|
|
3998
|
+
| 'optimism'
|
|
3999
|
+
| 'polygon'
|
|
4000
|
+
| 'polygon_mumbai'
|
|
4001
|
+
| 'skaleNebula'
|
|
4002
|
+
| 'skaleEuropa'
|
|
4003
|
+
| 'skaleCalypso'
|
|
4004
|
+
| 'solana'
|
|
4005
|
+
| 'sophon'
|
|
4006
|
+
| 'sophonTestnet'
|
|
4007
|
+
| 'sui'
|
|
4008
|
+
| 'superseed'
|
|
4009
|
+
| 'superseedSepolia'
|
|
4010
|
+
| 'vanar'
|
|
4011
|
+
| 'xai'
|
|
4012
|
+
| 'zksync'
|
|
4013
|
+
| 'coti'
|
|
4014
|
+
| 'cotiTestnet'
|
|
4015
|
+
| 'morph'
|
|
4016
|
+
| 'morphTestnet'
|
|
4017
|
+
| 'morphHolesky'
|
|
4018
|
+
| 'ultra'
|
|
4019
|
+
| 'ultraTestnet'
|
|
4020
|
+
| 'nitrograph'
|
|
4021
|
+
| 'sepolia'
|
|
4022
|
+
| 'optimism_sepolia'
|
|
4023
|
+
| 'arbitrumSepolia'
|
|
4024
|
+
| 'goerli'
|
|
4025
|
+
| 'optimism_goerli'
|
|
4026
|
+
| 'arbitrumGoerli'
|
|
4027
|
+
| 'basecamp'
|
|
4028
|
+
| 'somnia'
|
|
4029
|
+
| 'zkverify'
|
|
4030
|
+
| 'polkadot'
|
|
4031
|
+
| 'kusama'
|
|
4032
|
+
| 'horizen'
|
|
4033
|
+
| 'horizenTestnet'
|
|
4034
|
+
| 'flow_cadence';
|
|
4035
|
+
}
|
|
4036
|
+
|
|
4037
|
+
/**
|
|
4038
|
+
* Object containing details for the call-to-action.
|
|
4039
|
+
*/
|
|
4040
|
+
export interface Cta {
|
|
4041
|
+
/**
|
|
4042
|
+
* Link for the call-to-action.
|
|
4043
|
+
*/
|
|
4044
|
+
href?: string | null;
|
|
4045
|
+
|
|
4046
|
+
/**
|
|
4047
|
+
* Label for the call-to-action.
|
|
4048
|
+
*/
|
|
4049
|
+
label?: string | null;
|
|
4050
|
+
}
|
|
4051
|
+
|
|
4052
|
+
export interface DiscordServersToJoin {
|
|
4053
|
+
/**
|
|
4054
|
+
* ID of the Discord server to join.
|
|
4055
|
+
*/
|
|
4056
|
+
id?: string;
|
|
4057
|
+
|
|
4058
|
+
/**
|
|
4059
|
+
* Array of Discord channels to join.
|
|
4060
|
+
*/
|
|
4061
|
+
channels?: Array<DiscordServersToJoin.Channel>;
|
|
4062
|
+
|
|
4063
|
+
/**
|
|
4064
|
+
* Array of roles to assign in the Discord server.
|
|
4065
|
+
*/
|
|
4066
|
+
roles?: Array<DiscordServersToJoin.Role>;
|
|
4067
|
+
}
|
|
4068
|
+
|
|
4069
|
+
export namespace DiscordServersToJoin {
|
|
4070
|
+
export interface Channel {
|
|
4071
|
+
/**
|
|
4072
|
+
* ID of the Discord channel.
|
|
4073
|
+
*/
|
|
4074
|
+
id?: string;
|
|
4075
|
+
|
|
4076
|
+
/**
|
|
4077
|
+
* Array of emojis used in the channel.
|
|
4078
|
+
*/
|
|
4079
|
+
emojis?: Array<Channel.Emoji>;
|
|
4080
|
+
|
|
4081
|
+
/**
|
|
4082
|
+
* Phrase of text to be present in the discord message
|
|
4083
|
+
*/
|
|
4084
|
+
text?: string;
|
|
4085
|
+
}
|
|
4086
|
+
|
|
4087
|
+
export namespace Channel {
|
|
4088
|
+
export interface Emoji {
|
|
4089
|
+
/**
|
|
4090
|
+
* ID of the emoji used in the channel.
|
|
4091
|
+
*/
|
|
4092
|
+
id?: string;
|
|
4093
|
+
}
|
|
4094
|
+
}
|
|
4095
|
+
|
|
4096
|
+
export interface Role {
|
|
4097
|
+
/**
|
|
4098
|
+
* ID of the role in the Discord server.
|
|
4099
|
+
*/
|
|
4100
|
+
id: string;
|
|
4101
|
+
}
|
|
4102
|
+
}
|
|
4103
|
+
|
|
4104
|
+
export interface DripQuestsToComplete {
|
|
4105
|
+
/**
|
|
4106
|
+
* ID of the drip quest to complete.
|
|
4107
|
+
*/
|
|
4108
|
+
id: string;
|
|
4109
|
+
}
|
|
4110
|
+
|
|
4111
|
+
/**
|
|
4112
|
+
* Liquidity pool details.
|
|
4113
|
+
*/
|
|
4114
|
+
export interface Liquidity {
|
|
4115
|
+
/**
|
|
4116
|
+
* Calculation type of the liquidity pool.
|
|
4117
|
+
*/
|
|
4118
|
+
calculationType?: 'fixed' | 'custom';
|
|
4119
|
+
|
|
4120
|
+
/**
|
|
4121
|
+
* Custom function to calculate the the reward amount based on the liquidity
|
|
4122
|
+
* provided per day. X is the reward amount, Y is the liquidity provided per day in
|
|
4123
|
+
* USD.
|
|
4124
|
+
*/
|
|
4125
|
+
customFunction?: string;
|
|
4126
|
+
|
|
4127
|
+
/**
|
|
4128
|
+
* Liquidity provided per day in USD
|
|
4129
|
+
*/
|
|
4130
|
+
liquidityPerDay?: number;
|
|
4131
|
+
|
|
4132
|
+
/**
|
|
4133
|
+
* Blockchain network of the liquidity pool.
|
|
4134
|
+
*/
|
|
4135
|
+
network?:
|
|
4136
|
+
| 'abstract'
|
|
4137
|
+
| 'abstractTestnet'
|
|
4138
|
+
| 'apechain'
|
|
4139
|
+
| 'arbitrum'
|
|
4140
|
+
| 'avalanche'
|
|
4141
|
+
| 'avalancheFuji'
|
|
4142
|
+
| 'base'
|
|
4143
|
+
| 'baseSepolia'
|
|
4144
|
+
| 'berachain'
|
|
4145
|
+
| 'berachainArtio'
|
|
4146
|
+
| 'berachainBepolia'
|
|
4147
|
+
| 'binance'
|
|
4148
|
+
| 'bscTestnet'
|
|
4149
|
+
| 'campTestnet'
|
|
4150
|
+
| 'fantom'
|
|
4151
|
+
| 'fantomTestnet'
|
|
4152
|
+
| 'flowMainnet'
|
|
4153
|
+
| 'mainnet'
|
|
4154
|
+
| 'nexusTestnet'
|
|
4155
|
+
| 'optimism'
|
|
4156
|
+
| 'polygon'
|
|
4157
|
+
| 'polygon_mumbai'
|
|
4158
|
+
| 'skaleNebula'
|
|
4159
|
+
| 'skaleEuropa'
|
|
4160
|
+
| 'skaleCalypso'
|
|
4161
|
+
| 'solana'
|
|
4162
|
+
| 'sophon'
|
|
4163
|
+
| 'sophonTestnet'
|
|
4164
|
+
| 'sui'
|
|
4165
|
+
| 'superseed'
|
|
4166
|
+
| 'superseedSepolia'
|
|
4167
|
+
| 'vanar'
|
|
4168
|
+
| 'xai'
|
|
4169
|
+
| 'zksync'
|
|
4170
|
+
| 'coti'
|
|
4171
|
+
| 'cotiTestnet'
|
|
4172
|
+
| 'morph'
|
|
4173
|
+
| 'morphTestnet'
|
|
4174
|
+
| 'morphHolesky'
|
|
4175
|
+
| 'ultra'
|
|
4176
|
+
| 'ultraTestnet'
|
|
4177
|
+
| 'nitrograph'
|
|
4178
|
+
| 'sepolia'
|
|
4179
|
+
| 'optimism_sepolia'
|
|
4180
|
+
| 'arbitrumSepolia'
|
|
4181
|
+
| 'goerli'
|
|
4182
|
+
| 'optimism_goerli'
|
|
4183
|
+
| 'arbitrumGoerli'
|
|
4184
|
+
| 'basecamp'
|
|
4185
|
+
| 'somnia'
|
|
4186
|
+
| 'zkverify'
|
|
4187
|
+
| 'polkadot'
|
|
4188
|
+
| 'kusama'
|
|
4189
|
+
| 'horizen'
|
|
4190
|
+
| 'horizenTestnet'
|
|
4191
|
+
| 'flow_cadence';
|
|
4192
|
+
|
|
4193
|
+
/**
|
|
4194
|
+
* Indicates if only in-range liquidity is rewarded.
|
|
4195
|
+
*/
|
|
4196
|
+
onlyRewardInRangeLiquidity?: boolean;
|
|
4197
|
+
|
|
4198
|
+
/**
|
|
4199
|
+
* Array of liquidity pools associated with the rule.
|
|
4200
|
+
*/
|
|
4201
|
+
pools?: Array<Liquidity.Pool>;
|
|
4202
|
+
|
|
4203
|
+
/**
|
|
4204
|
+
* Protocol of the liquidity pool.
|
|
4205
|
+
*/
|
|
4206
|
+
protocol?: string;
|
|
4207
|
+
}
|
|
4208
|
+
|
|
4209
|
+
export namespace Liquidity {
|
|
4210
|
+
export interface Pool {
|
|
4211
|
+
/**
|
|
4212
|
+
* Unique identifier of the liquidity pool.
|
|
4213
|
+
*/
|
|
4214
|
+
id: string;
|
|
4215
|
+
}
|
|
4216
|
+
}
|
|
4217
|
+
|
|
4218
|
+
export interface Range {
|
|
4219
|
+
/**
|
|
4220
|
+
* Reward amount for this range.
|
|
4221
|
+
*/
|
|
4222
|
+
amount: number;
|
|
4223
|
+
|
|
4224
|
+
/**
|
|
4225
|
+
* End value of the range.
|
|
4226
|
+
*/
|
|
4227
|
+
endRange: number;
|
|
4228
|
+
|
|
4229
|
+
/**
|
|
4230
|
+
* Start value of the range.
|
|
4231
|
+
*/
|
|
4232
|
+
startRange: number;
|
|
4233
|
+
|
|
4234
|
+
/**
|
|
4235
|
+
* ID of the loyalty badge for this range.
|
|
4236
|
+
*/
|
|
4237
|
+
loyaltyBadgeId?: string;
|
|
4238
|
+
|
|
4239
|
+
/**
|
|
4240
|
+
* Amount of the loyalty multiplier for this range.
|
|
4241
|
+
*/
|
|
4242
|
+
loyaltyMultiplierAmount?: number;
|
|
4243
|
+
}
|
|
4244
|
+
|
|
4245
|
+
/**
|
|
4246
|
+
* Object defining referral requirements.
|
|
4247
|
+
*/
|
|
4248
|
+
export interface ReferralRequirements {
|
|
4249
|
+
/**
|
|
4250
|
+
* Flag indicating if achieving points is required.
|
|
4251
|
+
*/
|
|
4252
|
+
achievePoints?: boolean | null;
|
|
4253
|
+
|
|
4254
|
+
/**
|
|
4255
|
+
* Flag indicating if completing the profile is required.
|
|
4256
|
+
*/
|
|
4257
|
+
completeProfile?: boolean | null;
|
|
4258
|
+
|
|
4259
|
+
/**
|
|
4260
|
+
* Flag indicating if connecting Discord is required.
|
|
4261
|
+
*/
|
|
4262
|
+
connectDiscord?: boolean | null;
|
|
4263
|
+
|
|
4264
|
+
/**
|
|
4265
|
+
* Flag indicating if connecting email is required.
|
|
4266
|
+
*/
|
|
4267
|
+
connectEmail?: boolean | null;
|
|
4268
|
+
|
|
4269
|
+
/**
|
|
4270
|
+
* Flag indicating if connecting Twitter is required.
|
|
4271
|
+
*/
|
|
4272
|
+
connectTwitter?: boolean | null;
|
|
4273
|
+
|
|
4274
|
+
points?: ReferralRequirements.Points | null;
|
|
4275
|
+
}
|
|
4276
|
+
|
|
4277
|
+
export namespace ReferralRequirements {
|
|
4278
|
+
export interface Points {
|
|
4279
|
+
/**
|
|
4280
|
+
* Points required for referral.
|
|
4281
|
+
*/
|
|
4282
|
+
amount?: number | null;
|
|
4283
|
+
|
|
4284
|
+
/**
|
|
4285
|
+
* ID of the loyalty currency for referral.
|
|
4286
|
+
*/
|
|
4287
|
+
loyaltyCurrecyId?: string | null;
|
|
4288
|
+
}
|
|
4289
|
+
}
|
|
4290
|
+
|
|
4291
|
+
/**
|
|
4292
|
+
* Object containing details of the associated smart contract.
|
|
4293
|
+
*/
|
|
4294
|
+
export interface SmartContract {
|
|
4295
|
+
/**
|
|
4296
|
+
* Mapping of addresses for the smart contract.
|
|
4297
|
+
*/
|
|
4298
|
+
addressMapping?: string | null;
|
|
4299
|
+
|
|
4300
|
+
/**
|
|
4301
|
+
* Object containing details of the amount multiplier from the event.
|
|
4302
|
+
*/
|
|
4303
|
+
amountMultiplier?: SmartContract.AmountMultiplier | null;
|
|
4304
|
+
|
|
4305
|
+
/**
|
|
4306
|
+
* ID of the smart contract.
|
|
4307
|
+
*/
|
|
4308
|
+
contractId?: string | null;
|
|
4309
|
+
|
|
4310
|
+
/**
|
|
4311
|
+
* Criteria to evaluate the smart contract event.
|
|
4312
|
+
*/
|
|
4313
|
+
criteria?: 'everyEvent' | 'byParameter' | null;
|
|
4314
|
+
|
|
4315
|
+
/**
|
|
4316
|
+
* Event emitted by the smart contract.
|
|
4317
|
+
*/
|
|
4318
|
+
event?: string | null;
|
|
4319
|
+
|
|
4320
|
+
/**
|
|
4321
|
+
* Array of parameters for the smart contract.
|
|
4322
|
+
*/
|
|
4323
|
+
params?: Array<SmartContract.Param> | null;
|
|
4324
|
+
|
|
4325
|
+
/**
|
|
4326
|
+
* Type of the smart contract interaction.
|
|
4327
|
+
*/
|
|
4328
|
+
type?: 'function' | 'event' | null;
|
|
4329
|
+
}
|
|
4330
|
+
|
|
4331
|
+
export namespace SmartContract {
|
|
4332
|
+
/**
|
|
4333
|
+
* Object containing details of the amount multiplier from the event.
|
|
4334
|
+
*/
|
|
4335
|
+
export interface AmountMultiplier {
|
|
4336
|
+
/**
|
|
4337
|
+
* Mapping of the value for the smart contract.
|
|
4338
|
+
*/
|
|
4339
|
+
valueMapping?: string | null;
|
|
4340
|
+
}
|
|
4341
|
+
|
|
4342
|
+
export interface Param {
|
|
4343
|
+
/**
|
|
4344
|
+
* Condition to check for the parameter.
|
|
4345
|
+
*/
|
|
4346
|
+
condition?: string | null;
|
|
4347
|
+
|
|
4348
|
+
/**
|
|
4349
|
+
* Name of the smart contract parameter.
|
|
4350
|
+
*/
|
|
4351
|
+
name?: string | null;
|
|
4352
|
+
|
|
4353
|
+
/**
|
|
4354
|
+
* Value of the parameter.
|
|
4355
|
+
*/
|
|
4356
|
+
value?: string | null;
|
|
4357
|
+
}
|
|
4358
|
+
}
|
|
4359
|
+
|
|
4360
|
+
export interface SnapshotProposal {
|
|
4361
|
+
/**
|
|
4362
|
+
* ID of the snapshot proposal.
|
|
4363
|
+
*/
|
|
4364
|
+
id: string;
|
|
4365
|
+
|
|
4366
|
+
/**
|
|
4367
|
+
* Space associated with the snapshot proposal.
|
|
4368
|
+
*/
|
|
4369
|
+
space: string;
|
|
4370
|
+
}
|
|
4371
|
+
|
|
4372
|
+
export interface StreakArray {
|
|
4373
|
+
/**
|
|
4374
|
+
* Reward amount for achieving the streak milestone.
|
|
4375
|
+
*/
|
|
4376
|
+
streakAmount: number;
|
|
4377
|
+
|
|
4378
|
+
/**
|
|
4379
|
+
* Milestone required to achieve the streak.
|
|
4380
|
+
*/
|
|
4381
|
+
streakMilestone: number;
|
|
4382
|
+
}
|
|
4383
|
+
|
|
4384
|
+
/**
|
|
4385
|
+
* Metadata for swap loyalty rules
|
|
4386
|
+
*/
|
|
4387
|
+
export interface Swap {
|
|
4388
|
+
from?: Swap.From;
|
|
4389
|
+
|
|
4390
|
+
provider?: 'any' | 'relay' | 'lifi';
|
|
4391
|
+
|
|
4392
|
+
relayReferrerId?: string;
|
|
4393
|
+
|
|
4394
|
+
requireCrossChainSwap?: boolean;
|
|
4395
|
+
|
|
4396
|
+
to?: Swap.To;
|
|
4397
|
+
}
|
|
4398
|
+
|
|
4399
|
+
export namespace Swap {
|
|
4400
|
+
export interface From {
|
|
4401
|
+
chain?: 'any' | number | string;
|
|
4402
|
+
|
|
4403
|
+
mode?: 'any' | 'specific';
|
|
4404
|
+
|
|
4405
|
+
tokens?: Array<From.Token>;
|
|
4406
|
+
|
|
4407
|
+
trackAmount?: boolean;
|
|
4408
|
+
}
|
|
4409
|
+
|
|
4410
|
+
export namespace From {
|
|
4411
|
+
export interface Token {
|
|
4412
|
+
address: string;
|
|
4413
|
+
|
|
4414
|
+
chainId: string;
|
|
4415
|
+
}
|
|
4416
|
+
}
|
|
4417
|
+
|
|
4418
|
+
export interface To {
|
|
4419
|
+
chain?: 'any' | number | string;
|
|
4420
|
+
|
|
4421
|
+
mode?: 'any' | 'specific';
|
|
4422
|
+
|
|
4423
|
+
tokens?: Array<To.Token>;
|
|
4424
|
+
|
|
4425
|
+
trackAmount?: boolean;
|
|
4426
|
+
}
|
|
4427
|
+
|
|
4428
|
+
export namespace To {
|
|
4429
|
+
export interface Token {
|
|
4430
|
+
address: string;
|
|
4431
|
+
|
|
4432
|
+
chainId: string;
|
|
4433
|
+
}
|
|
4434
|
+
}
|
|
4435
|
+
}
|
|
4436
|
+
}
|
|
379
4437
|
}
|
|
380
4438
|
}
|
|
381
4439
|
|